Vapi

Initiate Attended Transfer

Changed on

Park the inbound caller in a Twilio conference room with hold music, then kick off the screener-ask outbound call. Replaces the built-in Vapi transferCall used in Phase 0; eliminates the dial-tone gap because the caller's leg is moved into the conference directly via the live Twilio CallSid (no second outbound call to a parking number).

The screener-accept bridge step joins the same conference_name we pin here, so accept flow auto-bridges. Decline reconnect (Phase 3) reads the same row and reroutes the caller's leg.

Vapi custom tool. Expects arguments:

  • caller_name: str (required)
  • call_reason: str (required for unknown callers; optional for known contacts)
  • special_caller: bool (optional, default False)

Known-contact status is determined server-side via a strict E.164 phone-number lookup (see ScreeningService.lookup_known_contact); it is NOT a tool argument. Any is_known_contact arg the agent sends is ignored.

post/vapi/initiate-attended-transfer

Request

  • Base URL: https://api.openintake.ai (the document declares no server; this is the origin it was published from)
  • URL: https://api.openintake.ai/vapi/initiate-attended-transfer
  • Auth: HTTP bearer

Request body

Response

Successful Response

Changes

    • info

      added the new optional request property /

    • info

      added the new optional request property /