Vocode agents can decide to take actions synchronously during calls. There are two ways to configure actions:

  1. Phrase Triggers
  2. Function Call Triggers (default)

See Action Triggers for information on how to configure triggers. Below is the list of actions that an agent can perform:

EndConversation

EndConversation allows the agent to end the call, e.g. if the user says “Goodbye!”

vocode_client.actions.create_action(
  request={
      "type": "action_end_conversation",
  }
)

DTMF

DTMF allows the agent to hit dial tones during a call, e.g. navigating a phone tree

vocode_client.actions.create_action(
  request={
      "type":"action_dtmf",
  }
)

TransferCall

TransferCall allows the agent to transfer the call to another phone number

vocode_client.actions.create_action(
  request={
      "type":"action_transfer_call",
      "config":{
          "phone_number":"11234567890"
      }
  }
)

You can attach these as IDs to your phone number agent as follows:

from vocode import AgentUpdateParams

vocode_client.numbers.update_number(
  phone_number="11234567890",
  inbound_agent=AgentUpdateParams(
      actions=["<ACTION UUID>"]
  )
)

You can also add these as actions as raw payloads as follows:

from vocode import AgentUpdateParams, TransferCallActionUpdateParams

vocode_client.numbers.update_number(
  phone_number="11234567890",
  inbound_agent=AgentUpdateParams(
      actions=[TransferCallActionUpdateParams(
          type="action_transfer_call",
          config={
              "phone_number":"11234567890"
          }
      )]
  )
)

[Beta] ExternalAction

ExternalAction allows your agent communicate with an External API and include the response as context in the conversation.

See External Actions.

[Beta] Warm Transfer

Allows your agent to conference in another party into the call.

See Warm Transfer.