Start with Ipster today
Ipster answers questions, requests and appointments directly through your connected system. 24/7 availability for your business.
Everything about the Ipster platform in one place: from your first agent to telephony, integrations, the API and your AI assistant. Search all answers or pick a topic.
Getting started
Sign in, build your first agent, test it and go live
Agents and prompts
Prompt, flows, variables, AI models, voice and language
Behaviour settings
Voice, timing, silence, pronunciation and memory of your agent
Privacy and security
Sensitive data, retention periods and the AI notice
Tools: the basics
Hang up, transfer, SMS, WhatsApp, webhooks and MCP
Integrations with systems
HubSpot, Zendesk, calendars, webshops, Slack and more
Telephony
Numbers, emergency number, outbound calls and your phone system
Live conversations and wallboard
Listening in, coaching, taking over and the wallboard
Knowledge bases
Documents and websites your agent searches
Chat and WhatsApp
Chat agents for your website and WhatsApp
Data, extraction and insights
Conversation data, extraction fields and statistics
Usage and invoicing
Check usage, invoices and your payment method
API and webhooks
API keys, the REST API and webhooks
Ipster in your AI assistant
Connect Ipster to Claude, ChatGPT or another AI assistant
Organisation and team
Team, roles, permissions, tasks and managing your organisation
For partners
Customers, quotes, rates, settlement and tasks in the partner portal
Sign in, build your first agent, test it and go live
Ipster is a platform for building and managing voice and chat agents. An agent handles phone calls or chats automatically, answers questions and carries out actions in your systems, such as a CRM or a calendar.
A phone agent listens (speech recognition), thinks (language model) and speaks (voice model). This is how it works:
Tip: start with a simple agent without tools to get used to the prompt. Add tools later.
You sign in at app.ipster.ai, the Ipster dashboard. You get an account from Ipster or from the administrator of your organisation. You can sign in with your email address and password, with Continue with Google or with Continue with Microsoft.
Where do you start? On the dashboard (Overview) you will find the Quick start block with Create new agent and View agents. The menu includes Agents, Chat Agents, Phone Numbers, Knowledge Bases, Usage and Analysis. You only see the parts that belong to your account.
There are two types of agents:
For WhatsApp you connect your own WhatsApp number. If you have no connection of your own, you can claim a WhatsApp number from Ipster. Phone and WhatsApp know each other: if someone calls right after sending a message, the agent knows what it was about, and the other way round.
Do you want the same agent for the other channel too? Open the agent, click the menu with three dots and choose Create chat version or Create phone version. The prompt and the tools are copied. Tools that only belong to calls, such as transferring, hanging up and sending keypad tones, are not copied to a chat agent.
Go to Agents (or Chat Agents for a chat agent) and click New agent. Then choose how you want to build:
Every route ends up with the same kind of agent. You can adjust all settings afterwards under Settings. If you are a partner or an Ipster administrator, you also choose which organisation the agent belongs to when you create it.
An agent you build through the chat or the four questions starts with default values for model, voice and behaviour. Check them under Agent → Settings.
Choose Build in the workflow. You get four questions, one per screen:
Click Build agent. Ipster creates the agent and opens the workflow with the chat. The chat carries on by reading your website, setting up the integrations and writing the prompt. You enter the login details for integrations in a secure form. Tip: the more concrete your goal, the better the first version.
In Build via chat you tell Ipster in plain words what the agent should do. The chat is on the left, and on the right you see live what has been built: the Configuration tab shows the checklist, tools, settings, knowledge base and prompt, and the Test tab has a test window. Tips for a good set-up:
Test on the Test tab. If you see something that could be better, give feedback on a reply or select a piece of text. Ipster adjusts the prompt in a targeted way. You adjust an existing agent with Edit via chat.
Choose From Scratch if you want to fill in everything yourself.
Genereer prompt only works once you have entered a name. You adjust all other settings, such as timezone, tools and behaviour, afterwards under Agent → Settings.
Always test first, because a live agent answers real callers and chatters.
If the agent has no phone number yet, you can still call it through the browser. Afterwards, listen back to the conversations and improve the prompt step by step.
With Simulate, an AI plays the caller so you can test a conversation without calling yourself. You find the button on the workflow page of the agent (Agent → Workflow → Simulate).
While the conversation runs, the canvas lights up what is happening: the opening, which flow the agent loads, which tool it calls and whether it transfers or hangs up. Afterwards, click a message to see that step again.
Good to know:
Yes. Under Agent → Settings → Tests you create test scenarios with which an AI tests the agent automatically using simulated conversations.
A new test (New test) consists of:
With Run you run one test, with Run all the whole set. Earlier runs are in the batch history.
If an agent has test scenarios, Ipster offers a Regression test before going live when you click Go live. It runs your tests against the draft, so you can see whether anything breaks before you publish. Failed tests only warn you: you can still go live, but check the draft first.
Ipster works with a draft and a live version, so you can test changes without affecting the live agent.
Since October 2026, changes to integrations, variables, knowledge bases and analysis fields also go into the draft first, just like the prompt. Only logging in to an integration takes effect immediately. You can see what is not live yet from the label New · draft, Changed · draft or Removed · draft. The bar at the bottom of the settings shows whether you have a draft (Draft, not yet live) or whether everything is live (All settings are live).
Changes you make through the chat or in the workflow also go into the draft. In the workflow, the panel tells you whether something goes into the draft or goes live immediately.
Note: Go live replaces the live version immediately.
As soon as you have a draft, you put it live:
Every time you go live, a new version is created. If you see a mistake after going live, you restore an earlier version (see the next question).
An agent that is switched off (Deactivate in the three-dot menu) does not take conversations. Callers then go to the emergency number, if you have set one. You connect a phone number under Agent → Telephony.
Note: a live agent is active immediately. So always test first.
Every time you go live, Ipster keeps a version. This is how you restore an earlier version:
For an earlier version, choose what you want:
Not sure? Choose Load as draft, because that does not change the live agent. The version history is also in the agent settings.
Do you only want to throw away your current changes? Then click Discard draft in the settings. You go back to the live version and all unpublished changes are gone.
Tip: give a clear label when you go live. It makes finding a version easier.
Duplicate makes a complete copy of an agent. It is useful for testing bigger changes first, without touching the live agent.
What is copied: all settings, prompt and flows, tools, variables, post-call fields, knowledge bases, test cases and direct routes.
What is not copied: phone numbers and channels, the draft and the conversations. The copy is switched off and is not billed. Test calls still work.
If the agent has a draft that is not live yet, the copy starts from the live version. After duplicating, Ipster tells you which tools you need to reconnect in the copy.
Tip: if you want the same agent for another channel, use Create chat version or Create phone version in the same menu.
An agent is not tied to one user but to your organisation. Everyone in your organisation has access to the same agents, and new people do not need to be linked per agent. People higher up in the organisation structure can also see and manage the agent. On the agent page, under Organisation & access, you see which organisation the agent belongs to and who has access. You give access by adding someone to the organisation, not per agent.
Deleting an agent means archiving it. The agent disappears from all lists and is switched off, but its conversations and usage are kept and still count. Deleted by mistake? Within 30 days an administrator can restore it under Organisation → General → Deleted agents. A restored agent is switched off, and you then reconnect its number and channels.
If you only want to switch an agent off temporarily with Deactivate, everything stays in place and callers go to the emergency number, if one is set.
Prompt, flows, variables, AI models, voice and language
The system prompt is the foundation of your agent. It describes who the agent is, what it does and how it communicates. You find it under Agent → Settings → Prompt.
A good prompt contains:
Extra tips for a phone agent:
In the editor you type @ to insert a tool and use {{variable}} for dynamic values. You also see the number of characters and tokens there. For a phone call, Ipster adds fixed rules of its own: the agent does not read out links, does not use bullet points, spells out numbers and times in words and knows the current date and time. So you do not need to repeat those.
A prompt does not have to be perfect. Test, listen to conversations and improve step by step.
Yes, in three ways:
A generated prompt is a good starting point, not an end result. Read it through, test the agent and improve it with your own examples. If you want an existing prompt improved, use Optimize prompt (see the next question).
With Optimize prompt you let AI improve your prompt and you see exactly what changes.
Is a chat agent based on a phone prompt? Then use Optimize for chat. You compare Original and Optimized and choose Apply.
If your agent has many different scenarios, such as appointments, repairs, complaints and transfers, the prompt quickly becomes very long. With flows you split it into separate sections that the agent only reads in when they become relevant. The rest of the conversation, the prompt stays compact.
Put a section between ## FLOW: Name and ## FLOW END. Optionally add a Wanneer gebruiken: line (when to use), so the agent knows when to load the flow. Text outside the flows always applies.
An example:
## FLOW: Reschedule appointment Wanneer gebruiken: customer wants to change an existing appointment ... instructions for this flow ... ## FLOW END
This is how you add a flow:
Keep the name of every flow unique: the agent loads the flow by name. The agent skips a flow without text. Above the editor you see a badge for each flow.
We describe conditions for flows in the next question.
With a condition, a flow is only available once that condition is met. The system enforces this, so it is more than a suggestion in the prompt.
Directly under Wanneer gebruiken: add a Vereist: line (requires). There are three forms:
Vereist: variable = value: only if the variable has exactly this value.Vereist: variable: only if the variable has a value (is not empty).This is how you build if/else: make two flows with the same 'Wanneer gebruiken', but an opposite condition. For example Vereist: customer_found = true in the flow for a known customer, and the 'not equal' variant in the flow for an unknown customer.
Several conditions at once? Put several Vereist: lines under each other. The flow is then only available if all of them are true. For example Vereist: customer_found = true and Vereist: is_open = true. In the workflow you enter them in the conditions field, separated by commas. Empty means always available.
Above the prompt editor you see a badge for each flow. If a flow has conditions, a branch icon appears next to it. Hover over it for the exact conditions.
If the agent tries to load a flow whose condition is not met, the system rejects it. The agent then picks the right flow from the menu itself instead of carrying on with made-up assumptions.
With variables you put dynamic information in your prompt, for example the name of a customer or an order number. Write {{variable_name}} in your prompt, in the greeting or in a tool. As soon as a conversation starts, Ipster replaces the placeholder with the real value.
Example:
You are speaking with {{customer_name}}. They are calling about order {{order_number}}.
You manage variables under Agent → Settings → Variables. Each variable has a name, a default value and a description. If your prompt contains variables you have not created yet, Ipster tells you that variables were found in the prompt, and you add them with one click. Changes go into the draft and go live with Go live.
An empty or unknown variable becomes empty text instead of the literal code. So give a default value if the prompt should also work without a value.
You also use variables in the opening sentence, for example Hello {{first_name}}, welcome to {{company_name}}, and in tools. In a test call in the browser, Ipster first fills in the default values. You can change them there.
A variable gets its value from one of these sources:
Fixed variables that Ipster fills in itself:
{{from_number}}: the caller's phone number.{{to_number}}: the number that was called.{{is_open}} (true or false, useful in Vereist: lines of flows), {{openingstijden}} and {{openingstijden_message}}.If you provide a value yourself, for example through the webhook, it takes precedence over the automatic value.
Under Agent → Settings → Prompt you find the Conversation opening block. There you decide how the conversation starts.
{{variable}}, for example Hello {{first_name}}, welcome to {{company_name}}. How can I help you?Pronunciation rules that you set under Behavior, for example for brand names, also apply to a fixed opening sentence.
Save your changes as a draft and test the opening with a test call before you go live.
The language model is the brain of the agent. It determines how it thinks and answers. You choose it under Agent → Settings → AI Model, in the Brain block: first the provider, then the model.
Providers and example models:
A larger model is smarter, but also slower and more expensive. A measured response time may be shown next to the models. A new agent that you build through the chat starts with gpt-4o-mini.
Cannot see the AI Model tab? Then Ipster or your partner manages the model for you.
Speech recognition turns what the caller says into text. You choose it under Agent → Settings → AI Model, in the Listening block. This applies to phone agents.
Options:
Do you want to use Automatic language detection (multilingual agent)? Then you must choose Deepgram or Ipster Listen. With Juvoly that option is switched off.
A new agent that you build through the chat or the four questions starts with Ipster Listen.
Your choice of speech recognition also influences the cost per minute. If you cannot see the AI Model tab, Ipster or your partner manages this for you.
The voice model determines how the agent speaks. You choose it under Agent → Settings → AI Model, in the Voice block: first the provider, then (where available) the model.
Providers: ElevenLabs, OpenAI, Google, Azure, Cartesia and Ipster Voice (European voices).
ElevenLabs models:
With OpenAI you choose from tts-1, tts-1-hd and gpt-4o-mini-tts, with Cartesia from Sonic 2, Sonic and Sonic Turbo.
Audio tags such as [warm] or [empathetic] (Behavior → Expressive) only work with ElevenLabs V3 and the V4 models. A measured response time may be shown next to the models.
If the chosen voice provider is unavailable when a conversation starts, Ipster switches to a backup voice, if you have set one under Behavior → Emergency voice (fallback).
You choose a voice under Agent → Settings → AI Model, in the Voice block. You enter the Voice ID or pick a voice in the Voice Library.
With Ipster Voice you can filter the Voice Library by gender. The voices have a Dutch name and a description. Cloned custom voices are also available. With the other providers you enter the Voice ID yourself.
A voice belongs to one provider. If you switch provider, Ipster clears the voice and the agent uses the default voice until you choose a voice from the library of the new provider. If the Voice ID does not belong to the chosen provider, you get a notice about that.
If you build through the chat, Ipster puts a choice of voices to you with samples you can listen to. If you pick a voice with Choose this, Ipster sets it straight away.
Under Agent → Settings → General you choose the Language of the agent (Dutch, English, German or French) and switch Automatic language detection on or off. Language detection requires Deepgram or Ipster Listen as speech recognition and a multilingual voice model.
Language detection off (single language): the agent stays in the configured language for the whole conversation. A stray 'yes', 'thank you' or 'okay' from the caller, or a sentence that the speech recognition reads as another language, is no reason to switch. If the caller really does not speak Dutch, the agent says in Dutch that it can only help in Dutch.
Language detection on (multilingual):
Tip: do not put language rules in the prompt, such as 'detect the language of the first sentence'. They work against the settings. You set the timezone in the same place. It determines how the agent refers to times.
If an agent has multilingual behaviour on, the opening language depends on the country code of the caller's number:
The configured opening sentence is kept. So a +49 number gets the German greeting, a +33 number the French one, and other foreign numbers the English one.
For bilingual countries, such as Belgium, Switzerland and Luxembourg, the agent's own language wins if it is one of them. An anonymous number gets the agent's language. If the caller turns out to speak Dutch after all, the agent still switches.
After the opening, the rule for switching language applies: only after at least two full sentences in another language, or at the caller's request. After that the agent stays in that language.
If you switch multilingual behaviour off, the agent opens and stays in the configured language.
With the Workflow button on the page of an agent (or at the top of Settings → General) you open the whole conversation as a large canvas, from incoming call to follow-up. For each step you see what has been set up.
The canvas has three phases:
Under the agent is the structure of the prompt. If the prompt uses flows, you see each flow with 'Wanneer gebruiken' (when to use) and any conditions (Vereist:), plus the text that always applies. Otherwise you see the sections (headings with # or ##).
What the dots mean:
The order is that of a real conversation. A direct route, for example, comes before the inbound webhook, and a webhook or emergency number on the phone number comes before the one on the agent.
Click an item: a panel opens on the right where you adjust the usual settings straight away, such as the greeting, emergency number, spam filter, voicemail detection, maximum duration, webhooks and guardrails. The canvas moves along immediately.
Testing on the canvas:
Moving around: drag or scroll to pan and zoom with ⌘/ctrl + scroll or with the buttons at the bottom left. The Fit to screen button brings everything back into view.
Voice, timing, silence, pronunciation and memory of your agent
Background sound plays a subtle ambient sound during the call. It gives the conversation a more natural phone atmosphere.
You set it under Agent → Behavior, in the Background sound section:
Noise cancellation filters out background noise on the caller's side, so speech recognition understands the call better. You find the setting under Agent → Behavior.
There are three levels:
A higher level makes the agent less sensitive to noise, but also slightly less responsive. If your customers often call from a call centre or a busy environment, Light is a good choice. Choose Aggressive only if Light does not help enough.
The Response speed setting determines how quickly the agent answers after the caller has stopped speaking. You find it under Agent → Behavior.
The slider runs from Slow (about 2 seconds) through Average to Fast (almost immediate, about 0.1 seconds). The default is 0.5.
For customer service, 0.5 is a good starting point. Adjust the value based on what you see in real calls.
Interruption sensitivity determines how quickly the agent stops talking when the caller talks over it. You set it under Agent → Behavior.
The slider runs from Hard (the caller has to speak for about 2 seconds) to Immediate (about 0.1 seconds of speech is enough).
The default is 0.5, which is also a good starting point for customer service. A key press on the phone (DTMF) interrupts the agent in the same way speech does.
Backchanneling means short acknowledgements that the agent says while the caller is talking, such as "mm-hmm", "yes" or "I understand". It shows the caller that the agent is listening and makes the conversation feel more natural.
You turn it on under Agent → Behavior, in the Backchanneling section. There are three settings:
An example for a friendly agent: mm, yes, right, I understand, of course.
The agent only says an acknowledgement while the caller is speaking. It works like this:
An acknowledgement is not a conversation turn. It therefore does not appear in the transcript or in the agent's conversation context.
With the reminder message, the agent sends a friendly remark when the caller has said nothing for too long, for example to ask whether the caller is still there. You set it under Agent → Behavior, in the Reminder message section:
Set the number of seconds to 0 to turn the reminder off.
The opening line and the agent's own speech do not count as silence. The agent also does not send a reminder while a call is being transferred, or after the goodbye.
Under Call control in Agent → Behavior you set three time limits:
Combine the silence timeout with a reminder message, so the agent first asks whether the caller is still there before it hangs up.
With the earlier-calls feature, the agent remembers what a caller discussed before. At the start of the call the agent briefly confirms who the caller is and what was discussed earlier, so the caller does not have to repeat everything.
You turn it on under Agent → Behavior with the switch Remember the context of a previous call. Then you choose:
The feature only works if two conditions are met:
So always combine the feature with an extraction field samenvatting (summary). That gives the best result.
This switch is about earlier phone calls. Earlier WhatsApp conversations with the same number work separately. The agent knows those even when this switch is off, and the other way round: after a WhatsApp conversation, the agent knows what it was about when that same person calls.
Sometimes a voice pronounces a name or term incorrectly. You correct that with pronunciation overrides. You find them under Agent → Behavior, in the Pronunciation section.
Examples: Ipster becomes Ippster and HVAC becomes Ha-Vee-Aa-See.
If a rule only applies in one language, tick that language (Dutch, English, German or French). The agent then only applies it when the conversation is in that language. If nothing is ticked, the rule always applies. The overrides also apply to the fixed opening line.
Under Agent → Behavior, turn on the Natural speaking style switch. The agent then phrases things more colloquially and avoids stiff clichés. For example, "Apologies for the inconvenience" becomes "sorry about that", and the agent occasionally uses a natural filler such as "okay" or "right".
What the agent says and which information it gives does not change. Only the phrasing adapts. This setting works with every voice and voice model.
If you also want to steer the tone of the voice, see the emotion tags in the next question.
Emotion tags steer the emotion and rhythm of the voice. There are two ways to use them.
Automatic: under Agent → Behavior, turn on the Expressive (automatic emotion tags) switch. The agent then places audio tags itself, such as [warm], [empathetic], [reassuring], [cheerful], [curious], [sigh], [laughs], [short pause] and [long pause].
Manual: in the prompt editor, type @ and choose an emotion tag from the list, such as Warm, Empathetic, Sigh or Long pause. The tag appears as a chip in your prompt.
The tags are not read aloud and do not appear in the transcript. They only steer the pronunciation.
Emotion tags only work with the ElevenLabs models V3, V4 and V4 Turbo. Choose one of those models under Agent → AI Model, otherwise the Expressive option is not visible.
When the agent looks something up or arranges something, it can go quiet for a moment. With talk while waiting, you let the agent say a short phrase during that time, so the caller knows something is happening. For example "Let me check that for you..." or "I'll transfer you now...".
You set the phrase in the part that performs the action:
When transferring, the agent speaks the phrase in full before the transfer starts.
That depends on the language setting of the agent under Agent → General.
Single language (multilingual off): the agent stays in the configured language. A stray "yes" or "thank you" from the caller, or a sentence that speech recognition reads as another language, is no reason to switch.
Multilingual (multilingual on):
The opening language follows the caller's country code: +49 is greeted in German, +33 in French and other foreign numbers in English. The configured opening line is kept.
Do not put language rules in the prompt such as "detect the language of the first sentence". They work against these settings.
Sensitive data, retention periods and the AI notice
Under Privacy & guardrails you protect sensitive data and control the behaviour of your agent. You find it under Agent → Advanced → Privacy & guardrails.
It has four parts:
Everything is off by default. You turn on what you need per agent. A setting applies to new calls from the moment you turn it on. The Privacy filter was previously called PII redaction.
The Privacy filter masks sensitive data of the caller. Instead of the real value, a label is stored, for example [BSN] in the record.
It masks in:
You can mask these categories: national ID (BSN), IBAN or account, credit card, email address, phone number and date of birth. The labels are [BSN], [IBAN], [CREDITCARD], [E-MAIL], [TELEFOON] and [GEBOORTEDATUM].
The agent keeps working normally during the call. Only what is recorded and shared is protected.
The phone numbers of the caller and the called party are not masked, because they are needed for calling back or for a CRM integration. The variables of the call are also left as they are.
Under Agent → Advanced → Privacy & guardrails, turn on the Privacy filter switch. You then see the list Which data to mask. You click categories on or off. By default all categories are on.
You add your own patterns with a regular expression, for example for case numbers or internal customer numbers:
case.ABC-\d+.If the expression is invalid, you see that straight away in the field.
The detection is precise. A BSN is checked with the eleven-test, an IBAN with the mod-97 check and a credit card number with the Luhn check. A random string of digits, such as an order number, is therefore not masked unnecessarily.
If the caller explicitly says "BSN", "IBAN" or "credit card" with a number, that number is also masked without a valid check, even if speech recognition has split the digits into pieces.
No. The Privacy filter works on text: the transcript, the logs, the analysis and outgoing webhooks. The audio recording still contains the spoken value.
Keep that in mind if you store recordings. With a retention period you can set how long recordings are kept. See the question about retention periods.
If you want to keep a value out of storage, the Privacy filter is the right choice for text. If you want the agent not to see a value at all, use Also hide from the AI or the Verify identity tool.
By default the language model (the AI) sees what the caller says. If you want to go a step further, you mask chosen categories before they reach the language model.
You turn this on under Agent → Advanced → Privacy & guardrails:
Note: a masked category can no longer be read by the agent. If you need a value to verify someone, for example the date of birth, do not turn that category on here. You can redact a date of birth from storage and still keep it visible to the agent, because the two settings work independently.
If you turn off the Privacy filter, Also hide from the AI turns off too. It is off by default.
With the Verify identity tool, the agent checks a value, for example the date of birth, without the language model ever seeing it.
This is how it works: the caller says the value. The platform compares it in code with an expected value, for example from your CRM. The agent only hears whether it matches, yes or no. The value itself does not enter the AI's context or storage.
You set it up like this:
expected_dob. You fill it, for example, with a CRM lookup.The comparison is flexible. "12 March 1985", "12-03-1985" and "1985-03-12" count as equal.
For full protection, also turn on the same value under Also hide from the AI in Privacy & guardrails.
Under Agent → Advanced → Privacy & guardrails, turn on the Protection against manipulation switch.
The agent then ignores attempts by a caller to:
This keeps the agent to the prompt you wrote. The protection works through instructions to the agent. It is off by default.
The abuse filter sets boundaries on abusive or threatening behaviour. You turn it on under Agent → Advanced → Privacy & guardrails.
After turning it on, you choose under Action on persistent abuse what the agent does:
The filter is off by default.
You can set per organisation how long the content of conversations is kept. Administrators do this under Organisation → General, in the Retention period section. You need the Manage team permission for this.
You set three types separately:
For each type you choose 30, 90, 180, 365, 730 or 1825 days. You can also choose Unlimited, or Inherit to follow the period of the parent organisation.
If you have not set anything, everything is kept without limit. For partners, what you set as a partner also applies to your customers, unless they change it themselves.
After the retention period, Ipster automatically deletes the content every night. This happens per type: transcripts and analysis, recordings, and chat and WhatsApp messages.
Keep these points in mind:
Yes. From 2 August 2026, a new part of the European AI Act applies: anyone talking to AI must know this at the start of the conversation. It applies to chat, WhatsApp, email and telephony, including conversations you start yourself. Ipster has built the notice into the platform.
This is what happens:
A recording notice you may already have is separate from this and does not change. What is still to come is watermarking of AI-generated audio, with a deadline of 2 December 2026. This is not legal advice. If you are unsure about your contracts or data processing agreement, have someone who knows your contracts look at it.
That depends on the components you choose for your agent. Per agent you put together the combination of speech recognition, voice and language model yourself.
What the sources say about European processing:
If you choose other providers, such as OpenAI, Anthropic, Google, Groq, Deepgram, ElevenLabs or Cartesia, processing depends on that provider. If you have a requirement for the processing location, for example in a data processing agreement, choose deliberately and check your combination with Ipster.
The Privacy filter and Also hide from the AI limit which data ends up in storage and with the language model. They do not change where a component runs.
You can connect Ipster to your own AI assistant, such as Claude or ChatGPT. What the assistant requests, such as transcripts and recordings, goes to the AI provider you use yourself. That is outside Ipster's EU environment. Recording links are valid for 1 hour.
This is how you keep control:
So choose the level deliberately.
What someone sees depends on their role in your organisation. Administrators set this under Organisation → Team & permissions. How to manage roles and permissions is covered in the topic Organisation and team.
This is relevant for privacy:
In the activity log under Organisation → Activity you see who did what and when, including logins.
Hang up, transfer, SMS, WhatsApp, webhooks and MCP
Tools are actions the agent can carry out during a conversation, such as hanging up, transferring a call, sending an SMS or looking something up in a system. The agent decides for itself when a tool fits, based on the conversation and the instructions in your prompt.
Adding a tool
Changes to tools go into the draft first and only go live with Go live. Signing in to an integration does take effect immediately. You can also edit tools in the Workflow view (Agent → Workflow).
General tools
Integrations with systems such as HubSpot or Zendesk are added in the same way.
You link a tool to your prompt with an @. In the prompt editor (Agent → Prompt) type @, pick the tool from the list and add when the agent should use it. That way the agent knows which action belongs to which situation.
Examples:
@hubspot_search_contact Always look up the caller at the start of the conversation.Use @end_call as soon as you have answered the caller's question and there is nothing left to do.You add dynamic values to the same prompt with {{variabele}}.
Giving a tool its own name
You can set the name of every tool. This is the function name for the agent and the prompt (@name). Use only letters, digits and underscores; other characters become an underscore. This is especially useful if you have several tools of the same type, such as two Transfer call tools or two SMS tools. With a descriptive name, such as transfer_administratie or stuur_sms_bevestiging, you can tell them apart in the prompt.
The description of the tool tells the agent when to use it. If your prompt refers to the old name of a tool, update the prompt too.
An action, such as looking something up in a system or transferring a call, can take a moment. A short phrase prevents silence. The agent says that phrase while it waits, for example "Let me check that for you" or "I'll transfer you now".
Where to set this
If you leave the phrase empty or turn the option off, the agent stays silent during the action. Keep the phrase short and neutral.
With Requirements a tool only runs once one or more conditions are met. The platform enforces this, so it is more than an instruction in the prompt. If the situation does not meet the conditions, the action is not carried out and the agent gets an error back.
Setting it up
All conditions must be met. The error message goes to the model, not to the caller. So write a hint that lets the agent take the right step, such as "Call Look up customer first". If you leave it empty, a default message applies.
Examples: only reschedule an appointment when klant_gevonden equals true, or only transfer when is_open equals true (see the question about opening hours).
For Transfer call, this also applies: if the destination contains a {{variabele}} that has not been filled in, the transfer is refused. Every outcome is logged.
In the prompt the same idea works for flows: a line Vereist: variabele = waarde under Wanneer gebruiken: makes a flow available only when the condition is met.
With the End call tool the agent can hang up properly by itself. Without this tool the agent does not end the call itself. As a safety net, set a maximum call duration and a silence timeout under Agent → Behavior.
Setting it up
end_call by default.In the prompt
Use @end_call as soon as you have answered the caller's question and there is nothing left to do.
What happens
Explain in the prompt when the call is finished, so the agent does not hang up too early.
With the Transfer call tool the agent sends the caller to an employee, a department or an external number. You add it via Agent → Tools → Add tool → Transfer call. The tool works for phone agents.
Settings
+31612345678), Variable (a value from the context, for example {{vestiging_phonenumber}}) or Agent decides (the agent determines the number itself based on the conversation).Extra options for warm transfer
Several destinations
Add a separate Transfer call tool for each destination, with a descriptive name such as transfer_administratie and the number of that destination. In the prompt you use @ to choose which tool belongs to which request.
Give the agent clear instructions on when it may transfer, for example only when the caller explicitly asks for it. If the model calls the tool twice while a transfer is already under way, the second call is skipped and marked as "skipped" in the logs.
The Transfer call tool (Agent → Tools) has a few technical options.
SIP method
Choose INVITE for a fault service or any other destination where nothing may end up in a voicemail.
Ring duration
The ring duration is 30 seconds by default. That is how long Ipster waits before it cancels the transfer. You set a default for all Transfer call tools under Agent → Behavior (Ring duration on transfer). If the destination's voicemail picks up sooner, choose a shorter ring duration, for example 20 seconds.
Displayed number and SIP headers
Keeping the recording and transcript going
Turn on Keep capturing the call after transfer (with Cold Transfer) to keep the audio and transcript after the handover. You then first see agent and caller and afterwards caller and colleague, with a divider at the handover. This only works with INVITE; with REFER the setting shows a warning. The automatic summary keeps covering the part with the agent.
When transferring via SIP INVITE, the caller no longer hears the colleague's voicemail, and as soon as a colleague really answers they are connected straight away. This is how it works:
Points to note
With the Send SMS tool the agent sends an SMS during the conversation, for example a confirmation or a link. The SMS always goes through Ipster's SMS account, so you do not need to connect anything. The tool works for phone agents.
Setting it up (Agent → Tools → Add tool → Send SMS)
stuur_sms_bevestiging.In the prompt
After booking the appointment, send a confirmation with @stuur_sms_bevestiging.
A HubSpot appointment already sends an SMS confirmation by itself. No separate SMS instruction is needed in the prompt for that.
With the Send WhatsApp tool the agent sends the caller a WhatsApp during a phone call, for example to ask for a photo or document or to send information afterwards. What the caller sends back appears live in the conversation. The tool uses your organisation's WhatsApp number, so connect WhatsApp on a chat agent first.
How it works
{{1}}, {{2}}).Settings (Agent → Tools → Add tool → Send WhatsApp)
Without a template the agent can only send a free message if the caller messaged in the last 24 hours. If Meta has revoked access for the number, for example after a password change, reconnect WhatsApp on the chat agent of that number.
With the Send DTMF tones tool the agent can send keypad tones (digits 0 to 9, * and #) to the active phone connection. That is how it navigates the menu of another phone system or enters a PIN code. The tool works for phone agents.
Setting it up (Agent → Tools → Add tool → Send DTMF tones)
send_dtmf. Your own name helps if you have several of these tools.The agent supplies the keys itself, for example 1 or 123#.
In the prompt
In the menu, use @send_dtmf to press the key for the accounts department.
Describe in the prompt which menu the agent expects and which key belongs to which choice.
With the Extract variable tool the agent captures a piece of information during the conversation in a variable, for example a customer number, a name or an email address. The agent asks the caller for the value and stores it. Other integrations and the prompt can then use it as {{naam}}. The tool works for phone and chat agents.
Setting it up (Agent → Tools → Add tool → Extract variable)
klantnummer. Use only letters, digits and underscores. The variable name is also the name of the tool.Using it
If the agent captures the customer number as klantnummer, you can use {{klantnummer}} in another integration in the same conversation, for example in the parameters of a custom webhook.
The variable applies to the current conversation. If you want to pull information from the transcript after the call, use the extraction fields under Agent → Extraction.
With the Verify identity tool the agent checks a piece of information the caller states, for example a date of birth or IBAN, without the AI seeing it. The caller says the information out loud, Ipster compares it in code with an expected value and the agent only hears whether it matches (yes or no). The tool works for phone agents.
Setting it up (Agent → Tools → Add tool → Verify identity)
expected_dob. That value usually comes from an integration (such as a CRM lookup) or from the inbound webhook.The comparison is flexible: "12 March 1985", "12-03-1985" and "1985-03-12" count as equal. If no expected value is available or the agent heard nothing, the result is "not verified" and the agent can ask the caller to repeat the information.
The information itself does not enter the AI context or storage. For full protection, set the chosen field to "also hide from the AI" under Agent → Privacy & guardrails. You can read more about the Privacy filter under the topic Privacy and security.
With the Opening hours tool the agent knows whether you are open or closed. You set a weekly schedule, holidays and exceptions. The tool works for phone and chat agents.
Setting it up (Agent → Tools → Add tool → Opening hours)
Europe/Amsterdam by default.Fixed variables
Every conversation has three variables ready:
{{openingstijden_message}}: the status as a sentence.{{is_open}}: true or false. You can also use it as a condition, see the question about Requirements.{{openingstijden}}: the schedule as JSON, with the regular hours and the upcoming days that deviate.The agent can also look up the status for a specific date, for example a holiday. Use the tool in the prompt, for example: "Check whether we are open before you propose an appointment or transfer the call."
Under Agent → Telephony, direct call forwarding "within or outside opening hours" uses this tool.
With a custom webhook the agent calls the address of your own API at the moment the conversation calls for it. That way you can connect any system that has an HTTP endpoint, even if Ipster has no ready-made integration for it. The tool works for phone and chat agents.
Setting it up (Agent → Tools → Add tool → Custom)
Authorization: Bearer ... for security. You can also add query parameters.Information from the conversation, such as {{from_number}}, can be filled in the URL, the headers and the parameters. If there is a temporary error, Ipster tries again.
Example
Fetch customer data from your own ERP: POST https://jouwapi.nl/klant with {"telefoon": "{{from_number}}"} and store the result as {{klant_naam}}.
Test your webhook first with a tool such as Postman before you connect it to an agent. Building the integration through the chat? Then give the goal and the link to your system's API documentation, and enter your API key in the secure form.
Through an MCP server (Model Context Protocol) the agent gets the tools that server offers, for example via Composio, n8n, Zapier or a server you manage yourself. That way the agent can start existing automations or reach hundreds of external apps. The integration works for phone and chat agents.
Setting it up (Agent → Tools → Add tool → MCP Server)
Authorization: Bearer ....Per provider
The agent discovers the tools automatically at the start of the conversation. You do not have to set them up one by one, and what the agent can do depends on what your server offers.
This is the opposite direction of using Ipster from Claude or ChatGPT. You arrange that separately under Organisation → API keys.
HubSpot, Zendesk, calendars, webshops, Slack and more
Ipster connects the agent to the systems where you keep customers, appointments, tickets or orders. The agent uses that integration during the conversation: it looks up the caller, books an appointment or records the conversation afterwards.
Available integrations
You connect any other system with a custom webhook or an MCP server (see Tools: the basics). Integrations with phone systems are covered under Telephony.
How it works
Changes go into the draft first and go live with Go live. Signing in to an integration does take effect immediately.
With the HubSpot integration the agent works in your CRM. It recognises the caller, records the conversation and books appointments, for phone and for chat.
Actions (you choose which ones are on)
Connecting (Agent → Tools → Add tool → HubSpot)
@hubspot_search_contact Always look up the caller at the start of the conversation.With Talk While Waiting the agent says a short phrase while it looks something up, such as "let me check that for you". With Talk After Action Completed you decide whether it says something afterwards. If you turn that off, it works silently in the background.
The agent can schedule an appointment through HubSpot using your team members' calendars. This works with the actions Fetch available time slots and Book appointment. The agent offers the caller three options and records the chosen appointment.
Setting it up
The slug
The slug is the last part of the team member's HubSpot meetings link. For meetings.hubspot.com/pdebrock it is pdebrock. You find the link in HubSpot under CRM → Contacts → Meetings, or on the scheduling page. The default slug is usually the first letter of the first name plus the surname.
With a slug the agent fetches the times directly from the connected calendar: working hours, buffers and busy times. It also really books the slot, so a busy moment is never offered as free. If you leave the slug empty, the agent works with an approximation (office hours minus logged meetings) and may offer times that are already taken in the personal calendar.
If a team member has several booking links, for example marco-vanwier and marco-vanwier/belafspraak, the agent books through the link and with the duration of the time slot it offered.
Permissions
The integration needs HubSpot's meetings and scheduler permissions for availability and booking. If you see a 403 on availability in the logs, reconnect with the right scopes.
The agent never asks the caller for an email address, because that is hard to hear over the phone. HubSpot does need an email address for a booking. This is how Ipster handles that:
marco@voys.nl becomes marco+31612345678@voys.nl. If you leave it empty, it is afspraken@ipster.nl.SMS confirmation
After a successful booking the caller automatically receives an SMS with the date, time and team member. You change the text under SMS confirmation to the caller with the placeholders {medewerker}, {datum}, {tijd} and {duur}. An example:
Confirmation: your appointment with {medewerker} is scheduled for {datum} at {tijd} ({duur} minutes). See you then.
If you leave the text empty, a default text applies. You can also turn the SMS off. The SMS goes through Ipster's SMS account, with the sender name of the agent's SMS tool if there is one. See also the question about SMS under Tools: the basics.
With the Google Calendar integration the agent looks in your calendar, checks whether a moment is free and books the appointment. It works for phone and chat.
Actions
Before the agent creates an appointment, it checks the moment once more. If it is taken, no appointment is added and the agent offers another time. The agent works with the timezone of the appointment, Europe/Amsterdam by default.
Connecting (Agent → Tools → Add tool → Google Calendar)
jan@bedrijf.nl. Not primary: that is the service account's own calendar. With an API key primary is fine.If the calendar is not shared with the service account, the agent has no access.
With Cal.com the agent fetches free time slots and books the chosen appointment directly in your Cal.com calendar. It works for phone and chat. You add two tools, so you decide what the agent may do:
Connecting
/event-types/123456.Europe/Amsterdam. Times are requested and booked in that timezone.In the prompt
Always use @check_beschikbaarheid first before you mention a time. Use @boek_afspraak as soon as the caller has chosen a time.
For a booking, Cal.com needs the customer's name and email address. Tell the agent in the prompt to ask for them first before it books.
With the Zendesk integration the agent recognises the caller by phone number, sees ongoing tickets, updates a ticket afterwards and checks before transferring whether a team member is available. It works for phone and chat.
Actions
Connecting (Agent → Tools → Add tool → Zendesk)
Setting up availability
Under Team members (for presence check), link names to Zendesk agent_ids. Before transferring, the agent checks whether that team member is online and does not transfer to an empty line.
The agent deliberately does not mention the ticket number to the caller. You find the ticket in Zendesk, and the conversation history in Ipster has a link to it.
Turn on Automatically create/update a ticket after every call on the Zendesk tool. This happens afterwards, even without the agent calling an action for it: a new ticket for an unknown caller, or an updated ticket for a known caller.
Settings
{{from_number}}, {{telefoonnummer_leesbaar}}, {{datum}}, {{tijd}} and any analysis field. An empty subject becomes the first line of the summary, an empty requester "Onbekende beller".Tags
Set Fixed tags (separated by commas) and Tags from the post-call analysis: the value of each chosen field becomes a tag. That way you filter and automate in Zendesk. On an existing ticket the tags are added and existing tags stay. Tags become lowercase with hyphens. For a fixed outcome tag, create a selector field with your own values, for example ipster-afgehandeld, ipster-doorverbonden and ipster-terugbel.
Requester
Ipster looks up the caller by number, including the numbers on the profile. With several profiles it first picks one with an email address, otherwise the oldest. Ipster never changes an existing profile.
With Payt the agent calls debtors about open invoices, discusses when they will pay or whether they want a payment plan, and writes the result back to the dossier in Payt.
Connecting (Agent → Tools → Add tool → Payt)
https://demo-api.paytsoftware.com.Actions
Calling out
Start the agent with an outbound call, via the outbound webhook, and send payt_debtor_number and payt_task_id as dynamic variables. The agent then knows who it is calling and where to write the result, also for voicemail or no answer. If the task ID is missing, the agent looks for the debtor's open task. A payment plan is never approved automatically.
With Autotask the agent recognises the caller, mentions open tickets and creates a ticket with priority and due date. The integration is meant for phone agents.
Actions
Connecting (Agent → Tools → Add tool → Autotask)
SLA targets cannot be read through the Autotask API, so you enter them yourself. Ipster calculates the due date within your business hours. The customer's contract is included, so Autotask keeps track of its own SLA.
The agent chooses P1 to P4 according to your prompt, for example "P1 = all printers are down". If the caller is not recognised, the agent asks for the company name. Or you set a Company ID for unknown callers.
With Shopify the agent recognises the caller by phone number, tells them where their order is and searches products with price and stock. Optionally it also sends a payment link or cancels an order that has not shipped yet, only after the customer agrees.
Actions
Payment links, notes and cancelling are off by default.
Connecting (Agent → Tools → Add tool → Shopify)
The agent only shows orders of the caller themselves. In the web chat it does not know who is writing, so there it can only search products.
Sparklayer is B2B ordering on Shopify. The agent recognises the business customer by phone number, tells them the status of their orders and searches products with their own customer price. If the customer wants to order, the agent drafts an order and only places it after the customer has confirmed.
Actions
Existing orders are only read. The agent only shows orders of the caller themselves. Placing a new order is off by default.
Connecting (Agent → Tools → Add tool → Sparklayer)
read_customers and read_products.In the web chat the agent can only search products.
With Uniconta the agent recognises the caller in your administration, looks up their orders and open items and mentions the stock of an item. The integration is deliberately read-only: nothing is created, changed or deleted in Uniconta.
Actions
Connecting (Agent → Tools → Add tool → Uniconta)
If the caller is not found, the integration reports that. What the agent does next, you decide in the prompt.
With Slack the agent sends a callback request or notification directly to the right colleague or channel. Your team sees at once who called and what it was about. It works for phone and chat.
Actions
Connecting (Agent → Tools → Add tool → Slack)
xoxb-...) of your own Slack app.Callback request from {{caller_number}}: caller wants to be called back.In the prompt
Use {{slack_users}} for the colleagues, {{slack_channels}} for all channels and {{slack_channel_naam}} for a channel by name, for example:
For a callback request for the websites department, send to channel {{slack_channel_websites}}.
Callback note after the call
If the caller wanted to speak to someone and was not transferred (no answer, unavailable or hung up), the agent picks the colleague according to your prompt after the call and sends them a note with the caller, topic, summary and a link to the conversation. This also happens if the caller did not ask for a callback. You can extend it to calls where a colleague needs to do something. If the agent cannot find the colleague, the note goes to the Default destination you set. The note is off by default. If the agent already sent a Slack message during the call, no second one follows.
With Vertimart Exquise the agent answers the phone, finds a free moment and registers a new patient. It can schedule a first appointment straight away. The integration works for phone agents.
Actions (you choose which ones are on)
When registering, the agent can also record a first appointment, with appointment type, start time, practitioner and chair, and optionally a remark.
Connecting (Agent → Tools → Add tool → Vertimart Exquise)
Sensitive information
In the privacy settings (Agent → Privacy & guardrails) you can, among other things, have the BSN and date of birth masked in the stored transcript, the logs and the conversation analysis. That filter is off by default, so you turn it on yourself. The audio recording still contains the spoken information. See the topic Privacy and security.
Go through this, part by part.
In general
Permissions and scopes
read_customers and read_products and access to the Purchasing API.Calendars and timezones
primary, and share the calendar with the service account with edit rights.Europe/Amsterdam by default.Caller not recognised
With Shopify, Sparklayer and Uniconta the agent shows no orders if the caller is not found. In the web chat it can only search products with Shopify and Sparklayer. With Zendesk, a ticket is skipped for calls shorter than the minimum call duration.
Slack
If a channel or colleague is missing, click Sync now. A channel outside the allowed list is refused.
Numbers, emergency number, outbound calls and your phone system
On the Phone Numbers page you manage the numbers that are linked to your agents. Once a number is linked to an agent, the agent answers automatically when someone calls that number.
+31201234567. You add a number from your own provider through a SIP trunk, see the next question.You can also set an inbound webhook and an emergency number per number. Both are covered further down in this topic. A number has a direction: inbound, outbound or both. To make outbound calls, the number needs outbound.
Can't link a number yourself? That is reserved for administrators. Contact an administrator, or Ipster or your partner.
If you want to use numbers from your own phone provider, you connect them through a SIP trunk. A trunk has shared credentials, so you can attach several numbers to one provider.
sip:), the SIP username and the SIP password.Under Advanced (trunk settings) you choose the transport (TLS on port 5061 is recommended, TCP and UDP use port 5060) and the media encryption: disabled, preferred SRTP or required SRTP. With Allowed addresses you restrict inbound traffic to specific IP addresses or CIDR ranges, one per line. Empty means allow everything. Switch off Krisp noise cancellation for providers that negotiate codecs strictly.
Do you have your own carrier contract and want Ipster to set up the trunk for you? Then contact Ipster or your partner. Managing carrier trunks yourself is only possible if Ipster has enabled it for your organisation.
You can make an agent reachable in two ways. You can also use them side by side.
The extension works with, among others, Voys Ascend, Xelion, Elevate UC, 3CX and Mitel CX.
You link a number of its own on Phone Numbers. You set up an extension under Agent → Telephony, see the next question.
You set this up under Agent → Telephony, in the Extension on your own phone system card.
hpbx204.telecomsvc.com), and the registrar domain. That is the full domain of your phone system, including the number in front of it, and it must match exactly what your provider has configured.Under Advanced you find the Authentication ID (only fill it in if it differs from the username), the outbound proxy (empty means default routing), the transport and the registration lifetime in seconds. The phone system may choose a shorter lifetime than you ask for. With the switch you turn the registration off temporarily.
If you delete the registration, the agent can no longer be reached through your phone system.
At the start of the call the agent knows which number is calling and can respond to that. There are three tools for this:
{{variable}} in the prompt. If it takes too long or goes wrong, the call simply starts without this context.The response of a phone number's inbound webhook can also contain override_agent_id to route to another agent, or direct_transfer_number (with optionally direct_transfer_message). The agent then doesn't start and the caller is transferred straight away.
Does someone call shortly after a WhatsApp message, or the other way round? Then they are recognised and the agent knows the recent conversation on the other channel.
Some callers you don't want the agent to answer, but to be connected straight through: suppliers, large customers, your own field service. You set this up under Agent → Telephony, in the Direct forwarding card. The list applies to every number linked to the agent.
Adding numbers:
Van der Valk Tours, 0612345678.* at the end applies to all numbers that start that way, for example an entire phone system (020123*).Changes go live immediately, independent of Save as draft and Go live.
This is how direct forwarding behaves:
*. The rule also takes precedence over the inbound webhook: if there is a match, the webhook is not called.With an emergency number, a caller isn't left hanging when the agent can't help. The call then goes to a person.
The emergency number is called in these cases:
You set it in two places:
Enter a fixed number (+31201234567) or a {{tag}} that your inbound webhook fills in, so that each location has its own emergency number. Note: if a tag is set and you switch off the agent, the inbound webhook is called first to fill the tag. If it doesn't answer in time, there is no fallback and the call goes silent.
An emergency number helps when the agent can't help. If the entire platform is down, nobody answers. So also set up 'forward on no answer' at your provider or phone system. Because Ipster only answers once the agent speaks, that catches such an outage automatically.
Under Agent → Telephony you find the Start outgoing call card. It appears as soon as the agent has a phone number with outbound.
+31612345678.If the agent uses the Payt integration, you can also enter a debtor number and optionally a task ID. The agent then knows whom to call and where to log the result.
Do you get a message that no phone number is linked or that the number isn't activated yet? Then check on Phone Numbers that the number is linked to the agent, is activated and has outbound.
Do you want to automate outbound calls from another system? See the next two questions.
The easiest way to have the agent make outbound calls from an external system (Zapier, n8n, your CRM or a form) is a single webhook URL, without an API key.
Call the URL with a POST (Content-Type: application/json). The body is, for example:
{"to_number": "+31612345678", "dynamic_variables": {"klantnaam": "Pim"}}
The keys under dynamic_variables correspond to the agent's variables (Variables) and are available in the prompt as {{variable}}. That way the agent immediately knows, for example, the customer's name or order number. If the agent uses the Payt integration, send payt_debtor_number and payt_task_id as well.
With New token you invalidate the old URL, which is useful if a URL has leaked.
The webhook is off by default: you deliberately switch it on per agent. The response contains a call_id with which you can find the call later in Usage.
With an integration with your phone system, the agent can look up colleagues or departments, check whether someone is available and transfer the caller. You simply keep working with your own phone system, Ipster does not replace it. Available are Xelion, 3CX, Mitel CX, Elevate UC (the cloud telephony platform from Intermedia) and Voys Ascend.
Changes to an integration first go into the draft and go live with Go live. Logging in to an integration does work immediately.
Per action you can set a short phrase that the agent says while it is busy, for example 'One moment, let me check'. That way it doesn't go silent while it looks up the destination or transfers.
master) and the username and password of a separate API account without multi-factor authentication. After Test connection you see the status labels of your environment and choose which count as reachable. The agent recognises the caller at the start by number, looks up a colleague, checks presence, transfers and requests the line status: the current night mode of a phone line, including after a manual change.With Elevate and Ascend the agent looks up colleagues, contacts and departments (hunt groups), checks presence, transfers, consults queues and retrieves recordings. A department there only has an internal extension: link the department to an external number, and the agent can transfer to it. By default only 'available' counts as reachable, so someone who is in a call counts as not reachable.
You set up transferring in the integration with your phone system (Agent → Telephony) or in the transfer tool (Agent → Tools). Among other things you choose:
No voicemail for the caller: while it rings, the caller only hears Ipster's ringtone, and once the colleague picks up, the agent listens in first. If the colleague's voicemail picks up, that line is hung up and the agent takes the caller back, offering to pass on a callback request. If the colleague isn't available, the agent explains that and asks what the caller is calling about.
Transfers can have required variables. A destination with an unfilled variable is refused and every outcome is logged.
Normally the insight stops as soon as the agent transfers the caller. With this option the audio recording and the transcript keep running, so you see the full call: first agent and caller, then caller and colleague.
On the transfer tool (Elevate, Ascend, Mitel CX or the generic transfer tool), switch on Keep capturing the call after transfer.
This only works with the transfer method Bridge (INVITE). The agent then stays silently on the line and keeps the recording going. With SIP REFER the agent leaves the line and listening in is technically impossible. The setting then shows a warning.
In the transcript, a divider ('Transferred to …') appears after the handover, and the caller and the colleague are labelled separately. The recording is one continuous file.
The automatic summary still covers the part with the agent. The full transcript, including the colleague, is available with the call in Usage. Sentiment also only looks at the call with the agent, not at the part after the transfer.
Yes, with a listening agent. It doesn't speak: there is no language model and no voice. Every incoming call goes straight to the destination, and Ipster stays on the line for the transcription and the recording of caller and destination.
You enter a destination and optionally a fallback number. If the destination doesn't pick up, or its voicemail answers, the fallback number is tried. If that fails too, the call is ended. The destination sees the caller's number.
Note: once it is set up, the agent no longer answers calls itself. Prompt, tools and greeting are skipped. Direct forwarding rules still take precedence.
The listening agent is under Agent → Telephony, in the Transfer and transcribe only card. That card is only visible to Ipster. If you want a listening agent, ask Ipster to set it up for you.
Listening in, coaching, taking over and the wallboard
On the dashboard, under Live conversations, you see what is running right now, with the latest sentences of each conversation. The overview refreshes itself. You see phone calls and also chat conversations through the website or WhatsApp.
On a running phone call you choose Monitor. You follow the call live, with almost no delay, and listen in without the caller or the agent noticing. The 'Live monitoring' window also shows the live transcript, with the roles Agent, Customer and Supervisor.
You find Monitor in two places:
At the top of the window you see the status: AI active as long as the agent is handling the call. With the Listen in button you switch the sound on or off.
From the same window you can also steer the agent or take over the call. That is covered in the next questions.
While you are listening in, you can steer the agent live without taking over the call. In the monitoring window, type an instruction for the AI and choose how it arrives:
Then choose Send. You get the message 'Instruction sent'.
An instruction could be, for example, that the agent should suggest an appointment, transfer to another department or say a particular sentence.
If you want to continue with the caller yourself, choose Take over in the monitoring window.
After Take over, the call simply appears in the transcript. You can find it later with the call in Usage.
Yes. On a running WhatsApp or website conversation you choose Live control. You can then:
You can always hand it back with Hand back to AI. If you don't, the conversation returns to the AI by itself 6 hours after your last message.
Two restrictions apply to WhatsApp. If the customer last wrote more than 24 hours ago, WhatsApp no longer allows a free message, only an approved template. And as a file you can send a photo (jpg or png), a video (mp4), a PDF or an Office document, up to 16 MB.
You close a finished chat conversation with Close conversation, so that a next message starts a new conversation.
The wallboard is a realtime overview for a screen on the wall. At a glance you see what is happening now and how the day has gone so far.
You open it in two ways:
The wallboard opens in a new tab, with your organisation's name, the time and the date at the top. The figures are those of today.
The wallboard consists of these parts:
Sentiment only looks at the conversation with the agent, not at the part after the transfer.
Peak concurrent today is the tile with concurrent calls. It counts how many phone calls were running at the same time, shows today's peak and below it the time at which that peak occurred, for example 'at 14:30'. Useful to see how busy it was at the busiest moment.
The Tools block shows which tools the agents used today and how often, with per tool the number of calls ('in 3 calls'). This block is off by default. You switch it on in the wallboard settings, see the next question.
Click the cogwheel at the top right to open Wallboard settings. You can set this:
With Back to default you reset the layout, the lines, the blocks and the agents.
The settings belong to your account: a TV that logs in with the same account gets the same layout.
Yes. The wallboard adapts to the screen.
At the top right there are also buttons to refresh, to switch between light and dark and to open the settings.
The wallboard deliberately shows no costs, not even to people with pricing rights. It hangs as a screen on the work floor and prices don't belong there.
Do you want to look further at a call? On an active call on the wallboard there is a link to Usage (Open in usage). There you find the call with the full transcript and the details.
Documents and websites your agent searches
A knowledge base gives the agent access to your own information: product details, frequently asked questions, manuals, policies or the pages of your website. When the agent gets a question it is not sure how to answer, it searches the linked knowledge bases itself and uses what it finds to give the caller or chatter a correct answer.
For this, Ipster gives the agent the search action search_knowledge_base, with the instruction to call it straight away for questions it is not sure about. You do not need to add that to the prompt yourself.
A knowledge base is separate from an agent. You can link one knowledge base to several agents, and give one agent several knowledge bases.
It works for phone agents and for chat agents (website and WhatsApp).
You create a knowledge base under Knowledge Bases in the menu:
You can also create a knowledge base straight from an agent's settings, see the question about linking one to an agent. If you are building an agent through the chat, the chat can create and fill the knowledge base for you as well.
You add documents with + documents in the knowledge base. The Add document window has four tabs:
.txt, .pdf or .md.After you add something, each document is processed automatically so that the agent can search it. You can follow the progress per document. Everything you add becomes its own document in the list, with an icon for its type.
This is how you import the pages of your website:
Ipster shows up to 200 pages that were found and you choose up to 40 at a time. If a page is missing, add it through the URL tab. Each chosen page becomes its own document. If you are building an existing agent through the chat, the chat shows the same selection list as soon as you mention your website.
A knowledge base only does something once it is linked to an agent.
If the knowledge base does not exist yet, click New knowledge base, enter a name and, if you like, a description, and choose Create and link. If you have no knowledge bases yet, that form is already open. You then add the documents in the knowledge base itself; the icon next to the knowledge base takes you straight there.
The bin icon unlinks a knowledge base again. The knowledge base itself stays.
Linking and unlinking first go into the agent's draft and only go live when you click Go live.
When the agent searches the knowledge base it takes a moment. Without extra setup there is silence. With the Talk while searching option the agent says a short phrase while it searches, so the caller is not left wondering.
You find the option under Agent → Knowledge Base, as soon as at least one knowledge base is linked:
The setting applies to all of the agent's knowledge bases together. If the agent sends several searches in one turn, the phrase plays at most once every 8 seconds, so it does not repeat itself. Like linking, this setting first goes into the draft.
Every document in a knowledge base has a status that updates by itself, roughly every 3 seconds:
For an error, a button with two arrows appears next to the document. It restarts the processing. If it fails again, check that the address is right and that there is text on the page or in the file. You can also edit the document and save it again, which restarts the processing as well.
As long as a document is not Ready, the agent cannot search it yet.
Yes, for documents of the URL type and for pages you added through Website. Ipster checks those addresses for changes automatically at night. If the content of a page has changed, the document is processed again. If nothing has changed, nothing happens, so not everything is read in again every night.
Text you pasted yourself and files you uploaded are not updated automatically. You change those by editing or replacing the document.
If you want a page read again straight away, open the document with the pencil icon and choose Save & reprocess. The page is then fetched again.
Open the knowledge base under Knowledge Bases. There you see all documents with title, type and status.
If you delete a knowledge base that is linked to an agent, check afterwards that the agent still has the information it needs.
Agents belong to your organisation, so everyone in your organisation with access to an agent works with the same agent and the same knowledge bases. Users of a customer account can manage knowledge bases and extraction fields on shared agents. Which parts you see depends on your role under Organisation → Team & permissions.
Changes to integrations, variables, knowledge bases and analysis fields first go into the agent's draft, just like the prompt. They only go live when you click Go live. That applies to which knowledge bases are linked to the agent and to the Talk while searching setting. This lets you prepare and test calmly before callers notice anything.
If you want to try bigger changes first, make a copy of the agent and test there.
Yes. With the public REST API and an API key (Organisation → API keys) you fetch knowledge bases and add documents. A new document first gets the status pending and is then processed automatically.
The details are in the app under API Docs. Through the MCP connection, an AI assistant that you connect yourself can also view knowledge bases and add documents.
The quality of the answers depends on what you put in. A few practical tips:
If the agent keeps missing the same information, add it as a text document. Under Insights, the Briefing and Recommendations tabs also contain suggestions for filling gaps in the knowledge base. You can have a suggestion for the knowledge base added there with one click.
Chat agents for your website and WhatsApp
Chat agents are text agents. They answer questions in a chat widget on your website or through WhatsApp. They do not use speech recognition or a voice, so there is no voice or phone number to set up.
This is how you create one:
If you would rather build the agent through the chat, choose the channel at the start. WhatsApp there means a chat agent that you link to WhatsApp afterwards.
Chat agents also have a knowledge base, extraction fields and a test function, just like phone agents. If someone calls after a chat or WhatsApp conversation, the phone agent knows that conversation, see the question about phone and WhatsApp.
You set up the chat widget on the chat agent, under Chat Agents → Widget. You can change:
Under Embed code you find the script to put on your website:
</body> tag, on every page where the chat should appear.With Open next to the preview URL you see the standalone chat page, handy for testing before you place the script.
With the Callback form tool, the agent shows a form in the chat as soon as the visitor wants to call or speak to a person. After it is filled in, the phone agent you chose calls the visitor and continues where the chat left off, with the chat conversation as context.
You switch the tool on under Chat Agents → Tools. You set:
Through WhatsApp, the phone agent calls back directly on the customer's WhatsApp number. Name and note then appear as a message in the chat.
Under Chat Agents → Widget you can link two phone agents to the widget:
For both, pick an agent from the list, or choose None to switch the function off.
You change the texts of the callback button and the form under Callback form texts, in the language of your visitors:
If you want more control over what the visitor fills in and when the agent shows the form, use the Callback form tool from the previous question.
Yes, with the Control website tool. When asked something, the agent can say: "Shall I take you to the page where this is?" and then take the visitor there. On that page it scrolls to the passage with the answer and briefly highlights it. The chat stays open and simply continues on the new page.
This is how you set it up:
The websites in the knowledge base and the site the chat is on are always allowed. Other sites never are.
Scrolling works on text: the agent passes a sentence from the page and the browser jumps there. This works in the chat widget on your website, not on WhatsApp.
You link WhatsApp on the chat agent, under Chat Agents → WhatsApp. There are three ways.
1. With your own number via Meta
After that, the agent answers the messages on that number. If you link a number while one is already linked, the new number replaces the current one.
2. A number from Ipster: if you have no connection of your own, choose a number under Use this number. You do not need a Meta account for this.
3. Let the administrator of the Facebook business account link it, see the question about a connect link.
Under Display name you request a different name. Meta checks new names, so the name is not active straight away. If it is declined, try another one.
If the automatic connection does not work, you can enter the Meta details manually under Advanced settings.
If Meta withdraws access for the number, for example after a password change, link it again.
Yes. You then link the number alongside the WhatsApp Business app. You simply keep the app: the agent replies, and if you send something yourself from the app, you take over that conversation and the agent stays silent.
This is how you link alongside the app:
Taking over works like this: the agent stays silent until 6 hours after your last message, or until you hand the conversation back in the dashboard.
Point to note: open the WhatsApp Business app on your phone at least once every 14 days. If you do not, Meta disconnects the link.
If you choose a new number, or a number without the app, only the agent uses the number. If the number is still in WhatsApp on a phone, it is switched off there.
If someone else manages the Facebook business account, for example at your customer, you send that person a connect link. They link it themselves, without an Ipster account.
This is how you create the link:
The link works once and for 7 days. You only see it at the moment you create it. Lost it? Choose Create new link, and the old one stops working. Revoke switches an open link off.
Whoever opens the link sees the page Connect WhatsApp to your AI agent. It takes about 5 minutes. They need a Facebook account that is administrator of the business at Meta and a phone with the number. They choose whether the number is in the WhatsApp Business app or new, click Connect with Facebook and follow the steps from Meta.
If logging in does not work:
WhatsApp only allows a free message within 24 hours after the customer last wrote. If that was longer ago, you can only send an approved template. You also use a template to start a conversation yourself.
You create templates under Chat Agents → WhatsApp → Message templates:
{{1}} and {{2}}, with Example values next to them. A Footer is optional.Meta reviews every new template first. The status is APPROVED, PENDING or REJECTED, and only approved templates can be sent. With Send test you send a template to a number.
Marketing templates are subject to Meta's delivery limit and may not be delivered. Use a service (utility) template for reliable delivery.
External systems such as Zapier, n8n or your CRM can also have a template sent proactively through a token endpoint. You create the token under Outbound API with Generate token. An outgoing template then appears in the conversation history.
With the Send WhatsApp tool, a phone agent can send the caller a WhatsApp during the call, for example to ask for a photo or document, or to send information afterwards. The message only goes to the caller's number.
You switch the tool on under Agent → Tools and set:
Within 24 hours after the caller messaged you, the agent sends a free message. Outside that, it picks a template and fills in the variables, in order. Without a ticked template, it can only send a free message if the caller messaged in the last 24 hours.
After sending, the agent hears whether the message was delivered or read, or whether the number cannot receive WhatsApp. In that last case it can switch to text message or email.
If the caller sends something back during the call, such as a photo or an order number, it arrives live in the call. The chat agent does not respond then. If the customer sends a photo, the agent can look at it.
If someone sends a WhatsApp message and then calls, or the other way round, the agent on the other channel knows what it was about. The link goes by phone number and only within the same organisation. So make sure the chat agent and the phone agent are in the same organisation, otherwise the conversations are not linked.
WhatsApp first, then a call
A call first, then WhatsApp
The chat agent knows the last phone call with the same number if it ended less than 24 hours before the WhatsApp conversation and something substantive was discussed. It continues where the conversation left off, but does not bring it up on its own if the customer writes about something else.
Seeing it back
At the top of the conversation detail under Usage you see "Linked to a WhatsApp conversation with this number" or "Linked to a recent phone call with this number", with a link to the other side.
With a running WhatsApp or website conversation you can read along, give the agent an instruction or take over the conversation and type yourself. You open the conversation with Live control, in the list of live conversations on the dashboard and the wallboard, or at the top of the conversation detail under Usage.
You have two options:
You can hand back at any time with Hand back to AI. The conversation also returns to the agent by itself, 6 hours after your last message. At the top you see until when the conversation is with you.
On WhatsApp the 24-hour rule applies: if the customer wrote more than 24 hours ago, WhatsApp only allows an approved template and no free message.
You close a finished chat conversation with Close conversation. You find the button at the top of the conversation detail under Usage:
The conversation is then closed for good. The next message from the same customer starts a new conversation, with a new inbound webhook and without the history of the previous one. The messages remain under Usage, and the end reason there reads "Closed manually".
This is handy when a customer writes about something new and the agent should no longer fall back on what was discussed before, or when you want to start with a clean slate each time while testing.
Chat and WhatsApp conversations that stop responding are closed automatically after 10 minutes. In the conversation history this shows as "Automatically closed".
Conversation data, extraction fields and statistics
After each conversation the agent can automatically pull information out of the transcript. Think of the sentiment, the reason for the conversation, a summary, or whether the caller made a complaint. We call this post-call data extraction.
You decide which information to capture by setting up extraction fields. For each field you give a name, a description of what should be captured and a type. After the conversation, Ipster fills in the fields based on the transcript.
What you can do with it:
samenvatting is used by the agent to retrieve the context of an earlier conversation, see the question about remembering earlier conversations.Extraction runs on the conversation the agent had, for phone and for chat.
You set up extraction fields on the agent, under Agent → Extraction. For a chat agent the section is in the same place in the settings.
You can edit or delete a field in the same list. If there is no field yet, Ipster suggests starting with, for example, a summary, whether the call was successful and the caller's sentiment.
Changes first go into the agent's draft and go live with Go live. Users of a customer account can manage extraction fields on shared agents.
Tip: the more precise the description, the more useful the result. Say in what form you want the answer.
There are four types. The type determines the form in which Ipster captures the answer.
Which type should you choose?
You can add as many fields per agent as you need. These are the fields you find back in your tools as variables.
You see the results per conversation in the conversation detail:
In the conversation detail you also see the transcript under Transcription, the agent's actions under Tools and the tasks for the conversation under Tasks. At the top right you can share the conversation with a link or download it as JSON.
If you want to see a field for all conversations at once, add a column for it in the conversation history. See the question about customising columns.
If you set a retention period for your organisation, transcript and analysis disappear after that period. The conversation detail then shows a notice with the date it happened.
Even without fields of your own, Ipster captures a number of details per conversation. You see them in the conversation detail and as columns in the conversation history under Usage:
Intent and outcome are not switched on as columns by default. You add them with the Add column… button.
The sentiment only looks at the part of the conversation with the agent. If a conversation is transferred to a colleague, the part after that does not count. The automatic summary also covers the part with the agent, while the full transcript, including the colleague, is kept with the conversation.
You see the sentiment bundled under Insights, as positive, neutral and negative, along with how many conversations it is based on.
If a customer calls again, the agent can receive the summary of the previous conversation. This uses the extraction field named samenvatting. So make sure the agent has an extraction field with exactly that name, and that its description produces a useful summary.
This is how you switch it on:
Tip: a short, factual summary works best, with what the customer asked and what was agreed.
The conversation history is under Usage → History. The monthly overview ("This month") has been merged into it as a collapsible panel at the top, closed by default.
Customising columns
Filtering and searching
The list shows 50 conversations per page.
Under Usage → History, the Export CSV button is at the end of the filter bar.
call-history- followed by the date.The export contains all rows that fall within your filters, not just the page you see, up to a maximum of 50,000 rows. If you choose a shorter period, the file stays manageable.
The file has these columns per conversation:
If you want to keep one conversation in full, open it and choose the download icon at the top right. That gives a JSON file with the whole conversation.
Under Insights in the menu you see statistics and trends for your agents. The Overview tab contains:
At the top you choose the period: this week, this month, last month, this quarter, last quarter or custom. You can also choose one or more agents or all agents at once, and search by name in that list.
If there is no data for your selection yet, you see that there is no data yet.
Besides the Overview, Insights has two tabs that help you improve the agent.
Briefing
Recommendations
You see that on the Impact tab in Insights. It compares the 14 days before and the 14 days after each published version of the agent went live.
For each version you see:
Read this as an indication. Differences may also come from seasonal or volume effects, for example a busy week or a campaign by your company. If there is too little traffic in one of the periods, it says there are too few conversations for a reliable comparison and names the minimum.
If there are no published versions to compare yet, the tab is empty.
Tip: change one thing at a time before you click Go live. That way you know better which change made the difference.
Under Transcripts in the menu (formerly Casus) you fetch call recordings from your phone system, transcribe them and analyse them. This works with an Elevate UC or Voys Ascend environment.
This is how it works:
The SOEP report is a structured triage report with Subjective, Objective, Evaluation and Plan, intended for care settings, for example.
If you no longer want a transcription, delete it with the bin icon. All recordings and transcripts that belong to it go with it.
On the page of a transcription you decide what happens with new conversations. This is in four blocks.
Which conversations
Tick the conversation types that are picked up: Inkomend (inbound), Uitgaand (outbound) and Intern (internal). The others are skipped, give no notification and do not count. Everything unticked means nothing is picked up. Ipster derives internal from the number: a short number without a country code is an extension. If a conversation cannot be classified, it is reported anyway.
Actions
Per action you switch on or off: Transcriptie (the raw text), Samenvatting (summary, optionally with your own prompt) and SOEP-verslag. For each action you can set your own message for the result.
Notification to Elevate Chat
Link Elevate Chat and choose recipients. Ipster then automatically sends a notification for a new conversation, with links to start the actions on request. The Bericht-sjabloon (message template) determines the text. Variables: {{date}}, {{phone_number}}, {{transcript_url}}, {{summary_url}}, {{soep_url}}, and for direct content {{transcript_text}}, {{summary_text}} and {{soep_text}}.
If you use the variables with direct content, Ipster has the recording transcribed or analysed as soon as it is detected. That takes extra processing and the notification can arrive 1 to 2 minutes later.
Do you have a question or comment about a specific conversation, for example because the agent said something wrong? Turn it into a task for the Ipster team.
The task automatically gets the link to the conversation. You follow replies and progress under Tasks in the menu. From a task you can also click through to the conversation there.
Tasks belong to your organisation. Tasks that someone creates are visible to all members, showing who made them. On the tasks page you switch between Open and Closed.
If your question is not about one conversation, use New task on the tasks page. If it is about a conversation, create the task from the conversation detail so the link is attached.
Check usage, invoices and your payment method
On Usage you see all conversations of your agents and what they consume. The page has two tabs:
In the list you see for each conversation, among other things, the date, the duration, the agent and the channel: phone (inbound or outbound), web, chat or WhatsApp. By default there are also columns for, among other things, end reason, status, sentiment and topics. You can add, remove or reorder columns yourself, see the question about filtering and columns.
The This month panel is closed by default. If you open it, you see over the calendar month the total number of sessions, the total number of minutes, the number of completed conversations and, if your account may see prices, the total costs. Below that is the usage per channel and a chart of the last 14 days.
Click a conversation to open the conversation detail.
Usage per channel is in the This month panel on the page Usage → History. Open the panel. You see four blocks, over the calendar month:
Below that is a stacked chart of the last 14 days. For each day you see how the traffic is divided over phone, WhatsApp, chat and web. If your account may see prices, there is also a line chart with the costs per day next to it.
If you want the split per agent, open the Per agent tab. If you want the split over a different period, go to Insights, where you choose the period yourself.
On Usage → Per agent you see the figures for this calendar month, per agent in one table. For each agent you see:
This lets you see at a glance which agent is busiest and on which channel. The figures follow the same calendar month as the cards in the This month panel and as Insights, so they can be compared with each other.
You only see the agents you have access to. Agents belong to your organisation, so everyone with access to an agent sees the same figures for that agent.
Click a conversation in the list under Usage to open the conversation detail. At the top are the date and the channel. Among other things you see:
Below that are tabs:
With the buttons at the top you open the timeline, share the conversation with a link, download it as JSON or look back at the conversation on the agent's workflow canvas.
Every conversation has an end reason, in the conversation detail and as a column in the history. These are the reasons:
Through the API the reason is called, among others, user_hangup, agent_hangup, transfer, agent_inactive_transfer, timeout, silence_timeout, voicemail, closed and error. Under Insights you see the distribution of the reasons over a period.
In the conversation detail you can open the timeline. It shows step by step what happened in the conversation: which tools the agent called, when, with which parameters, and what the result was. Phone actions such as retrieving invoices, checking presence and transferring are also shown. Failed actions appear with the error message. Tool responses are shown up to 2000 characters.
A few notices are special:
If the duration or the end reason is not what you expected, look at the timeline first. There you often see what happened before the end.
Above the list under Usage → History is a filter bar:
The columns can also be customised fully. With Add column… you choose from the built-in columns or from columns based on your own data, for example a "Branch" column. You can also remove and reorder columns. Your preference is remembered. Filtering per column works with a list that only shows the values that actually occur.
From the filter bar you export the conversations within your filters with Export CSV.
The Intent and Outcome columns are not on by default. Add them if you want to see why people call and how the conversation ended.
Invoicing is under Organisation → Invoicing in the menu. The Organisation page brings everything about your organisation together in one place: company details, Team & permissions, Invoicing, API keys and activity. The separate Billing menu item has been merged into it.
The Invoicing tab has four parts:
Whether you see the Invoicing tab depends on your role. Administrators manage under Organisation → Team & permissions which parts are visible per role, including invoices.
If no rate has been set yet, it says "No rate set yet". Your usage is still tracked. As soon as your rate is set, you see here what you pay each month.
On Organisation → Invoicing → Overview is the block Usage this period. For the current month it shows a meter with:
Overage is the usage above the included number of minutes. If you are over the limit, that appears as "min over limit".
If your account may see prices and your rate is set, the Expected invoice is also shown under the meter: the subscription amount, plus the overage if there is any.
For a more detailed picture, per conversation, per agent or per channel, go to Usage. There you also see how many minutes each conversation lasted.
You set up your payment method under Organisation → Invoicing → Payment method. There are two ways to pay:
This is how you set up automatic payment:
If automatic debit is active, you see which payment method is linked, for example a card with the last digits. With Manage or Change you open Stripe's payment portal to adjust the method.
Which of the two ways applies to your organisation depends on how your invoicing is set up. If you have a question about that, contact Ipster or your partner.
You change the details that appear on your invoice under Organisation → Invoicing → Billing details:
Click Save to store the changes. You get the message "Billing details saved".
You find invoices that have already been made under the Invoices tab.
Is the name or position of your organisation not right in your company details under Organisation → General? Your partner or Ipster manages those.
Your invoices are under Organisation → Invoicing → Invoices, in the invoice history. You see the last 12 invoices, the newest at the top. For each invoice you see:
If there are no invoices yet, it says "No invoices yet".
If your invoice is sent by email, it also arrives at the billing email address under Billing details. If you are missing an invoice or something is not right, contact your contact person at Ipster or your partner.
The duration of a conversation is recorded in seconds and shown in minutes. The minutes of all your conversations together make up your usage, which you see back under Usage and under Invoicing.
The costs of a conversation consist of a number of components:
In the conversation detail under Usage you see the breakdown per component, if your account may see prices. A chat agent has no speech recognition or voice, because it uses text.
How your usage compares to your rate, you see under Organisation → Invoicing → Overview. Which amount applies to your organisation is stated in your rate and in your quote or agreement with Ipster or your partner. On this page you only find how it works.
You can see an estimate in advance with the cost calculator in an agent's settings, where the estimated costs per minute appear for the chosen models.
Whether you see costs and prices is a setting of your account. If your account has no right to see prices, they are missing in several places:
The usage itself, such as the number of conversations and the minutes, stays visible. The wallboard deliberately shows no costs, not even for those with price rights.
New accounts that a partner or Ipster creates show no prices by default. If you do want to see them, ask your partner or Ipster to switch it on for your account.
Yes. An agent's usage is kept.
The conversations of a deleted agent are therefore kept and keep counting towards your usage.
API keys, the REST API and webhooks
With the REST API you manage Ipster from your own system, script or automation. Among other things you can view and configure agents, fetch conversations with transcripts, start outbound calls, follow up tasks and view phone numbers and knowledge bases.
Requests and responses are JSON. You sign in with an API key that you create yourself, see the next question. The full API documentation with all endpoints, parameters and examples is in the app under API Docs, once you are logged in.
Want an AI assistant to work with your Ipster environment? See the topic Ipster in your AI assistant.
You create an API key yourself in the app:
1.2.3.4, 5.6.7.0/24. The key then only works from those addresses.You only see the key once, so store it safely. A key you no longer need can be revoked from the same list. Keys belong to the organisation, not to a person.
A key belongs to one organisation and only sees what falls within that organisation and the customers below it. With a partner key you therefore see the data of all your customers, with a key from a customer organisation only that organisation's data.
You can restrict a key in two ways:
Give an integration only the permissions it needs, and revoke a key you no longer use.
With the event webhook, your own system automatically receives an HTTP request when a conversation starts or ends. That way you can, for example, update your CRM straight away or notify your team after every conversation.
Setting it up in the app:
https://your-system.com/webhook.call_started), Call ended (call_ended) or both. call_ended is on by default.Ipster sends a POST with JSON to your URL for each chosen event. For temporary errors, Ipster tries again. Ipster does not send any credentials itself, so secure your endpoint with your own secret in the URL or with an extra header (see the next question).
If the privacy filter is on (Privacy & guardrails), sensitive data is also masked in outgoing webhooks.
Without changes, Ipster sends a fixed standard payload with these fields:
event: call_started or call_endedagent_id, session_id, room_name and timestamp (ISO 8601)from_number, to_number and contact_number (the customer's number, regardless of direction)transcript (the full transcript as text)post_call: the results of the analysis after the call, such as samenvatting, sentiment, intentie, uitkomst and your own extraction fieldsAn example of a call_ended message:
{"event": "call_ended", "agent_id": "AGENT_ID", "session_id": "SESSION_ID", "from_number": "+31612345678", "to_number": "+31201234567", "transcript": "User: Hello...", "post_call": {"samenvatting": "Customer wants a callback", "sentiment": "positief"}}
Under Payload & headers, turn on the custom payload to define the JSON structure yourself. You use {{field}} placeholders, with a dot for sub-items. Available fields include:
{{event}}, {{agent_id}}, {{session_id}}, {{timestamp}}, {{room_name}}{{from_number}}, {{to_number}}, {{contact_number}} and {{direction}} (inbound or outbound){{dynamic_variables.name}} for your own call variablescall_ended: {{duration_seconds}}, {{end_reason}}, {{transcript}}, {{recording_url}}, {{cost_total}}, {{usage.llm_tokens_input}} and {{post_call.fieldname}}For example the template {"customer_id": "{{post_call.customer_id}}"} for call_ended. An event without its own template gets the standard payload. If a placeholder is the whole value, the type is preserved. An unknown field becomes empty. Under Payload & headers you can also add extra HTTP headers, such as X-Api-Key, whose value may also contain placeholders. cost_total and usage are only in the payload if you include them yourself.
The inbound webhook is called at the start of an incoming call, before the caller hears the agent. With your response you fetch customer data, give the agent variables, or send the call to another agent or a colleague.
Ipster sends a POST with JSON:
{"event": "call_inbound", "agent_id": "AGENT_ID", "session_id": "SESSION_ID", "from_number": "+31612345678", "to_number": "+31201234567", "room_name": "ROOM_NAME", "timestamp": "2026-06-11T09:21:54.000Z"}
Reply with HTTP 200 and JSON. All fields are optional:
dynamic_variables: key/value pairs, available in the prompt as {{key}}, for example {"dynamic_variables": {"customer_name": "Jan Jansen", "customer_number": "12345"}}.system_prompt: replaces the prompt for this call.override_agent_id: sends the call to a completely different agent, with its own voice, prompt and tools. Handy when one number serves several branches.agent_override: changes individual settings for this call. Allowed are voice_id, tts_provider, tts_model, llm_model, llm_provider, language, response_eagerness, interruption_sensitivity, first_message, first_message_mode, backchanneling_enabled, backchannel_frequency, reminder_seconds and silence_timeout_seconds.direct_transfer_number (E.164) with optional direct_transfer_message: the agent then does not start and the caller is transferred straight away. The other fields are ignored. Leave the message empty for complete silence, a literal . is spoken audibly.The response may also be nested under call_inbound. Ipster waits at most 10 seconds and retries up to 3 times on connection errors. If your webhook is too late, the call simply starts without this data.
The caller lookup webhook works the other way round from the inbound webhook. Your telephony or CRM system asks Ipster for the latest conversation data of a caller, for example for a screen pop. If you want to fetch customer data from your own system when a call comes in, use the inbound webhook or the agent's caller recognition instead.
Setting it up:
from_number, to_number, started_at, ended_at, duration_seconds, end_reason, user_sentiment, samenvatting, sentiment, the call variables (dynamic_variables) and your own extraction fields.[beller_nummer] with the caller's number.The URL contains a secret token. Keep it private.
The request is a GET. Ipster looks up this agent's latest conversation with that number, even if the number is written differently (+316..., 06..., 316...). Response when there is a conversation:
{"found": true, "from_number": "+31612345678", "samenvatting": "Customer wants a callback"}
If nothing is found, the webhook is off, or the token is wrong, you get {"found": false}. If the call has only just started, Ipster waits up to about 12 seconds for data that is still arriving.
With Redcactus format, Ipster responds in Redcactus's format: {"success": true, "parameters": [{"samenvatting": "..."}]}, with all values as text, and {"success": false, "parameters": []} when there is nothing. With Generate new token you invalidate the old URL, handy if it has leaked. A limit of 60 lookups per minute per token applies (then 429).
Connect Ipster to Claude, ChatGPT or another AI assistant
With the Ipster connector you work with your Ipster environment from your own AI assistant, for example from Claude, ChatGPT, Cursor or n8n. You can analyse conversations, look up figures, read transcripts and improve agents without opening the Ipster dashboard. The connector uses the Model Context Protocol (MCP), which these AI environments support. Ipster is therefore the MCP server for your AI assistant.
The connector address is:
https://mcp.ipster.ai/mcp
You need an Ipster account. When connecting, you choose what the assistant may do: read only, propose changes (as a draft) or everything. The explanation with the URL to copy is in the app under Organisation → API keys. A public explanation without logging in is at https://mcp.ipster.ai.
You simply ask a question or give an instruction in your own assistant. For example:
The assistant can, among other things, retrieve conversations with analysis (whether the goal was reached, sentiment, intent, outcome and summary), view a conversation with transcript and recording link, give figures for a period (per channel, minutes, transferred and sentiment), show tasks, knowledge bases and phone numbers, show an agent's test results and retrieve the weekly briefings with improvement suggestions. At the right level it can also change an agent's prompt and settings as a draft, run test cases, update a task and add a document to a knowledge base. As a partner, this also works for your customers.
They are two different directions of the same protocol.
In short: with the connector, your AI assistant uses Ipster; with the tool, your agent uses another server. You can use both side by side.
This is how you connect Ipster in Claude.ai:
Ipster as the name and https://mcp.ipster.ai/mcp as the URL.On Ipster's consent screen you can see which application is asking for access. The assistant only sees the organisation you choose and, if you are a partner, the customers below it. You can always revoke the connection (see the question about security and management).
ChatGPT: in ChatGPT's settings, add a connector with the URL https://mcp.ipster.ai/mcp. Developer mode must be on for this. Then you sign in to Ipster and allow the connection, just as with Claude.ai.
Claude Code: run this command:
claude mcp add --transport http ipster https://mcp.ipster.ai/mcp
Claude Code opens the browser so you can sign in to Ipster and allow the connection.
Other AI environments with a sign-in screen work the same way: add a connector with the same URL, sign in to Ipster and allow the connection. If your environment has no sign-in screen, use a key (see the next question).
For environments without a sign-in screen, you use a key:
Use the same URL, https://mcp.ipster.ai/mcp, and send the key as Authorization: Bearer YOUR_API_KEY. Examples:
claude mcp add --transport http ipster https://mcp.ipster.ai/mcp --header "Authorization: Bearer YOUR_API_KEY"mcp.json): {"mcpServers": {"ipster": {"type": "http", "url": "https://mcp.ipster.ai/mcp", "headers": {"Authorization": "Bearer YOUR_API_KEY"}}}}https://mcp.ipster.ai/mcp and the header Authorization with the value Bearer YOUR_API_KEY.A key for AI assistants only works on the connector, not on the REST API. Conversely, a regular REST key does not work on the connector. A maximum of 60 calls per minute is possible per key.
When connecting, you choose a level. A higher level includes everything from the lower ones.
Reading and changing the prompt is only possible if you have prompt access. With a key you can also choose individual permissions with Fine-tune: view agents, read and edit the prompt, conversations with transcripts and recordings, view tasks, view knowledge bases, view phone numbers, change agents (as a draft), update tasks, add documents, run test cases, publish drafts and start outbound calls.
An administrator can set a highest level per organisation. If that is lower than you want, you will see this when creating the key.
The assistant uses these Ipster tools. They appear in your assistant under their own names.
Read only
lijst_agents: agents of the organisation (and for a partner, of the customers)agent_details: an agent's settings in plain languagelijst_gesprekken: conversations with analysis: goal reached, sentiment, intent, outcome, summarygesprek_details: one conversation with transcript and a recording link valid for 1 hourgesprek_cijfers: figures for a period: per channel, minutes, transferred, sentimentlijst_taken: tasks (feedback on conversations) from the dashboardlijst_kennisbanken: knowledge bases and their documentslijst_telefoonnummers: phone numbers and the agent that answerstestresultaten: an agent's latest test runsinzichten: weekly briefings and improvement suggestionsconcept_bekijken: what the draft changes compared to liveRead and propose
prompt_aanpassen: new prompt as a draft (only with prompt access)agent_instellingen_aanpassen: settings as a draft: name, language, opening line, behaviour, privacyconcept_weggooien: discard the open drafttestcases_draaien: run test cases on draft or live (maximum 10 times per hour)taak_bijwerken: update a task's status or prioritykennisbank_document_toevoegen: add a document to a knowledge baseFull
concept_live_zetten: publish an agent's draftgesprek_starten: start an outbound callThe assistant only sees the tools that belong to the chosen level and your permissions.
Changes to an agent always start as a draft. Nothing goes live without a separate step.
concept_bekijken), discard the draft (concept_weggooien) and run test cases on the draft or on the live agent (testcases_draaien, maximum 10 times per hour).Reading or changing the prompt is only possible with prompt access. That permission is checked again on every request, even if it is withdrawn later. Tip: let the assistant make a proposal and run test cases before you publish the draft yourself.
This is how the connection is secured and managed:
Revoking takes effect immediately: the assistant loses access straight away. You see and revoke your own connections under Settings → My connected AI assistants with the Revoke button. An administrator sees all connections and keys of the organisation under Organisation → API keys.
What the assistant retrieves, such as transcripts and recordings, goes to the AI provider you use yourself. That is outside Ipster's EU environment. Recording links are valid for 1 hour.
So choose the level and permissions deliberately:
Every call from the assistant is recorded in your organisation's activity log, so you can check what was retrieved or changed.
These are the most common causes:
https://mcp.ipster.ai/mcp.If you cannot work it out, email support@ipster.nl.
Team, roles, permissions, tasks and managing your organisation
Under Organisation you manage everything about your own organisation in one place. The separate Billing and Team & permissions menu items have been merged into it.
At the top is the name of your organisation, with five tabs below it:
If you are a customer of a partner, that is shown on General ('Customer of …'). The name and position of your organisation are managed by your partner or Ipster. You cannot change your rate or invoicing here either.
What you see depends on your role and your permissions. The Organisation menu is available to administrators and to members with the Manage team or Invoices permission, and only if you belong to an organisation.
Per tab:
If you are missing something you need, ask an administrator of your organisation to adjust your role or permissions. If you do not belong to an organisation at all, you will see a message telling you to ask your administrator or Ipster to add you.
Go to Organisation → General. The details of your organisation are in a single form:
Change the fields and click Save. You will see 'Details saved'. The button only becomes active once you have changed something.
Only an administrator can edit these fields; for other members they are read-only. The name of your organisation is at the top of the form and cannot be changed here: your partner or Ipster manages it.
Go to Organisation → Team & permissions. If you may manage the team, the Invite member button is at the top right.
The Members block shows everyone in your organisation with name, email address and role. If you may manage the team, you change a role with the list next to a name or remove someone with the bin icon. A member you remove loses access to all agents, so you are asked to confirm first. You cannot remove yourself. For everyone else the role is just a label.
You do not grant access per agent: anyone in the organisation has access according to their role.
There are five roles:
Administrator, sales, consultant and purchasing see all agents of the organisation. Only for a team member do you decide per agent what they see. If someone has several roles, they get the permissions of all their roles combined. Ipster staff with an admin role always have everything.
What a role may do exactly is set with the permissions matrix. That is in the next question.
You find the matrix under Organisation → Team & permissions, in Permissions per role. The rows are the roles, the columns are the permissions. A tick means the role may use that part. Only someone who may manage the team can set ticks, and each tick is saved straight away.
These are the permissions:
The matrix applies to your organisation and everything below it. If someone has several roles, the permissions of those roles are added together.
You do that in two places, with the same ticks. Both are meant for whoever manages the team.
Per team member. Under Organisation → Team & permissions there is the Agent access for team members block. Each row is a team member, each column an agent. For each combination you tick view and/or edit.
Per agent. Open the agent and choose the Organisation & access tab. There you see the organisation of the agent and the members with their role. Team members have the same two ticks. For other roles it says 'sees everything via role'.
Two rules to remember:
No team member yet? First set the role of a member to Team member.
An agent is attached to an organisation, not to a single user. Everyone in your organisation therefore has access to the same agents, according to their role, and anyone who joins does not need to be linked per agent.
On the agent page, the Organisation & access tab shows which organisation the agent belongs to. Next to it is the path upwards in the organisation tree, for example your partner. Anyone above your organisation can see and manage the agent too. An agent that still belongs to Ipster and is not linked to a customer or partner is only visible to Ipster.
Usage and access run through the organisation. When you create a new agent, you choose which organisation it is for ('Agent for'), if you can choose between several organisations. You can move an agent to another organisation later on the agent page. The administrator of both the current and the new organisation may do that.
Choose Tasks in the menu. Tasks belong to your organisation: a task that someone creates is visible to all members, showing who created it ('by …'). You see your own tasks without a name. A team member sees the tasks of the agents ticked for them.
With the Open / Closed switch at the top you move between open and finished work. Under Open you will also find tasks with the status In progress. The list shows the latest 100 tasks of your choice.
For each task you see:
Next to Tasks in the menu there is a counter for tasks with an unread reply.
There are two ways, depending on what the task is about.
A task that is not about one conversation. On the Tasks page, click New task at the top right. It is a task for the Ipster team. Enter the description, choose the priority (Low, Normal or High, Normal by default) and click Create task. The task is placed in your own organisation and is visible to all members.
A task about a specific conversation. Create it from the conversation detail with Add task. The conversation link is then attached, so whoever picks up the task sees exactly what it was about.
Describe as specifically as possible what went wrong or what you want, for example which question the agent did not understand. You can also retrieve and update tasks through the API, see /tasks in the API documentation.
Click a task in the list. A panel opens with the description, the status and all replies in order. At the bottom you type a reply and send it with the button next to it. New replies from others appear in the panel by themselves.
The status is Open, In progress or Closed:
You will find a closed task under Closed on the tasks page. In the list you see for each open task whether the last reply came from the handler (Answered) or not yet (Unanswered).
Deleting an agent means archiving it. If you click Delete on the agent and confirm, it goes to the trash:
Deleted by mistake? An administrator can restore it within 30 days:
The agent comes back switched off. Reconnect its number and channels afterwards and switch it on again. If the list is empty, it says 'The trash is empty'. After 30 days an agent is deleted permanently and automatically; its calls and usage are then kept, without an agent. Only Ipster can delete permanently sooner.
Administrators find this under Organisation → Activity. It holds the activity log of your organisation, newest first, up to 500 lines. Each line says who did it (with the email address below), what happened and when.
Examples of what it contains:
Other actions appear as a short line with the name and the action. Every call made by a connected AI assistant is also recorded in this log.
As an administrator, go to Organisation → API keys. Keys belong to the organisation, not to a person. A key sees everything within your organisation.
1.2.3.4, 5.6.7.0/24.The list shows the name, the start of the key and the permissions. With the bin icon you revoke a key. Below the keys you will also find the AI assistants that were connected through Connect in, for example, Claude or ChatGPT; you can revoke those immediately too.
Settings is about you personally, Organisation is about your whole organisation.
You open Settings with the cog next to your email address at the bottom of the menu:
Everything that applies to the whole organisation is under Organisation: company details, team and permissions, invoicing, API keys and activity.
Both are cards under Organisation → General, for administrators and members with the Manage team permission.
Retention period decides how long the content of calls is kept, separately for three kinds:
Per kind, choose Unlimited, 30, 90, 180, 365, 730 or 1825 days, or Inherit to follow the period of the parent organisation. After that, Ipster deletes the content automatically every night; usage, costs and statistics remain. Deletion is permanent and also applies to calls from before today. If nothing is set, content is kept without limit.
AI assistants (MCP) decides whether assistants such as Claude or ChatGPT may be connected (Connecting allowed: Yes, No or Inherit) and up to which level (Highest level: Read only, Read and propose or Full). This takes effect immediately, also for existing connections and keys.
Click Save after a change. A partner can also set both for their customers.
Customers, quotes, rates, settlement and tasks in the partner portal
The partner portal is the environment where, as a partner, you manage your customers, quotes and settlement. You open it with the Partner portal button in the main menu of the Ipster dashboard. With Back to Ipster you go back.
The partner portal menu contains:
You set your own logo under Settings → Branding. It replaces the Ipster logo for you, for your colleagues within this partner account and for your own customers.
Go to Partner portal → Customers and click New customer. Administrators and sales members of your organisation can do this.
Ipster checks whether a customer with the same KVK number or the same domain already exists. If so, you see those customers with the reason and you choose Create anyway or cancel.
The customer is placed directly in your organisation, below your organisation, and you land on their customer card. Enrichment starts there automatically. The customer list has a search field and shows each customer's status and creation date. Click a customer to open the customer card.
You open the customer card via Partner portal → Customers. It contains:
With Edit at the top right you change the customer details: website, KVK number, VAT number, order reference, contact person, phone number and billing email address. Editing, enriching and the settings are for administrators and sales members. Consultants can also build or link agents.
You do that on the customer card, in the Rate block. Administrators and sales members can set it.
The rate of a customer comes from one of two sources. A manually set rate takes precedence. Otherwise the customer's won quote applies. If there is neither, only minutes are counted and nothing is invoiced.
This is how you set a rate:
The block then shows the source (for example 'From quote …' or 'Price book + markup'), the monthly amount for the customer, the included minutes and the per-minute price, plus your cost and margin. With the bin icon you remove a manual rate; the won quote then applies again.
Go to Partner portal → Quotes and click New quote. Administrators and sales members can save quotes. Others can calculate and export, but not save.
The quote number is assigned when you save and counts up per organisation; you cannot enter it yourself. The calculator uses Ipster's active, version-controlled price book; the amounts of a saved quote are fixed. If no price book is active yet, you get a message that an Ipster administrator has to activate one first.
The calculator works in steps. All names and amounts come from Ipster's price book and are shown on the screen itself.
If something is not listed, add a custom line with a description and an amount. You can do this per month and as a one-off.
Next to the total you choose the term of the contract. With the Show per-minute price on the quote switch you decide whether the per-minute price appears on the shared page and in the PDF. Hiding it does not affect the calculation, only the display.
An AI agent minute covers the complete active handling by the agent, from the conversation with the caller to processing, registration and carrying out connected actions. It is calculated per second and not rounded.
Open a saved quote and click Share quote. Sharing and exporting only appear after the quote has been saved.
In the window:
From the moment the link is first switched on, the quote is valid for 30 days. You see 'Issued on … valid until …'. After that, the link shows 'This quote has expired'. In the window and in the quote list you see how often the quote has been viewed and when it was last viewed.
Via Export you get the quote as a PDF with your logo, as a Word document, as text or just the lines to paste into Excel or Word. On the quote, each line has an explanation behind an i button, estimated items are marked 'estimate' and the customer sees what the price per AI agent minute consists of.
In the Share quote window there is the Compose yourself block. There you tick per quote which parts the customer may adjust themselves on the shared page:
A tick is saved straight away. What you do not tick, the customer cannot change, not even with a request of their own: the tick is the limit. If you have entered a custom monthly price, the customer cannot adjust anything.
Below the amounts the customer sees a collapsed Compose yourself block ('Does this proposal not fit exactly? Put together what you need yourself'). While adjusting, the page gives advice: a button with the package that is better value. Every change is recalculated by Ipster, so the amount on the screen is the same as the amount the customer signs for.
At the bottom of the shared quote there is the For approval block. The customer:
Before signing, it states what Ipster records: name, job title, signature, the time and the IP address, together with the amounts in the quote. That establishes what the customer signed for. An expired quote can no longer be signed.
After signing:
Under Partner portal → Quotes you find all quotes within your organisation. At the top you see counters for Open, Won and Lost. You search by customer name or quote number and filter on All, Open, Won or Lost.
For each quote you see the number, the customer, the monthly amount, the one-off amount and the status. For an open quote it says 'not sent yet' or 'sent on …' below it, with the number of views. If it has been signed, it says 'signed by …'.
As an administrator or sales member:
A won quote is the source of the customer's rate, until you set a manual rate. Only an administrator can delete a quote, after a confirmation. That is permanent: the status history, an active public link and, for a signed quote, the signature and IP address disappear as well.
Under Partner portal → Settlement you see per period what Ipster settles with you. What you get depends on who invoices the customer, which you set per customer on the customer card:
Open a period for the breakdown per customer: the source of the rate (quote with number, subscription, manual rate or no rate), the subscription, the used and included minutes, the overage, the total, the cost and your margin.
The settlement first runs for a month as a draft. Such a period carries the label draft, dry run: the figures are real, so you can follow along before the first real settlement. If you see nothing yet, it says 'No settlements yet'. The first one appears once Ipster has calculated a period.
Under Partner portal → Tasks you see not only your own tasks but the tasks across your whole customer portfolio, within your own organisation tree. Each task shows the name of the organisation.
The menu shows a counter for tasks waiting for a reply.
Your own team. Under Partner portal → Team & permissions you manage the members of your partner organisation: invite with Invite member, change roles and set the permissions matrix. The roles are Administrator, Sales, Consultant, Purchasing and Team member. What each role may do is in the topic Organisation and team. In the partner portal, administrators and sales members create customers and change the customer card, rate and quotes. Consultants build and link agents for customers.
A customer's accounts. On the customer card there is the Accounts block. With Invite account you invite a user at the customer, with the role Administrator, Purchasing, Sales or Consultant. The name is optional, the email address is required.
If you may manage that customer's users, you can also change a user's role there (also to Team member) or remove them from the organisation. The Team & permissions button then opens the full matrix of that customer.
Customers you create are placed directly in your organisation tree, so you do not need to link them to your account separately.
New customer and partner accounts that you create do not show prices by default. This covers the price per minute, the model costs and the chat prices. The Consultant role also says in its description that it sees no prices by default.
So if a colleague or customer sees no amounts in the dashboard, that is not an error. The Prices permission is currently not in the permissions matrix under Team & permissions, so you cannot switch it on per role there.
A number of settings follow the organisation tree: what you set as a partner applies to your customers, unless they change it themselves.
For the retention period and the policy for AI assistants, an organisation chooses its own value per item or Inherit. The value of the parent organisation then applies, and you see which one that is. If nothing is set anywhere, content is kept without limit and AI assistants may be connected up to the highest level.
For a customer you set this on the customer card, as administrator or sales member. Note: a retention period deletes permanently, including calls from before today, and a new policy for AI assistants applies immediately to existing connections and keys.
As a partner you manage API keys under Partner portal → API keys. Keys belong to the organisation, not to a person.
The public API follows the organisation tree: a key sees everything within its own organisation and the customers below it. With a key of your partner organisation you therefore also reach the data of your customers.
Create a key with Create key. You choose a name, the type (REST API or For AI assistants (MCP)), the permissions per part (read and write for agents, calls, phone-numbers, knowledge-bases and tasks, where ticking nothing means full access) and optionally an IP allowlist. The key is shown only once, so store it straight away. With the bin icon you revoke it.
You send the key as a Bearer token: Authorization: Bearer YOUR_API_KEY. The full description is in the menu Help & docs → API Docs. Under Partner portal → Activity you see who in your organisation did what.
Our support team is here for you. Get in touch and we'll help you as quickly as possible.
We use cookies to improve the user experience, analyse website traffic and deliver personalised content. Read our cookie policy.