Automation & API
AI features
Connect your own AI provider account to power automatic replies, and control what it can see and do.
AI configuration lives under its own Artificial Intelligence section in the dashboard sidebar, visible when your subscription includes it: API Keys and Plugins.
ai_reply nodes, and the moderation check
described on the API page — goes directly from your server to the provider
whose key you supplied. Nothing is routed through us, and no licence check is involved.
All AI features need is outbound internet access from your server to
that provider, and a working API key.
Setting up AI auto-reply
AI isn't its own auto-reply type in the UI — it's a match type on the same Auto-reply widget described on the SMS and WhatsApp pages (Tools → Actions). Selecting Artificial Intelligence as the match type swaps the keyword field for two selects: which AI key to use, and optionally one or more AI plugins to make available to it. Every other auto-reply setting — source (SMS device / WhatsApp account), Group Trigger, priority — behaves the same as a keyword-matched auto-reply.
Flows have the equivalent as a node instead of a match type — see Node
types on the Flow builder page for ai_reply.
Providers and models
An AI key (AI → API Keys → Add API Key) picks one provider and one of that provider's models — both are validated against a fixed list, so a model name that isn't on the list for its provider is rejected before the key is saved:
| Provider | Models |
|---|---|
openai | gpt-5, gpt-5-pro,
gpt-5-mini, gpt-5-nano (default), gpt-4.1,
gpt-4.1-mini, gpt-4.1-nano |
geminiai | gemini-2.5-pro,
gemini-2.5-flash, gemini-2.5-flash-lite (default) |
claudeai | claude-opus-4-1,
claude-opus-4-0, claude-sonnet-4-5,
claude-sonnet-4-0 |
grokai | grok-3, grok-3-mini —
neither supports vision |
deepseekai | deepseek-chat — doesn't support
vision |
The API key you enter on this form is your own key from that provider (e.g. an OpenAI secret key), not a Zender or Titan Systems credential — Zender forwards it on every call.
Prompts and conversation history
Each AI key has two prompt fields — an initial prompt (at least 5
characters, required) that sets the assistant's behavior, and an optional
post prompt appended after it — plus a numeric max
tokens and a history threshold (minimum 5,
defaults to 50 in the form) capping how many prior turns are kept per
conversation.
Conversation state is tracked per sender, computed the same way whether the message
arrived through auto-reply or through a flow's ai_reply node — so the
same phone number talking to the same AI key keeps one continuous conversation
thread regardless of which entry point handled it.
Vision and transcription
Two independent toggles on the AI key form, both off by default:
- Vision — lets the AI see image attachments sent alongside the
message. Not offered for
grokaiordeepseekaimodels, which don't support it. - Transcription — shown only for the
openaiprovider in the form (system-transcription-openai); lets the AI receive audio attachments as transcribed text.
Both are passed to aiConversation() as booleans (enabled when the stored
value is 1), and an attachment link — resolved from the inbound WhatsApp
message before the AI call — is only meaningful when the corresponding toggle is on.
AI plugins
Plugins are tool-calling schemas, not code you write for Zender itself. From AI → Plugins → Add Plugin you give a name, an optional callback endpoint URL, and a schema — a JSON document edited in-page, with a starting sample linked from the form. The only validation is that the schema is well-formed JSON; the shape of the tool definition itself isn't checked, so an invalid tool schema will save but may be rejected or ignored by the AI provider at call time.
A plugin becomes available to a request when it's attached — to an
Artificial Intelligence auto-reply via its AI Plugin(s)
multi-select, or to an action. Titan Systems' backend fetches the plugin schemas for
a given action, authenticated with your site's system token, just before it decides
whether to invoke one — it isn't something you call directly.