Skip to main content
Nixflex agents perform actions during calls — transfers, SMS, ending the call — by emitting special tags in the LLM’s response. The engine watches for these tags, strips them from what the caller hears, and runs the action. You don’t have to wire up function calling or webhooks for built-in actions. Just tell the agent to use the tag when appropriate.

How tags work

The LLM generates a normal reply. If the reply contains a tag, the engine intercepts it:
The LLM says: “Sure, I’ll transfer you to our manager now. [TRANSFER:+442087601234]” Caller hears: “Sure, I’ll transfer you to our manager now.” Engine action: Transfer to +442087601234 (cold or warm, per your dashboard setting).
The caller never hears the tag itself. It exists only as a signal between the LLM and the engine.
You control what the agent says. The tag only triggers the action. The sentence around it is whatever you tell the agent to say in your prompt. Want a specific line before it transfers? Write that line in your prompt, then the tag. The agent speaks your words; the engine runs the action.

Built-in tags

End call

[END_CALL] — gracefully end the conversation

Transfer

[TRANSFER:+number] — hand off to a human

Send SMS

[SEND_SMS: text] — text the caller mid-call

Wait

[WAIT] — pause the silence timer while the caller steps away
You do not have to use [END_CALL]. The agent already ends the call on its own when the conversation naturally finishes. Use [END_CALL] only when you want tighter control - for example, end right after a booking is confirmed, or keep the call going until something specific happens. Put the rule in your prompt and the agent follows it.

Telling the agent when to use them

Add an Actions section to your system prompt with one-line guidance for each tag you want the agent to use:
The agent will use the tags when the conversation calls for them — without you having to script every branch.

Multiple tags in one response

The agent can use more than one tag in a single reply. Common pattern after a booking:
“Perfect, you’re booked in for Tuesday at 2pm. I’ve just sent you a text with the details. [SEND_SMS: Your appointment with Acme Dental is confirmed for Tuesday 5th March at 2pm. Call us if anything changes.] Have a great day. [END_CALL]”
The engine processes them in order: send the SMS, then end the call.

Pausing while the caller steps away

Sometimes a caller needs a moment - to find a card, check a calendar, or ask someone. Normally the engine treats a long silence as a dropped line and eventually ends the call. The [WAIT] tag tells it the silence is expected, so it holds on instead. Tell the agent when to use it in your prompt:
When the agent emits [WAIT], the engine extends the silence timer for that turn. If the caller speaks, everything returns to normal instantly. If the wait runs out, the agent gently checks whether they are still there before ending politely. You set how long it waits in the agent’s Call Ending settings (default 30 seconds).

Beyond built-in actions

For anything more complex (looking up customer records, booking appointments, processing payments), the agent can call your own APIs during the conversation. See Cal.com for live booking, or the integrations section for connecting your own tools.