Vocode agents can decide to take actions synchronously during calls. See Phrase Triggers for information on how to configure how these actions are triggered. 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.