Templates
Start a voice agent from a reusable configuration instead of a blank form, and save one of your own agents as a starting point for the next one.
A template is a voice agent's configuration with every reference to your organization's own resources (a workflow, an integration, a knowledge base) pulled out and replaced with a named requirement you bind when you create an agent from it. Everything else (the prompt, the channels, the voice, the model, the dispositions, the turn-taking and idle settings) travels as-is.
Templates come from two places: curated templates Tandem ships for common use cases, and your organization's own, saved from an agent you've already built. Both work the same way once you're creating an agent from one.
Start an agent from a template
Open the template picker
Select Automations → Agents in the left navigation, click Create Agent, and choose Use a Template. A list opens of the voice-agent templates available to you, each showing the template's name, description, and category.
Narrow the list
The search box above the list matches a template's name, description, and category.
Pick one and name your agent
Click a card to select it, then set a name for the new agent.
Fill in each requirement
Below the name, the template lists one picker per requirement it declares — a workflow picker for a requirement that needs a workflow, an integration picker for one that needs an integration, a knowledge-base picker for one that needs a knowledge base. A template saved from one of your organization's own agents records which of your resources each requirement came from, so its pickers open with that resource pre-selected; you can change it. A curated template carries no such record, so its pickers open empty.
A requirement marked optional can be left unbound. Doing so doesn't block creation — it drops the tool (or the knowledge base) that requirement fed, and the agent is created without it. Whatever was dropped is listed on the summary you land on after creating, so nothing goes missing quietly. A required requirement left unbound does block creation; it's listed so you know which picker still needs an answer.
Create the agent
Click Create Agent. If everything you picked is directly usable, the agent is created exactly as the template described. If something the template asked for isn't available to your organization — a model whose vendor integration isn't connected, an ElevenLabs voice without the ElevenLabs integration — you'll see a substitution notice naming what was swapped and why, and the agent is created with the substitute in place.
On a template whose Channels leave Voice off, a voice that had to change is dropped rather than replaced: a chat-only agent needs none. The notice says so.
The new agent opens in the editor like any other. Nothing about it is locked because it came from a template — edit it the same way you would an agent you built from scratch.
Save one of your own agents as a template
Any configured agent can become a template for the next one.
Start from the agent
On the Voice Agents list, find the agent you want to save and choose Save as Template from its row actions.
Name and categorize the template
The form opens with Template Name, Description, Category, and Tags. Name and Category are required — Save Template stays disabled until both are filled. The name is prefilled with the agent's own name followed by "template", so Category is usually the one you have to supply.
Review the free text
Below the metadata, under Review before sharing, the agent's free-text fields are shown back to you: the system prompt, the greeting, the returning-caller greeting, any steering rules, the description and instructions of any custom skill, the instructions behind each post-call analysis judgment and field, and the two lines from Timeouts & Limits the agent speaks on its own — the reprompt to a caller who's gone quiet, and the warning before a call hits its time limit. Read through them and edit anything that names your organization, a specific person, or anything else that wouldn't make sense — or shouldn't be seen — on someone else's agent.
Nothing here is redacted for you. If your prompt says "you work for Acme Corp" or a steering rule references an internal policy by name, it stays in the template exactly as written until you change it.
Confirm the requirements
Last on the form, under Requirements, every workflow, integration, MCP server, and knowledge base the agent used is listed as a requirement. A workflow or integration tool's requirement carries the name and description you gave that tool, so the next person knows what it's for. An MCP tool's requirement and a knowledge base's requirement get a generic label ("MCP tool server", "Knowledge base") instead, since neither one has a name of its own to carry forward. You don't need to do anything here unless you want to reword a label.
Save it
Click Save Template. It's added to your organization's own templates, alongside any curated ones.
What a template carries, and what it never does
A template saved from one of your own agents records, for each requirement, which of your resources the source agent used — that record is what makes its pickers open pre-selected, as described in "Fill in each requirement" above, and it stays within the organization that saved the template. A curated template Tandem ships records nothing of the kind, so its pickers always open empty. A template also carries the agent's Data Collection fields as you left them.
Beyond that, a template is safe to hand to anyone in your organization, because it never carries:
- A phone number. Numbers assigned to the source agent are dropped: they belong to the organization that owns them, and the agent created from the template starts with none. Assign numbers on the new agent's Phone Numbers card.
- An audio thinking cue. A thinking cue that plays one of your own uploaded sound files is dropped when you save a template — that file lives in your organization only. A spoken-text thinking cue travels normally, since it's just a phrase, not a file.
- The value of any agent variable. Each variable's name and description travel, so the agent created from the template still declares what it expects, but every value is blank and waiting to be filled in. The value in one is yours — an account number, or a credential you typed in place of a secret reference.
- A transfer destination. The destinations you named under Transfer to an outside number and Transfer to another voice agent are dropped: the first is a phone number your organization owns, and the second names agents that exist nowhere else. Every other built-in tool setting travels as you left it, so the tools stay switched on and you re-add the destinations.
- Credentials, or any value of any kind that only your organization could use. A requirement carries a name, and at most a pointer to the resource it came from — never a workflow's contents, an integration's connection details, or anything with a real value behind it.
Templates are snapshots
Creating an agent from a template copies its configuration once, at that moment. There's no link back afterward: editing the template later doesn't change any agent already created from it, and there's no "update from template" action to pull later changes in. If you want an existing agent to pick up a change you made to the template it came from, make that change on the agent directly.