- Agent frameworks. Keep LiveKit or Pipecat in charge of transport, orchestration, the LLM, and tools while PyAI Hear and Speak provide the speech layer. These live in the Frameworks nav group (LiveKit, Pipecat).
- Outbound destinations. When a call completes (a Recap summary finishes, or AMD classifies the call), PyAI delivers it to your tools: Slack messages, Zapier triggers, CRM notes and activities, Zendesk tickets, or a Google Sheets row.
- Inbound call imports. Completed calls from your phone provider flow into PyAI for transcription and any Recap/Trace processing you enabled. JustCall is live; Aircall, Dialpad, Twilio, and RingCentral are in live certification.
Before you connect
An integration moves an existing product event; it does not create that event or silently enable paid processing.- Enable Recap before subscribing a destination to completed summaries.
- Enable Trace separately when an eligible call should receive a compliance scorecard.
- Configure AMD before subscribing to answering-machine decisions.
- Carry a stable
call_idand any CRM identifiers needed for matching. - Confirm the source key has the scopes required by Hear, Recap, Trace, or AMD.
Carry CRM identifiers into the call
Give every call the stable identifiers the destination will use for matching:- Omni: send your identifiers in
configure.meta(for example,meta.external_idor a CRM record id). - Hear async jobs: send
call_idandcrm_fields. - Manual Recap submission: send
crm_fieldsbeside the utterances. - Managed inbound imports: configure matching in the integration and confirm a real imported call resolves to the expected contact/account.
record.fields in Recap, agent-specific
post-call data capture, and destination matching
metadata are separate concepts. Name and store them separately so a CRM mapping
does not depend on parsing a summary.
Twilio: choose the job
Twilio appears in three guides because the jobs are different:What managed destinations and imports give you
- Signed delivery. Outbound deliveries carry an HMAC signature
(
X-PyAI-Signature) and a deterministicIdempotency-Key, so a retried delivery can never post twice downstream. - Retries with visible errors. A failing endpoint is retried with backoff (eight attempts over about twenty minutes). If it still fails, the exact error sits on the integration card in the console — never silently lost.
- Encrypted credentials. Tokens, secrets, and webhook URLs are encrypted at rest and masked on every read. They never appear in delivery payloads.
- A Test button. Every connection can deliver a sample before the first real call, so format and credentials are proven up front.
- Managed destinations. Their current treatment, along with Recap, AMD, Hear, and Speak usage, is listed on the pricing page. Your framework infrastructure and LLM remain separate.
Pick your guide
Agent frameworks
Outbound destinations
Inbound call imports
Debugging a delivery? Each guide ends with a troubleshooting section
covering the exact errors you can hit (rejected signatures, unshared
sheets, unmatched contacts, revoked tokens) and how to fix them.