Screenshot: the AI Agents page where you can review existing agents, filter them by direction, search by name, and create a new one.
AI Agents overview
The AI Agents page is the main workspace for creating and managing agents in Callin. From here, you can see all your agents in one place, identify which ones are inbound or outbound, open any agent to edit it, and create new ones for different business flows. This page is especially useful when you want to:- create a new agent for calls or website conversations
- separate agents by purpose
- quickly find an existing setup
- detect unfinished configurations before going live
Tip: Name the agent based on its real purpose. Clear names make testing, reporting, and future edits much easier.
Section 1: Agent
Screenshot: the Agent tab where you define the core behavior of the AI Agent, including how calls begin, how the agent behaves, and what resources it can use.
The Agent section is the foundation of the full setup. This is where you define what the agent is for, how it starts the conversation, what instructions guide it, and what supporting resources it can use during calls.Call Direction
The first setting is Call Direction. This defines whether the agent is used to place calls, answer calls, or do both with the same configuration. You can choose:- Outbound if the agent will call users.
- Inbound if the agent will answer incoming calls.
- Both Directions if the same agent should handle both use cases.
Important: A Both Directions agent uses the same Greeting and the same Script for both inbound and outbound calls.This is a common point of confusion. Some users think they need to add one greeting and one script for inbound, and another greeting and another script for outbound inside the same agent. That is not how this setup works. When you choose Both Directions, you are creating one agent with one shared behavior. That means the greeting and the script should be written in a more neutral way so they make sense whether the call was started by the agent or by the user. For example, a neutral greeting could work for both cases if it introduces the business clearly and then adapts naturally to the conversation. The script should also avoid assumptions that only fit one direction. If the script says something too specific like “I’m calling to remind you about your invoice,” it may feel wrong on an inbound call where the customer called first for a different reason. A better both-directions approach is to make the agent flexible. For example, a real estate assistant could greet the caller, identify the company, and then continue based on whether the conversation is about following up on a property inquiry or answering a new incoming question about availability. Another example is a small salon that wants one agent to answer incoming questions and also call clients back about scheduling. That can work with Both Directions if the same overall tone and flow make sense in both cases.
Tip: If the agent needs to behave differently depending on the call direction, it is usually better to create two separate agents: one for Inbound and one for Outbound.This is the best option when each direction needs a different opening, different tone, different goals, or different qualification logic. For example, a sales follow-up agent making outbound calls may need a persuasive, structured script, while an inbound receptionist agent may need a calmer and more open-ended flow. Another good example is a debt collection workflow. The outbound version may need a very specific compliance-safe reminder flow, while the inbound version may need to verify identity first and then answer payment questions. Even if both belong to the same business process, they usually work better as separate agents.
Common mistake: Choosing Both Directions just to cover more cases, even when the inbound and outbound experiences should feel different.As a rule, use Both Directions only when one shared greeting and one shared script can genuinely handle both call types well. If not, create one agent per direction so each experience feels natural and intentional.
Maximum Call Duration
The Maximum Call Duration setting controls how long a call can last before it ends automatically. This helps you:- keep calls efficient
- avoid unusually long conversations
- control usage and cost
Greeting Message
The Greeting Message is the first thing the caller hears. It should be short, clear, and relevant to the job of the agent. A reliable structure is:- greeting
- who the agent is
- why the call is happening
- invitation to continue
Conversation Prompt
The Conversation Prompt is one of the most important parts of the setup. It defines how the agent should behave during the conversation after the greeting has already started the call. A simple way to think about it is:- the Greeting Message opens the conversation
- the Conversation Prompt controls how the rest of the conversation should go
- Personality
- Environment
- Tone
- Goal
- Guardrails
- Tools
Personality
This explains who the agent is. For example:- a front desk assistant
- a scheduling assistant
- a lead qualification assistant
- a reminder agent
Environment
This explains the type of call the agent is handling. For example:- short phone calls where clarity matters
- appointment booking conversations
- follow-up calls after a missed call
- outbound reminder calls
Tone
This explains how the agent should sound. The default example in Callin shows useful voice-call guidance such as:- speak politely and concisely
- use brief affirmations like “I understand” and “Okay”
- include natural pauses
- adapt tone to the user’s engagement
- spell out structured information clearly, such as email addresses
Goal
This explains what success looks like for the call. Examples:- confirm an appointment
- answer common questions
- qualify a lead
- collect contact details
- guide the caller to the correct next step
Guardrails
This explains what the agent must not do. The example in Callin includes good default rules such as:- never share sensitive information
- do not guess or invent answers
- acknowledge limits when needed
- de-escalate calmly
- stay focused on the user’s needs
Tools in the prompt
The example also includes a Tools section. This is useful because the prompt can clarify whether the agent should rely only on conversation or whether it may use configured tools as part of the flow. If your agent is supposed to work through conversation only, say that clearly. If it should use a configured tool, the tool must already exist before you attach it to the agent. If you have not configured the tool yet, set it up first in Tools.How to write the Conversation Prompt well
A strong prompt should describe the agent in plain business language. Instead of writing only: Be helpful and polite. A better version would be: The agent is a phone assistant for a dental clinic. It should help callers confirm appointments, answer basic scheduling questions, stay polite and concise, and direct the caller to the next step when a request is outside its scope. This works better because it defines the role, the tone, the goal, and the limits. A good prompt usually answers these questions:- Who is the agent?
- What kind of call is this?
- How should the agent sound?
- What is the main outcome of the call?
- What should the agent avoid doing?
- Should the agent use tools, or conversation only?
Optimize prompt
Next to the prompt area, Callin also includes an Optimize button. This opens the Optimize prompt window, where you can describe how you want the current prompt to be improved. This is useful when the prompt already exists, but you want to refine it without rewriting everything manually. For example, you can ask the optimizer to:- make the prompt shorter and clearer
- make the tone friendlier
- add objection handling
- make the agent sound more professional
- simplify the instructions for short calls
Important: Optimize prompt helps improve the writing, but you should still review the final result before saving. Always confirm that the instructions still match the real job of the agent.
Dynamic Variables
The Dynamic Variables area lets you define reusable values, such as the agent name. This is useful when you want one structure across several agents. For example, you can reuse the same greeting pattern while changing only the agent or business name.Timezone and LLM
Further down, you can configure the Timezone and the LLM used by the agent.- Timezone matters for time-based logic, appointment handling, and business-hour references
- LLM determines the response model used by the agent
Knowledge Base
The Knowledge Base area gives the agent supporting information it can use to answer questions more accurately. If you have not configured this yet, set it up first in Knowledge Base. This is the right place for content such as:- FAQs
- policies
- pricing summaries
- service details
- product explanations
- use the Conversation Prompt for behavior and rules
- use the Knowledge Base for facts and reference information
Tools
The Tools area lets the agent use additional capabilities during a call. If you have not configured the tool yet, set it up first in Tools. This is important because an agent cannot reliably use a tool that has not already been created and configured. A practical flow is:- configure the tool in Tools
- return to the AI Agent
- attach the tool to the agent
- test the full conversation
Call Settings
Further down in the Agent section, you can also find Call Settings, such as call recording, voicemail detection, and whether the user speaks first. These settings help define the real experience once the agent is live. A practical example:- enable Record Calls if your team needs quality review or compliance review
- enable Voicemail Detection for outbound campaigns
- use User Speaks First only if the flow depends on the caller starting the conversation
Common mistake: Writing a very general prompt, adding a tool, and assuming the agent will know when to use it automatically. The prompt should still explain the goal clearly, and the tool must be configured first in Tools.
Section 2: Voice & Language
Screenshot: the Voice & Language tab where you choose the language, voice, speed, and response style of the agent.
The Voice & Language section controls how the agent sounds and how it understands users.Language and Secondary Language
Start by choosing the main Language. This should match the language the caller is most likely to use. You can also add a Secondary Language if the agent needs to support a second language. For example:- a local clinic may only need English
- a business serving both English and Spanish callers may use English as the main language and add Spanish as a secondary language
Voice
The Voice setting determines the actual voice the agent uses. In the voice selector, you can usually:- filter by language
- filter by gender
- choose between voice types
- preview voices
- import an ElevenLabs voice
Import an ElevenLabs voice
You can also bring a custom voice from ElevenLabs into this agent without leaving the voice picker. This is useful when you already created a voice in VoiceLab and want to use that same voice in Callin.Screenshot: this window lets you filter available voices and import a custom ElevenLabs voice using a VoiceLab share link.
In this window, you will see:- A Language selector at the top. In the example, the selected language is English (EN).
- An Import your ElevenLabs voice section with two fields:
- Paste ElevenLabs share link to add the VoiceLab link.
- Give this imported voice a name to label the voice inside your workspace.
- An Add Voice button to import the voice after completing both fields.
- A Gender filter with options such as Any, Male, Female, and Neutral.
- A Type filter with options such as General and Cloned.
- A list of available voices below the filters, where each card shows the voice name, a short description, and a play button to preview it.
- Reset All and Apply Filters buttons at the bottom to update the visible results.
How to import the voice
- In ElevenLabs, copy the VoiceLab share link for the voice you want to use.
- In Callin, open Select Voice.
- Paste the link into Paste ElevenLabs share link.
- Enter an internal name in Give this imported voice a name.
- Click Add Voice.
- After the voice is added, select it for the agent and save your changes.
Tip: Use a clear internal name such as Support Voice - Sofia or Sales Voice - Warm English so your team can recognize it quickly.
Important: The visible filters and available voices can vary depending on your account, language, or plan.
Common mistake: Pasting a regular ElevenLabs page link instead of the VoiceLab share link can prevent the voice from being imported.When choosing a voice, think about:
- the caller’s language
- the tone of the business
- whether the voice should sound calm, formal, warm, or energetic
Speed
The Speed slider controls how fast the generated voice sounds.- lower values slow the speech down
- higher values speed it up
Temperature
The Temperature slider controls how focused or creative the responses are.- lower values make responses more predictable
- higher values make them more varied and creative
Tip: Always test the full call flow after choosing the voice. A voice can sound good in preview but still feel wrong once it is used in a real conversation.
Section 3: Call Action
Screenshot: the Call Action tab where you enable actions the agent can perform during or after the call.
The Call Action section is where the agent moves beyond conversation and starts doing real actions. This section is especially important for booking, routing, lead capture, and outbound workflows.Schedule Appointment
Enable Schedule Appointment when the agent should book appointments during the call. If you have not configured this yet, set it up first in Google Calendar. This matters because the agent needs an existing calendar configuration before it can schedule anything reliably. The calendar setup can include booking templates, reminder settings, and available calendars. A practical example: A clinic agent can offer available time slots, confirm the user’s preferred time, and complete the booking during the same call.Important: If Google Calendar was not configured before enabling appointment scheduling here, the setup will remain incomplete. Configure it first in Google Calendar, then return to the agent.
Transfer Call
Enable Transfer Call when the AI Agent should hand the conversation off to a real person, team, department, or phone number. If you have not configured this yet, set it up first in Call Transfer. This must be configured in advance because the agent needs transfer rules and a transfer destination before this feature can work properly. A practical example: A support agent can answer basic questions, but transfer billing issues to the finance team or urgent cases to a live operator.Important: If call transfer was not configured before enabling this option, the agent will not know where to send the call. Configure the rules first in Call Transfer.
Opt-Out Call
The Opt-Out Call option is useful for outbound campaigns. It allows the person receiving the call to opt out of the current call and prevent future calls. This is helpful for recurring outreach and cleaner contact management.Data Extraction
The Data Extraction area lets you define the specific information the agent should extract from the conversation. Examples shown in the interface include values such as:- first name
- appointment date
- whether the person is interested
Post-Call Webhook
Enable Post-Call Webhook when you want call data sent to another system after the call ends. This is useful for sending results into a CRM, dashboard, or automation flow.Call Retry
The Call Retry settings define what happens if the system detects answering machine behavior. You can set:- Retry Count
- Retry Delay
Number Rotation
The Number Rotation feature lets the system rotate between multiple phone numbers to distribute calls more evenly and improve deliverability. This is useful for higher-volume outbound operations. Once enabled, you can choose which numbers take part in the rotation.Section 4: Website widget
Screenshot: the Website widget tab where you generate the embed snippet and customize how the agent appears on your website.
The Website widget section is used when you want visitors to speak with the same AI Agent directly from your website.Embed snippet
At the top of this tab, you can copy the embed snippet and paste it into your website. This is the code that loads the widget for your visitors. The interface also includes a Copy button, which makes it easier for your team to place the widget without rebuilding anything manually.Widget mode and theme
You can choose how the widget appears:- Inline embed places the widget directly inside the page layout
- Floating launcher shows a smaller launcher that opens the widget when clicked
- use Inline embed on a contact page or support page
- use Floating launcher if you want the widget available across the site without taking up permanent space
Conversation mode
This section controls whether visitors interact through voice, text, or both, depending on the options available in your workspace. Choose the mode based on the experience you want. A voice-first experience may work well for service businesses, while text can be useful for quieter or more asynchronous interactions.Appearance
Further down, you can customize visual settings such as:- widget variant
- dial size
- realtime transcript
- mute button
- primary and secondary colors
Dial labels and text labels
You can also customize visible text such as:- idle label
- connecting label
- listening label
- interrupt label
- main label
- start call
- start chat
- end call
- chat title
- chat subtitle
- empty state
- input placeholders
- send label
Save and test
At the bottom of the editor, you can see actions such as Clear, View Errors, and Save. You may also see an unsaved changes warning while editing. Before publishing the widget, it is a good idea to:- save your changes
- use Test Call or Test AI agent
- confirm that the labels, voice, and actions work correctly
- only then publish the snippet on your website
Tip: Test the widget like a real visitor would. Check both the normal flow and edge cases, such as interruptions, vague questions, or handoff situations.







