Skip to main content
An agent’s functions are stored as entries in extensions.tools. To add an SMS function through the API, add the entry below to extensions.tools on Create Agent or Update Agent. These are the same entries the Telzino Dashboard writes when you add the function under Functions.
extensions is replaced whole. Read the agent with Get Agent, add your entry to the existing extensions.tools array, and send the whole extensions object back. If you send only the new entry, every other function on the agent is removed.

Which function to use

The agent decides when to text, who to text and what to say from the instructions you give it in the function. See Send SMS for writing them.

Rules for every entry

The API validates each entry in extensions.tools against a strict schema. A key it doesn’t recognise is rejected with 400. The schema marks every field as optional, but send the full entry as shown so the agent and both editors read it the same way.

Send SMS via Twilio

The agent texts through the organization’s Twilio connection. Set up the connection first in the Telzino Dashboard or the Connect App.
  • From number: a new or changed Send SMS entry needs a From number, either in from_number or in the agent’s integrations.twilio.fromNumber. If neither has one, the request is rejected with 400 and the message Send SMS needs a From number. Add one to the function, or remove the function. An entry that is already stored without a number is not re-checked when you send it back unchanged.
  • Twilio credentials can’t be set on an agent. Every agent in the organization uses the organization’s Twilio connection. See integrations on Update Agent.
  • Writing integrations.twilio through the API does not add this entry. Add it yourself.

Send SMS via hosted SMS

The agent texts from one of the organization’s hosted SMS numbers. Hosted SMS is set up by Telzino on request. See Send SMS.
  • from_number must be one of the organization’s hosted SMS numbers. A new or changed number is checked when you save, and an unowned number is rejected with 400.
  • If Hosted SMS is locked for the organization in Feature Administration, a request that adds this entry is refused with 403. Sending back, editing or removing an existing entry is still allowed.
  • To let the agent read the caller’s replies, also add check_hosted_sms_replies:

Send SMS via NetSapiens

The agent texts through NetSapiens, using the agent’s own SMS number as the sender. The agent needs the NetSapiens integration. See Send SMS (Voip UCAAS).
  • To read replies, add a second entry with the same shape, "name": "ns_check_sms_replies" and "friendlyName": "Check_Sms_Replies".
  • If SMS Messaging is locked for the organization in Feature Administration, a request that adds ns_send_sms or ns_check_sms_replies is refused with 403. Sending back or removing an existing entry is still allowed.

Notify

The Notify function sends a call summary at the end of the call. The Telzino Dashboard no longer offers Notify under Add function, but agents that already have it keep it, and the API still accepts the entry:
  • The recipients and conditions are written in plain language in the notification parameter, as described on Notify. The dashboard stores the url above as a placeholder.
  • Don’t give a Notify entry a name starting with ns_chat or NS_Chat, or a notification value containing "type": "ns_chat": those mark it as a NetSapiens Chat Notification instead.
To email a summary after every call, you don’t need a function: set email (and optionally sendRecordingLinkWithSummary) on Update Agent.

Example: add Send SMS via Twilio

  1. Read the agent:
  2. Copy extensions from the response, add the Send SMS entry to extensions.tools, and send it back:
    Replace the placeholder line with the agent’s real existing entries, and keep the other keys from extensions. MCP connections come back from Get Agent in their stored shape, so convert them to the request shape before sending them back. See Get Agent: Stored MCP Connection Shape.
  3. Read the agent again to confirm the entry was saved. The change appears in Change History.