Start with Ipster today

Ipster answers questions, requests and appointments directly through your connected system. 24/7 availability for your business.

Help Center

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

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:

  1. You write a prompt that describes who the agent is and what it does.
  2. You add tools and integrations, for example for your calendar, CRM or SMS.
  3. You connect the agent to a phone number, a chat widget or WhatsApp.
  4. You can find every conversation again with its transcript, summary, costs and the actions the agent carried out.

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.

  • New account: you receive an email with a link. Choose a password of at least 8 characters and click Activate account.
  • Lost your password: click Forgot? when signing in. The reset link in your email is valid for 12 hours.

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 Voice 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:

  • Phone agent (voice): handles inbound and outbound phone calls. You can also test it directly in the browser. You find these agents under Voice Agents.
  • Chat agent: works with text, through a chat widget on your website or through WhatsApp Business. You find these agents under Chat 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 Voice Agents (or Chat Agents for a chat agent) and click New agent. Then choose how you want to build:

  • Build in the workflow: you answer four short questions and then watch your agent take shape in the workflow. You carry on in the chat straight away.
  • Build via chat (recommended): you chat with Ipster, say what you want and Ipster builds the agent live, including prompt, integrations and testing.
  • From Scratch: a form where you fill in everything yourself, for those who know exactly what they want.

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:

  1. Which company are we building the agent for? Enter the company name and, if you like, your website. Ipster reads the website for opening hours, services and frequently asked questions.
  2. Where will the agent help people? Choose Phone, Chat on the website or WhatsApp. You can always add a channel later.
  3. Which systems do you use? Choose your phone system, customer service or CRM system, web shop, calendar or automation tool. If it is not listed, type it under Something else?. No systems? Just carry on.
  4. What do you want to achieve with the agent? Describe it in your own words, or click the microphone and say it. With buttons such as Answer questions and Book appointments you can quickly add a sentence.

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:

  • Start with the channel and the company name. Ipster can scan your website for services, tone of voice and frequently asked questions.
  • Put website pages in the knowledge base. Ipster finds the pages of your site (up to 200) and you choose what goes in.
  • Add real conversations as a file or transcript (via Add). Ipster analyses them and uses the insights for the prompt. Ipster first puts policy choices to you in a Quick confirmation card.
  • Ipster switches integrations on. You enter login details and API keys in a secure form, never in the conversation itself. Want a custom integration? Give the goal and the link to the API documentation.
  • You also set voice, behaviour, spam filter, reminders for silence, privacy, emergency number, variables and test cases through the chat.

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.

  1. Enter a recognisable Name. It is visible internally to you and your team. A short Description is optional.
  2. Choose the Type: Voice (phone) or Chat (widget or WhatsApp).
  3. Choose the Language: Dutch, English, German or French.
  4. Under Brain, Listen & Voice choose the language model, the speech recognition and the voice. The default values are fine to start with.
  5. Fill in the System Prompt, or click Genereer prompt. Ipster then writes a complete prompt based on the name and description, with identity, style, opening, core tasks, boundaries and closing. After that you adjust it.
  6. Click Create agent.

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.

  • Phone agent: open the agent and use the Test agent block. Start a test conversation to call the agent through the browser. You can enter a test phone number to imitate an inbound call from that number, which is useful for tools that look up by phone number. You can also enter test values for your variables.
  • Chat agent: ask questions in the test window the way a customer would.
  • In the workflow: choose Call yourself and click Call the agent. You call through the browser with the draft, so with your latest changes, even if they are not live yet. Open changes are saved as a draft first. The canvas lights up what the agent is doing at that moment.
  • Without speaking yourself: use Simulate or automated tests (see the next questions).

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).

  1. Choose Own scenario and describe who is calling and what they want. For example: you are Jan, your bus did not turn up and you want to speak to a colleague. Or choose an existing test.
  2. Optionally fill in what should happen. An AI then judges whether it worked: Passed or Not passed.
  3. Click Start simulation.

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:

  • The simulation uses your current changes, even if they have not been saved yet.
  • Tools receive test answers: nothing is actually sent, booked or looked up. Webhooks and analysis before and after the conversation are not simulated.
  • You can simulate as a specific phone number. The agent then also gets the previous conversation from that number. You test real customer recognition with Call yourself.

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:

  • a Name, for example inbound-sim: customer recognition unknown number;
  • a User prompt: the role and goal of the simulated caller, for example a Dutch caller whose invoice is wrong;
  • Success criteria: what the agent must have done for the conversation to count as passed;
  • optionally dynamic variables and tool mocks (a fixed result for a tool instead of the real call);
  • the model that plays the caller and judges the outcome.

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.

  • Save as draft stores your changes. The live agent does not change.
  • Go live puts the draft live and creates a new version.
  • Discard draft throws the draft away and goes back to the live version.
  • Under Versions you see all earlier published versions.

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:

  1. Test the draft with Test agent, Call yourself or Simulate.
  2. Click Go live. You find the button at the top right of the agent page (as soon as there is a draft) and in the bar at the bottom of the settings.
  3. If the agent has test scenarios, the Regression test before going live opens first. Click Run regression test to check that nothing breaks. Failed tests do not block going live.
  4. In the settings, Ipster asks for a version label. It is optional but useful for finding the version later, for example 'v2 - New prompt' or 'With HubSpot tool'.

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:

  1. Open the agent and click Versions at the top right. The number of published versions is shown next to it.
  2. In the Version history list you see the label, model, voice and date of each version. The current version has the Live label. An open draft is at the top.

For an earlier version, choose what you want:

  • Load as draft: the old version goes into the draft. This lets you look at it, adjust it and test it first, and then publish it with Go live.
  • Go live directly: after confirmation, the old version goes live immediately.

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.

  1. Open the agent, click the three-dot menu and choose Duplicate.
  2. Adjust the name (by default it is the agent's name with '(copy)').
  3. Choose whether to include the event webhook. If you do, the customer's system also receives the test calls of the copy.
  4. Click Duplicate.

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.

Agents and prompts

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:

  • Identity: 'You are Lisa, the phone assistant of Bouwbedrijf de Vries.'
  • Goal: 'You help callers with questions about opening hours, appointments and quotes.'
  • Tone: 'Always speak in a friendly and professional way. Do not use jargon.'
  • Boundaries: 'Always refer technical questions to a colleague.'

Extra tips for a phone agent:

  • Write the way you speak: short sentences, no bullet points in what the agent says.
  • Say what the agent should do in case of silence or an unclear question.
  • Describe the desired flow of the conversation step by step.
  • Explain when the agent may end the conversation.

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:

  • From Scratch: for a new agent, enter a name and description and click Genereer prompt. Ipster then writes a complete prompt with identity, style, opening, core tasks, boundaries and closing. After that you can adjust it as you like.
  • Build via chat or in the workflow: Ipster writes the prompt based on your answers, your website and any conversation transcripts. It makes small changes in a targeted way, without rewriting the whole prompt.
  • Edit via chat: for an existing agent you say what should be different and Ipster adjusts the prompt. The change goes into the draft.

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.

  1. Go to Agent → Settings → Prompt and click Optimaliseer prompt. The button only works once there is a prompt.
  2. Describe what should be different, for example: 'First ask whether you are speaking to the right person and only then mention amounts', 'Check the status before you mention the amount' or 'Make the tone more informal'. You can list several points. If you leave it empty, you get a general quality improvement.
  3. Click Update prompt (or press Cmd+Enter). Adjusting and checking can take a minute.
  4. Ipster rewrites the affected blocks, checks the result and shows the changes per section. Under What happened to your request you see for each point whether it is Done, Partly done or Not done.
  5. For each section, tick or untick what you want to keep and click Apply. Only ticked sections are applied. Changes are sometimes linked, so preferably apply all of them.
  6. Save the prompt as a draft and test it.

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:

  • In the prompt editor, click Flow toevoegen. You get a ready-made template. Flows are highlighted in the editor.
  • Or in the workflow, click + Add flow under the prompt card. Fill in the name, when to use it, any conditions and the text.

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.
  • A 'not equal' condition: the same line, but with an exclamation mark directly in front of the equals sign. The flow is then available if the variable has a different 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:

  • Default value: you set it under Agent → Settings → Variables. It applies to every caller, unless another source provides a value.
  • The API or an outbound webhook: for an outbound call you send the variables along, for example a customer name or debtor number.
  • The inbound webhook: it is called at the start of a conversation, before the agent says anything, with among other things the caller's number. Reply with a flat JSON object: every key becomes a variable that you can use in the prompt straight away. If it takes too long or goes wrong, the conversation simply starts without this context.
  • A test call: when testing you enter values yourself.

Fixed variables that Ipster fills in itself:

  • {{from_number}}: the caller's phone number.
  • {{to_number}}: the number that was called.
  • With the Opening hours tool: {{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.

  • Agent starts: if this is on (recommended), the agent speaks an opening sentence as soon as the connection is made. If it is off, the agent waits for the caller. That is useful if it has to answer questions straight away without a fixed introduction.
  • First message, Fixed message: you type the Opening sentence yourself. You can use {{variable}}, for example Hello {{first_name}}, welcome to {{company_name}}. How can I help you?
  • First message, Dynamic (AI generated): the language model writes a slightly different opening sentence each time, based on your prompt. That sounds more natural, but is less predictable.
  • Not interruptible: with this switch the caller cannot interrupt the opening. Useful for short welcome messages.

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:

  • OpenAI: including gpt-5.5, gpt-5.4, gpt-4.1, gpt-4o and gpt-4o-mini.
  • Anthropic: claude-opus-4-5, claude-sonnet-4-5 and claude-haiku-4-5.
  • Google: gemini-2.5-flash and gemini-2.5-pro.
  • Groq: including llama-3.3-70b-versatile and llama-3.1-8b-instant.
  • Mistral (EU): mistral-medium-latest, mistral-large-latest, mistral-small-latest and the smaller ministral models. The language model is then processed in Europe. Combine it with Ipster Listen and Ipster Voice if you also want speech processed in Europe.
  • Custom: you enter the name of a model yourself.

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:

  • Deepgram: the recommended choice when low latency matters.
  • Ipster Listen (European hosting): with two models, V4 (default) and V5 Real-Time, which is meant for lower latency and higher accuracy.
  • Juvoly: for medical Dutch. Dutch only.
  • OpenAI Whisper.
  • Google and Azure.

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:

  • V3: most expressive.
  • V4 Turbo: newest model, expressive and fast.
  • V4: newest model, most expressive.
  • Turbo v2.5: fast, low latency.
  • Flash v2.5: the fastest model.
  • Multilingual v2: highest quality, 29 languages.

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.

  1. First choose the provider, for example ElevenLabs or Ipster Voice.
  2. Next to the Voice ID field, click Voice Library (for ElevenLabs and Ipster Voice).
  3. Search by name or description, and for ElevenLabs also by language, accent and gender. Listen to the samples and click a voice to choose it.

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):

  • The agent only switches after at least two full sentences in another language, or if the caller explicitly asks. Single words do not count. When in doubt, it stays in the current language.
  • After that it keeps that language for the whole conversation, even if the prompt is written in Dutch.
  • Available languages: Dutch, English, German and French.

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:

  • +31 and +32: Dutch
  • +49, +43, +41 and +423: German
  • +33, +352 and +377: French
  • All other countries: English

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:

  • Before the conversation: arrival and preparation, such as numbers, direct routing, inbound webhook, emergency number and context from earlier conversations.
  • During the conversation: the opening, the agent with knowledge base, tools and the structure of the prompt, and wrapping up (hanging up, transferring, maximum duration, voicemail).
  • After the conversation: analysis (summary, sentiment, custom fields) and follow-up (webhook, Zendesk ticket, caller lookup).

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:

  • Green: on and active.
  • Grey: set up but switched off.
  • Dotted: not set up yet. With Set up you go straight to the place where you can do that.
  • Blue: happens automatically, nothing is needed, such as the WhatsApp context.

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.

  • Agent settings (model, voice, behaviour, prompt) go into the draft. Save with Save as draft and go live with Go live. The panel tells you whether something goes into the draft or goes live immediately.
  • Under the prompt card is + Add flow (or + Add section for a prompt with headings). With Delete flow you remove it again.
  • Tools, Transfer and Hang up by itself have the tool picker (+ Add tool) with all settings per tool.
  • What the panel cannot do, you open with Open in settings. You connect a number under Phone Numbers.
  • Through Chat above the canvas you adjust the agent in plain words. Changes go into the draft and light up.

Testing on the canvas:

  • Simulate: an AI plays the caller and the canvas lights up what the agent does. With Follow the canvas zooms along with the current step, with Overview everything stays in view. You can switch the speed between Slow, Normal and Fast while it plays.
  • Call yourself: call through the browser with the draft.
  • You can also replay a real conversation on the canvas, with the recording alongside.

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.

Behaviour settings

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:

  • Choose a sound: Office, Café, Call center, Nature or Light noise. Choose None to turn it off.
  • Set the volume with the slider: 0 is silent and 1 is maximum.

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:

  • Off: no filter. This is the default and the fastest processing.
  • Light: removes light background noise.
  • Aggressive: also removes louder ambient sound. This can slightly distort the caller's voice.

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.

  • Higher means a faster response, but there is more chance that the agent interrupts the caller by mistake.
  • Lower makes the agent wait a little first.

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).

  • High: the agent stops as soon as the caller says something.
  • Low: the agent is more likely to finish its sentence and does not let itself be interrupted easily.

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:

  • On or off: switch backchanneling on or off.
  • Frequency: how often the agent says an acknowledgement. 0 is never and 1 is very often.
  • Backchannel words: a comma-separated list of words the agent may use. If you leave it empty, the agent uses a default list such as mm-hmm, yes, okay, I understand.

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:

  • Only after the caller has been speaking continuously for a few seconds.
  • Never right after the agent's own sentence and never during a silence.
  • Not while a call is being transferred.
  • With at least a few seconds between two acknowledgements.

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:

  • Seconds: how long the agent waits before it sends the reminder, for example 8.
  • Times max: the maximum number of times the reminder is sent, for example 2.
  • Reminder instruction (optional): what the agent says, for example "Hello? Are you still there?". If you leave it empty, the agent politely asks whether the caller is still there or needs help.

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:

  • Max call duration: after this number of seconds the call ends automatically, even if the caller is still talking. The default is 3600 seconds (1 hour). Useful to limit calls that get stuck. The call is wrapped up properly and the correct end reason is logged.
  • End call after silence: the agent hangs up if it stays quiet for longer than this number of seconds. The default is 0, which means off. A typical value is 30 to 60 seconds. The counter starts again after the agent has said a reminder.
  • Ring duration on transfer: how long the destination's phone may ring before the agent gives up and treats it as no answer. The default is 30 seconds and it applies as the default for all transfer tools.

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:

  • Look back up to: how far back the agent looks. You choose from 30 minutes, 1 day, 3 days, 7 days or 14 days.
  • Also search conversations from: by default only the conversations of the same agent. You can choose all agents in your account, or tick one or more specific agents.

The feature only works if two conditions are met:

  • Post-call extraction is set up with a field for a summary. The agent uses that summary of the previous call.
  • The caller has called before from the same phone number, within the chosen time window.

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.

  1. Click Add.
  2. Under Word, enter the word as it appears in the prompt.
  3. Under Pronunciation, enter how it should sound, written phonetically.
  4. Save and test the pronunciation with the test button.

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. If you do not see the tab, Ipster or your partner manages the model for you.

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:

  • Under Agent → Tools, open the tool, for example transfer or HubSpot. The phrase can be set per tool and, for some tools, per action. For Payt the field is called Talk while waiting and you leave it empty to turn it off.
  • Under Agent → Knowledge Base, the setting is called Talk while searching.

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 agent only switches after at least two full sentences in another language, or when the caller explicitly asks for it. Single words do not count.
  • After that it keeps that language for the rest of the call.
  • The languages are Dutch, English, German and French.

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.

Privacy and security

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:

  • The Privacy filter, which masks sensitive data in what is stored and shared.
  • Also hide from the AI, which also hides data from the language model.
  • Protection against manipulation, so the agent cannot be talked out of its role.
  • The Abuse filter, which sets boundaries on abusive behaviour.

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:

  • the stored transcript,
  • the call logs,
  • the post-call analysis, including the stored results,
  • outgoing webhooks.

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:

  1. Click Add pattern.
  2. Enter a label, for example case.
  3. Enter the regular expression, for example 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:

  1. Turn on the Privacy filter.
  2. Turn on Also hide from the AI (LLM).
  3. Choose per category what the language model may not see.

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:

  1. Go to Agent → Tools and add Verify identity.
  2. Under Value to verify, choose which value the caller says: date of birth, BSN, IBAN or account, credit card, email address or phone number.
  3. Under Variable with expected value, enter the name of the variable that holds the correct value, for example 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:

  • change its instructions or role,
  • reveal its system prompt,
  • pretend to be a different system.

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:

  • Set boundaries politely and continue: the agent calmly sets boundaries and carries on with the call.
  • End the call politely: the agent politely ends the call after a warning.

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:

  • Transcripts and analysis: transcript, call log, variables and the post-call analysis.
  • Recordings: the audio of phone calls.
  • Chat and WhatsApp: messages and attached files.

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:

  • Deletion is permanent.
  • It also applies to conversations from before the day you set the period.
  • Usage, costs and statistics remain. The conversation itself therefore stays in your overviews, but without its content.
  • In the conversation detail you see a notice that the transcript, the analysis or the recording was deleted on a certain date according to the retention period.

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:

  • At the opening, the agent says it is an AI assistant, in the language of the conversation.
  • If someone asks whether they are talking to a human, the agent confirms that it is AI. It never says it is a human.
  • In chat and WhatsApp, the word AI is also in the agent's name.
  • This applies on all channels and in all languages, including outbound calls.
  • The notice cannot be turned off.

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:

  • Ipster Listen: speech recognition with European hosting.
  • Ipster Voice: European voices.
  • Soniox: speech recognition with an EU endpoint.
  • Mistral (EU): a language model for those who want everything processed in Europe.

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:

  • Level: when connecting you choose Read, Propose or Full. With Propose, changes to an agent are always prepared as a draft. Nothing goes live.
  • Policy: an administrator decides per organisation whether AI assistants may be connected and up to which level. This also applies to child organisations. You find it under Organisation, in AI assistants (MCP).
  • Permissions: the assistant can never do more than the user may do in Ipster.
  • Log: every call appears in the organisation's activity log.
  • Revoking: works immediately. You find your own connections under Settings, and all connections of the organisation under Organisation → API keys.

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:

  • There is a separate Transcripts permission for transcripts and recordings of conversations.
  • Other permissions cover the system prompt, usage, prices and invoices.
  • A team member only sees the agents an administrator has ticked for them. Administrator, Sales, Consultant and Purchasing see all agents of the organisation.
  • Someone with multiple roles gets the permissions of all their roles combined.
  • Ipster admins always have all permissions. With login-as, an administrator can look in on a customer's environment securely.

In the activity log under Organisation → Activity you see who did what and when, including logins.

Tools: the basics

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

  1. Open the agent and go to Agent → Tools.
  2. Click Add tool and choose the type. The list is divided into Telephony, Via MCP, Native integrations, Agent tools, Widget & website and Custom.
  3. Fill in the settings, such as name and description, and save.

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

  • End call, transfer call, send SMS, send WhatsApp, send DTMF tones and verify identity: for phone agents.
  • Opening hours, extract variable, custom webhook and MCP server: also for chat agents.

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

  • Custom webhook: turn on Talk While Waiting and enter the phrase. With Talk After Action Completed you decide whether the agent says something about the result afterwards. If you turn it off, the agent works silently in the background.
  • HubSpot has the same two options.
  • Transfer call (with Warm Transfer): Talk while waiting, for example "I'll transfer you now...".
  • Payt and the telephone system integrations: a phrase per action, while the agent looks something up or transfers.
  • Knowledge base: Talk while searching, for example "Let me check...".

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

  1. Open the tool (for a custom webhook or Transfer call) and find the Requirements block.
  2. Click Add condition and choose a variable.
  3. Choose the comparison: equals, does not equal or has a value.
  4. Optionally fill in an Error message when not met.

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

  • Add the tool via Agent → Tools → Add tool → End call. There is nothing to connect.
  • Name: the name you use to refer to the tool in the prompt, end_call by default.
  • Description: when the agent should use the tool.

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

  • The agent first says its goodbye in full and then hangs up.
  • After the goodbye the agent says nothing more. A reminder such as "Are you still there?" is no longer spoken either.
  • In Usage, such a call shows the end reason "Agent ended". "Customer ended" means the caller hung up.

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

  • Name and Description: how you refer to the tool in the prompt and when the agent uses it.
  • Transfer to: Fixed number (always the same number in E.164 format, for example +31612345678), Variable (a value from the context, for example {{vestiging_phonenumber}}) or Agent decides (the agent determines the number itself based on the conversation).
  • Transfer mode: Cold Transfer connects directly without an introduction. With Warm Transfer the agent says a short phrase, plays a ringtone and then transfers.

Extra options for warm transfer

  • During the transfer: hold music (ringtone or silence), ring duration and Navigate IVR, where the agent navigates menus itself.
  • A short phrase while the caller waits.
  • After connection: a three-way ringtone, a Whisper Debrief Message that only the employee hears (a fixed phrase or a prompt from which the agent writes a summary) and a three-way message that both parties hear.

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

  • SIP INVITE (Bridge): Ipster calls the destination itself and the call keeps running through Ipster. The agent stays silent on the line. Needed if you want the recording and transcript to continue, and for the voicemail check. This uses double call minutes, because two lines are open.
  • SIP REFER: the caller's provider redirects the call itself and the call leaves Ipster. Your provider must support REFER. After that you see nothing: no recording and no listening in. If the colleague's voicemail picks up, the caller stays there.

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

  • Displayed caller ID: the agent's number or the caller's number.
  • Custom SIP Headers: key/value pairs for routing, metadata or carrier integration.

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:

  • While the phone rings, the caller only hears the Ipster ringtone. The sound from the colleague's line, including a voicemail greeting that already arrives while it rings, only comes through once the call has really been answered.
  • After the call is answered, the agent listens in for a few seconds. If it sounds like a voicemail ("leave a message", "after the tone", "currently not available"), the agent hangs up that line and takes the caller back. It then offers to pass on a callback request or message.
  • If the colleague says something like "Pieter speaking" and it then goes quiet for a moment, caller and colleague are connected. A person who answers therefore hears about a second of silence.
  • If nobody answers within the ring duration, the transfer is cancelled and the agent takes the caller back.

Points to note

  • This only works with SIP INVITE (Bridge). With SIP REFER the call leaves Ipster and the colleague's voicemail can still reach the caller.
  • If the voicemail picks up quickly, choose a shorter ring duration, for example 20 seconds.
  • After a missed transfer, Ipster can send a callback note in Slack after the call. See the question about Slack under Integrations with systems.

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)

  • Name and Description: how you refer to the tool in the prompt and when the agent uses it, for example stuur_sms_bevestiging.
  • Sender name: the name the recipient sees. By default this is your organisation's name, shortened to a maximum of 11 characters (letters, digits and spaces). Change it if you want something else.
  • Send to: the Caller's number, or let the agent determine the number based on the conversation.
  • SMS content: Prompt (LLM), where the agent writes the text itself based on the conversation, or Fixed text that is always the same, for example "Thank you for your message. We will contact you as soon as possible."

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

  • The message only goes to the caller's number.
  • Within 24 hours after the caller messaged on WhatsApp themselves, the agent may send a free message. Outside that window only an approved template is possible. The agent then picks a template you have ticked and fills in the variables in order ({{1}}, {{2}}).
  • After sending, the agent hears whether the message was delivered or whether the number cannot receive WhatsApp. In the latter case it can switch to SMS or email.

Settings (Agent → Tools → Add tool → Send WhatsApp)

  • WhatsApp number: by default the first active number of your organisation. You can choose another number.
  • Templates the agent may choose: tick the approved templates. You create new templates under WhatsApp on the chat agent.
  • Wait for delivery (seconds): how long the agent waits for WhatsApp's confirmation after sending, from 0 to 15 seconds (default 8).

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)

  • Name: for example send_dtmf. Your own name helps if you have several of these tools.
  • Description: when the agent should use the tool, for example "use this when a menu choice is requested".

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)

  1. Enter the Variable name, without spaces, for example klantnummer. Use only letters, digits and underscores. The variable name is also the name of the tool.
  2. In Description, enter what the agent should capture, for example "Extract the customer's name from the conversation".
  3. Tell the agent in the prompt when to ask for the information.

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)

  1. Under Value to verify, choose what the caller says: BSN, IBAN, credit card, email, phone number or date of birth.
  2. Under Variable with expected value, enter the name of the variable holding the correct value, for example expected_dob. That value usually comes from an integration (such as a CRM lookup) or from the inbound webhook.
  3. Add to the prompt that the agent calls the tool after the caller has said the information.

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)

  • Timezone: Europe/Amsterdam by default.
  • Weekly schedule: open or closed per day, with one or more blocks (for example a block after lunch). The starting value is Monday to Friday 09:00 to 17:00, closed at the weekend.
  • Holidays: days on which you are closed. This overrides the weekly schedule. With the Dutch holidays button you add them in one go.
  • Exceptions: one-off deviations on a date, an extra closure or different hours, with an optional note. An exception takes precedence over a holiday, and a holiday over the weekly schedule.

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)

  • Name and Description: this is how the agent knows when to use the webhook.
  • URL and method: GET, POST, PUT, PATCH or DELETE. With the Test button you check the call.
  • Timeout (ms): 10000 by default, so Ipster waits at most ten seconds for a response.
  • Headers: for example Authorization: Bearer ... for security. You can also add query parameters.
  • Parameters: which information the agent sends along. Choose the mode where the agent fills in the value itself based on the description, or a fixed value that is always sent.
  • Store Fields as Variables: keep a field from the response as a variable for the prompt or a following tool.
  • Requirements: only run the webhook once a condition is met.
  • Talk While Waiting and Talk After Action Completed: see the question about talking during an action.

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)

  1. Prepare your server and copy its URL.
  2. Paste the URL into Ipster. If the server asks for a token, enter it. The token is optional and is sent as Authorization: Bearer ....
  3. Test the connection. You then see which tools the server offers.
  4. Tell the agent in the prompt when to use a tool from the server.

Per provider

  • Composio: in the Composio dashboard, connect the apps you want to use and copy the MCP Server URL (250+ apps, such as Salesforce, Pipedrive and Slack).
  • n8n: use n8n version 1.70 or higher, add an MCP Server Trigger node to your workflow and copy the generated MCP Server URL.
  • Zapier: copy your personal MCP Server URL and set which Zapier Actions are available.
  • Your own server: any MCP-compatible server, including Make MCP.

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.

Integrations with systems

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

  • CRM and tickets: HubSpot, Zendesk and Autotask.
  • Calendar: Google Calendar and Cal.com.
  • Webshop and ordering: Shopify and Sparklayer.
  • Accounting and debt collection: Uniconta and Payt.
  • Team: Slack.
  • Healthcare: Vertimart Exquise.

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

  1. Go to Agent → Tools, click Add tool and choose the integration under Native integrations.
  2. Connect your account. With HubSpot, Zendesk, Payt, Slack and Shopify you sign in through a button (OAuth), so you do not have to copy a key. With other systems you enter an API key, a token or the details of a service user.
  3. Choose which actions the agent may use. Only turn on what you need. Some actions, such as sending a payment link, placing or cancelling an order, are off by default.
  4. Tell the agent in the prompt when to use which action. Type an @ and choose the action, for example to look up the caller at the start of the conversation.
  5. Test the integration. Where a Test connection button exists, use it, and then make a test call.

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)

  • Search contact: by phone number, email address or name. The agent receives the caller's number automatically and never needs to ask for it.
  • Create contact: for a caller who is not known yet.
  • Save note: after the conversation a summary as a note on the contact. Optionally with a link to the conversation and an accompanying task.
  • Create task: a follow-up, such as a callback, with subject, description, due date and priority.
  • Fetch available time slots and Book appointment: see the next questions.

Connecting (Agent → Tools → Add tool → HubSpot)

  1. Click Connect with HubSpot and sign in. HubSpot arranges the access itself (OAuth). Pasting a Private App Token works too: HubSpot → Settings → Integrations → Private Apps.
  2. Choose the actions.
  3. Tell the agent in the prompt when to use them, for example @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

  • Calendars: add the team members whose calendar may be read, with name, HubSpot Owner ID (HubSpot → Settings → Users) and the scheduling link slug.
  • Duration (minutes), Days ahead and Business hours: the length of an appointment, how far ahead the agent looks and within which hours it offers times.

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:

  • If the caller is known, the agent uses the email address from HubSpot.
  • If the caller is unknown, the agent uses the address you set under Email address for unknown callers, with the caller's number appended: marco@voys.nl becomes marco+31612345678@voys.nl. If you leave it empty, it is afspraken@ipster.nl.
  • Use a real mailbox of your own: HubSpot's confirmation emails arrive there.
  • After booking, the agent adds the phone number and name to the contact, so the caller is recognised by number next time.

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

  • Check availability: what is already scheduled on a date, and whether a moment with a start and end time is free.
  • Create appointment: the appointment with title, start and end. Optionally with the caller's email address as an attendee. That is not required.

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)

  1. Choose the Authentication method: Service Account for private calendars or API Key (public) for public calendars.
  2. For a service account, create one in the Google Cloud Console, download the JSON key and paste the full JSON into Ipster.
  3. Share your calendar with the service account's email address: Google Calendar → Settings for your calendar → Share with specific people, with the permission "Make changes to events".
  4. Under Calendar ID, enter your own Google email address, for example jan@bedrijf.nl. Not primary: that is the service account's own calendar. With an API key primary is fine.
  5. Choose the actions and tell the agent in the prompt when it checks the calendar and when it may schedule an appointment.

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:

  • Check availability (Cal.com): fetches the free time slots of your event type for a date.
  • Book appointment (Cal.com): books the appointment with the customer's name and email address.

Connecting

  1. In Cal.com, create an API key under Settings → Developer → API Keys.
  2. Add the tool via Agent → Tools → Add tool and paste the key.
  3. Enter the Event type ID. You see it in the address bar when you open the event type, for example /event-types/123456.
  4. Choose the Timezone. By default it is Europe/Amsterdam. Times are requested and booked in that timezone.
  5. On the booking tool, choose whether the customer gets a Send confirmation email from Cal.com. By default that is off.

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

  • Recognise caller: for a personal greeting and context.
  • Get open tickets and Get ticket history: so it does not create a duplicate ticket and knows what happened before.
  • Create ticket and Update ticket: after the conversation, with summary, tags and optionally the transcript.
  • Check availability: via Zendesk Talk. This works on standard Zendesk, you do not need Talk Partner Edition.

Connecting (Agent → Tools → Add tool → Zendesk)

  1. Enter your Zendesk subdomain, the part before .zendesk.com, and click Connect to Zendesk. Fill in the subdomain before you connect.
  2. Sign in to Zendesk and grant permission. You do not need to paste a password or token. Every customer connects their own Zendesk through their own subdomain.
  3. Prefer not to use OAuth? Use the email address of a Zendesk team member with an API token (Admin Center → Apps and integrations → APIs → Zendesk API → Token). The subdomain is still required.
  4. Choose the actions and tell the agent in the prompt when to use them.

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

  • Minimum call duration (seconds): shorter calls, such as a voicemail or an immediate hang-up, are skipped. Default 10. With 0 every call gets a ticket.
  • For known callers: update the open ticket (otherwise create a new one), always create a new ticket, or do nothing.
  • For unknown callers: create a new ticket or do nothing.
  • Fields to include in the ticket: choose from your extraction fields, such as summary, sentiment, topics, intent and outcome. Time (Amsterdam time), call duration and end reason are always added below. If something is missing, add an extraction field from the Zendesk tool. It then also appears under Agent → Extraction.
  • Ticket subject and Requester name (unknown caller): with variables such as {{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)

  1. Click Connect to Payt and sign in (OAuth). A static API token from Payt (Settings → API) works too, but Payt then needs an IP allow list.
  2. Click Fetch administrations and tick which administrations the agent may use. If only one is ticked, the agent uses it automatically. The same integration works on several agents at once.
  3. Testing? Set the API base URL to https://demo-api.paytsoftware.com.

Actions

  • Get open invoices, with amount, due date, payment link and invoice PDF to share.
  • Get debtor info.
  • Log call outcome: result (reached, voicemail, no answer), summary and promised payment date, as a note on the dossier task.
  • Propose payment plan: as a proposal, a team member approves it in Payt. Get active payment plans prevents a duplicate plan.
  • Send message via Payt: an email with a confirmation, a copy of the invoice or a payment link.
  • Block invoice on dispute: pauses the reminders and logs the reason. A team member resumes it.
  • Complete task after logging, and update debtor details (a phone or email correction as a note).

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

  • Recognise caller: a contact by phone, mobile or alternate number, or the company for a main number. For a contact, the agent also mentions the open tickets.
  • Add note to an existing ticket of the company.
  • Create ticket: with priority P1 to P4, status, queue and a due date from your SLA. No resource is assigned, your team picks it up from the queue.
  • Look up account manager: name, phone, extension and email address, for sales questions.
  • Ticket history (the latest completed tickets with the resolution) and Search knowledge base.

Connecting (Agent → Tools → Add tool → Autotask)

  1. In Autotask, create an API user with security level "API User (system)" and an API Integration Code.
  2. Enter the API user (username), the Secret and the API Integration Code and click Test connection. Ipster looks up the zone and fetches the picklists. The test also shows which permissions are missing, such as read access to tickets, contacts, contracts, resources or the knowledge base.
  3. Under Settings for new tickets, link the status (for example New), the queue (for example 1st line), the source (for example Phone) and P1 to P4.
  4. Enter the Resolution time per priority (business hours) and the Business hours (Mon-Fri). By default these are 4, 8, 24 and 40 hours for P1 to P4, and 08:00 to 17:00.

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

  • Recognise caller by the caller's number. The agent receives that number automatically.
  • Latest orders: the five most recent, with payment and fulfilment status.
  • Order details and tracking: one order by order number, with products, carrier and tracking.
  • Search products by name or SKU, with price and stock.
  • Payment link for a new order: the agent calculates the order, reads it back and sends the payment link after approval. The order only comes into being when the customer pays. Optionally also by email via Shopify.
  • Add note to an order or the customer. Something is added, nothing is overwritten.
  • Cancel order: only an order that has not shipped and only after confirmation. You choose whether the amount is refunded automatically, whether the items are restocked and whether the customer gets a cancellation email.

Payment links, notes and cancelling are off by default.

Connecting (Agent → Tools → Add tool → Shopify)

  1. Enter the Store address (the part before .myshopify.com) and click Connect with Shopify. Grant permission in your Shopify admin.
  2. Or choose Own app token: in the Shopify admin go to Settings → Apps → Develop apps, create an app, grant the permissions the chosen actions need and paste the Admin API token.
  3. Click Test connection. It shows whether your store is reachable and which permissions are missing.

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

  • Recognise caller: the agent finds the customer in Shopify by the caller's number and links them to Sparklayer.
  • Latest orders: the five most recent orders or quotes, with order number, date, status and total.
  • Order details: one order by order number, with lines, total, delivery address and shipments.
  • Search products: by name or SKU, with stock and the customer price, including tier prices.
  • Place new order: first a draft with lines, shipping costs and total. The order only follows when the customer clearly says yes. A PO number, a reference and a requested delivery date can be included.

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)

  1. Enter the Site ID (Sparklayer dashboard → Account) and the client ID and client secret (Configuration → API). Choose the Environment: Live or Test (sandbox).
  2. Enter the Shopify store and the Shopify Admin API token. Customers and products come from Shopify. Create a custom app there with the permissions read_customers and read_products.
  3. Choose the Payment method for new orders: on account or by invoice.
  4. Click Test connection. The test checks, among other things, whether orders can be read. For that, the API key in Sparklayer needs access to the Purchasing API.

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

  • Recognise caller: by the debtor's phone or mobile number. If the number is on a contact person instead, the agent finds that too and knows which debtor it belongs to.
  • Look up orders: the debtor's most recent sales orders, newest first.
  • Look up order lines: what is in an order, by order number.
  • Look up open invoices: the debtor's unpaid items, sorted by due date.
  • Look up stock: by item number, how much is available per warehouse.

Connecting (Agent → Tools → Add tool → Uniconta)

  1. In Uniconta, create a separate service user for this integration, apart from your team members' accounts.
  2. In Ipster, enter the Login ID, the Password and the API key / App ID of that user, plus the Company ID from your Uniconta administration.
  3. Tell the agent in the prompt when to recognise the caller and when to look up orders, items or stock.

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

  • Send DM: a direct message to one colleague.
  • Send channel message: a message in a channel, for a team or department.
  • Callback note after the call: see below.

Connecting (Agent → Tools → Add tool → Slack)

  1. Click Connect Slack workspace and choose your workspace (OAuth). Or paste the bot token (xoxb-...) of your own Slack app.
  2. Choose the actions. Under Allowed channels for the agent, tick where the agent may send. If you leave everything off, it may send to all synced channels. A channel outside the list is refused.
  3. If something new has been added in Slack, click Sync now. Ipster keeps your colleagues and channels synced.
  4. Optionally give a Message template as a guideline, such as 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)

  • Get availability: the free moments for a type of appointment and a period, per practitioner and chair.
  • Get locations: the practice locations with name, address and phone number.
  • Register patient (name and address): with name, date of birth, address and email address. A phone number and a location can be added.
  • Register patient (BSN): with the BSN, date of birth and email address. The name and address details are then retrieved automatically. This requires the patient's consent.
  • Cancel registration: cancels a previously created registration and the related appointment.

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)

  1. Enter the API key and the Licence ID you receive from Vertimart.
  2. Under the enabled functions, choose which actions the agent may carry out, for example only availability and registering by name and address.
  3. Explain in the prompt when the agent uses which action and which details it must ask the patient for.

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

  • Is the action turned on? The agent can only use what you ticked on the integration.
  • Does the prompt say when the agent should use the action? Refer to it with @.
  • Are your changes live? They only go live with Go live.
  • Where possible, use Test connection. For Autotask, Shopify and Sparklayer it shows which permissions are missing.

Permissions and scopes

  • HubSpot: if you see a 403 on availability in the logs, reconnect with the meetings and scheduler permissions.
  • Shopify: missing permissions appear in the test. Sparklayer needs read_customers and read_products and access to the Purchasing API.
  • Autotask: give the API user read permissions on tickets, contacts, contracts, resources and the knowledge base.
  • Payt: a static API token requires an IP allow list.

Calendars and timezones

  • Google Calendar: enter your own email address as Calendar ID, not primary, and share the calendar with the service account with edit rights.
  • Cal.com: the agent needs name and email address, and the right Event type ID. Check the timezone, Europe/Amsterdam by default.
  • HubSpot: if you leave the slug empty, the agent may offer times that are already taken.
  • Autotask: the due date is calculated within the business hours and resolution times you set.

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.

Telephony

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.

  1. Open Phone Numbers in the menu.
  2. Make sure the number is in the list, in E.164 format, for example +31201234567. You add a number from your own provider through a SIP trunk, see the next question.
  3. Link the number to the agent with Link agent.
  4. Check that the number is activated. If you change the number's settings later, apply them with Reactivate.

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.

  1. On Phone Numbers, create a trunk with Create trunk and enter your provider's details: the provider's host (without sip:), the SIP username and the SIP password.
  2. At your provider, enter the SIP address that Ipster shows (Origination / Termination URI), so that incoming calls are routed to the platform.
  3. Add numbers to the trunk with Add number, in E.164 format and with the direction inbound, outbound or both.
  4. Link the number to an agent. You can also enter the trunk ID under Agent → Telephony, in SIP Trunk ID.

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.

  • Its own phone number: the agent has a number, from Ipster or from your own provider through a SIP trunk. Callers dial that number directly, or you forward a number on your phone system to the agent's number. This works with any phone system and provider.
  • Extension on your own phone system: the agent registers as a device on your phone system through SIP registration. You then don't need a separate phone number from Ipster. Transferring to a colleague is an internal call and the colleague sees the original caller's number.

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.

  1. Choose Add registration.
  2. Give the agent's number to your telephony provider. Every agent has its own six-digit number (This agent's number). It stays the same, even if you recreate the registration.
  3. Enter the address of your phone system as your provider calls it (for example 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.
  4. Enter the username and the password. The password is stored encrypted and cannot be retrieved afterwards. Leave the field empty to keep the current password.
  5. Save and choose Test registration. The status is Registered, Failed, Working or Not attempted yet. If it failed, you see the last error message.

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:

  • Inbound webhook: per agent under Agent → Webhook (Inbound webhook card) or per phone number. It is called on every incoming call, before the agent says anything, for example for a lookup in your CRM. You receive a POST with, among other things, the agent, the session, the channel and the sender. Reply with a flat JSON object: every key becomes a variable that you use as {{variable}} in the prompt. If it takes too long or goes wrong, the call simply starts without this context.
  • Caller recognition: under Agent → Webhook, choose an integration that looks up the caller by phone number at the start, such as HubSpot, Zendesk, Uniconta or Shopify. The agent then knows who is calling from its first answer, even if the caller doesn't ask for it. Switch on the lookup action in that integration, which is Search contact for HubSpot.
  • Language by country code: if the agent is multilingual, the opening language follows the caller's country code. For +49 the agent greets in German, for +33 in French and for other foreign numbers in English, keeping the opening sentence you configured.

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:

  • Choose Add numbers and paste a list: one number per line, with the name before or after it, for example Van der Valk Tours, 0612345678.
  • A * at the end applies to all numbers that start that way, for example an entire phone system (020123*).
  • Pick the destination from the known transfer numbers or enter a number.
  • Choose when the rule applies: always, only during opening hours or only outside opening hours. For the last two, the agent needs the Opening hours tool. Without that tool, rules with opening hours always apply.
  • Optionally enter an announcement, for example 'One moment, I'll connect you'. If you leave it empty, the call is connected straight away.

Changes go live immediately, independent of Save as draft and Go live.

This is how direct forwarding behaves:

  • It only applies to incoming phone calls with a known number. Anonymous callers simply get the agent.
  • An exact number takes precedence over a range with *. The rule also takes precedence over the inbound webhook: if there is a match, the webhook is not called.
  • The transfer uses SIP REFER. The call leaves the platform, so there is no recording and there are no call minutes at Ipster. Which number the destination sees is determined by the caller's provider.
  • In Usage the call shows as 'Forwarded directly · name → number'.

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:

  • The agent is switched off. The caller hears a short message and goes to the emergency number. This makes switching off the agent a fault switch, without you having to change your phone system. The call appears in Usage, with the reason.
  • Speech recognition, voice or language model keeps failing during the call.

You set it in two places:

  • Per agent: Agent → Behavior → Emergency number.
  • Per phone number: Phone Numbers, the Emergency number button at the number. This takes precedence over the agent's emergency number, which is useful if one agent serves several locations. If you leave it empty, the agent's emergency number applies.

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.

  1. Enter the number to be called, for example +31612345678.
  2. Choose Call. The agent calls the number you entered from its own number.
  3. Under Recent outgoing calls you see the latest attempts, with the number from and to, the status (Pending, Active, Completed or Failed) and the duration.

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.

  1. Make sure the agent has a phone number with outbound.
  2. Under Agent → Telephony, switch on Outbound via webhook.
  3. Copy the generated webhook URL. It contains a secret token, so keep the URL private.

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.

  1. Go to Agent → Telephony and choose Add telephony connection. Pick your phone system.
  2. Enter the details and click Test connection. Which details you need is covered in the next question.
  3. Click Synchronize contacts to fetch the colleagues and destinations. For Elevate, Ascend and Mitel CX the list is refreshed every night afterwards.
  4. Choose which actions the agent may use, which presence statuses count as reachable and which contacts may not be transferred to (you untick those).
  5. Tell the agent in the prompt when to use the integration.

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.

  • Xelion: the address of your Xelion environment, the tenant (for a single-tenant system usually 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.
  • 3CX: the address of your phone system without a path after it, and the Client ID and Client secret of an API client. Create it in the 3CX Admin Console under Integrations → API with a new client app. The Client ID is the DN of the route point, and tick the Configuration scope. The client needs a role with administrator rights, for example System Admin. If it is attached to a department, it only sees the users and queues of that department. Test connection shows which permissions are missing. The agent transfers to colleagues and to queues and departments (without a presence check), can consult queues and retrieve recordings.
  • Mitel CX: Client ID, Client secret and Account ID from the Mitel CX admin portal under API credentials, or through your Mitel partner. The simplest is Create automatically via CloudLink login: you log in once and Ipster creates the details. The password of that login is not stored. The agent looks up colleagues, checks presence and transfers.
  • Elevate UC: Client ID and Client secret from the Elevate admin portal under API access, or through your Elevate partner.
  • Voys Ascend: Client ID and Client secret from the Ascend admin portal under API access, or through Voys.

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:

  • Cold or warm: cold connects straight through without an introduction. Warm has the agent first say a short phrase and play a ringtone.
  • Whisper announcement: the agent first discusses the handover with the colleague while the caller hears nothing for a moment. You choose a fixed phrase or a prompt with which the agent writes a short summary itself.
  • Talk while waiting: a phrase such as 'I'm connecting you now' that is spoken in full before the transfer starts.
  • Caller ID: the colleague sees the agent's number or that of the original caller.
  • Ring duration (Agent → Behavior, Ring duration on transfer) and blocked numbers that are never transferred to.
  • Transfer method: SIP INVITE (bridge) keeps the call running through Ipster, so recording, voicemail check and taking the call back are possible. SIP REFER hands the call over completely to the caller's provider, and your trunk must support REFER.

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.

Live conversations and wallboard

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.

  • Up to three conversations are shown in full, with the latest sentences. If there are more, they are grouped per agent. An agent with many conversations collapses to '+N more', and with Show less you collapse it again. Agents with the most active conversations come first.
  • Conversations that just ended stay visible briefly, with the reason: Just transferred, Caller hung up, Agent ended the call or Just ended.
  • On the right of the line is the Wallboard button, which opens the wallboard in a new tab.
  • If nothing is running, you see a compact line saying 'No active calls', with the Wallboard button next to it.

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:

  • On the dashboard under Live conversations.
  • On the wallboard, at an active call. There is also a link to Usage there (Open in usage).

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:

  • Silent instruction: the agent receives the instruction once and adjusts its answer. The caller does not hear the instruction.
  • Persistent: the instruction stays in force for the rest of the call.
  • Say verbatim: the agent says exactly the sentence you typed.

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.

  1. Choose Take over. The agent is paused and the status changes from AI active to You are live. Your microphone switches on and you speak with the caller yourself.
  2. If you want to give the call back to the agent, choose Hand back to AI. Your microphone switches off and the agent continues.
  3. If you want to end the call, choose End.

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:

  • Read along with the conversation.
  • Give the AI an instruction, once or persistently for the rest of the conversation. The customer does not see the instruction itself. The AI immediately sends a message following your instruction.
  • Take over the conversation with Take over and type yourself, including photos and files. The AI then stays silent and the customer sees your message as a message from the company.

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:

  • With the Wallboard button under Live conversations on the dashboard.
  • With the small screen icon at the top right of the app (Open wallboard).

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:

  • Figures of today: Calls today, Avg. duration today, Transferred today, Chats today and Peak concurrent today (with the time). The figures visibly count up as they change.
  • Active calls as chat bubbles, with the Monitor button and a link to Usage. The newest message is always in view.
  • Activity today: per conversation the agent, who called, the topics and who it was forwarded to.
  • Blocks: Sentiment (positive, neutral and negative), Topics and Transfers. Optionally you add Tools, Agents and Channels.

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:

  • Layout: Standard shows the live calls, the activity and the figures side by side, with the live calls on the right. With Large calls, the live calls are shown side by side across the full width and everything else below.
  • Lines per live call: 2, 6, 12 or All. With more than 2 lines you see the conversation as bubbles and it scrolls along automatically with the newest message.
  • Show blocks: with switches you choose Figures at the top, Activity today, Sentiment, Topics, Transfers, Tools, Agents and Channels. By default Tools, Agents and Channels are off.
  • Agents: by default all agents count. Switch a few on to show only those. You only see this option if you have more than one agent.
  • Light or dark: with the sun or moon button at the top right. Dark is the default.

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.

  • TV or large screen: log in with the same account that you set it up with, and you get the same layout. With the full-screen button at the top right you fill the whole screen. The wallboard is dark by default, which is useful for a screen that is on all day.
  • Tablet: the parts are stacked, first the figures and then the live calls as a grid.
  • Phone: the same structure in a compact view. You don't see the refresh and full-screen buttons on a phone.

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.

Knowledge bases

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:

  1. Click New knowledge base.
  2. Enter a name and, if you like, a description.
  3. Click Save. The knowledge base now appears in the list, together with the agents it is linked to.
  4. Open the knowledge base and add documents with + documents.

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:

  • Text: give a title and paste the text yourself. Handy for a short FAQ or a policy text.
  • URL: give a title and the address of one web page. Ipster fetches the page and reads the text.
  • Website: let Ipster find the pages of a whole website and choose yourself which ones go in.
  • File: upload a file of type .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:

  1. Open the knowledge base and click + documents.
  2. Choose the Website tab and enter the address of your site.
  3. Click Find pages. Ipster finds the pages through the sitemap and the links on the site. This takes half a minute at most.
  4. You see the pages that were found. Ipster suggests the relevant ones (for example contact, frequently asked questions, services and opening hours) and they are already ticked. Not right? Suggestion restores the selection and None clears it. If the list is long, search by title or address.
  5. Click Add chosen pages.

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.

  1. Open the agent and go to Agent → Knowledge Base. For a chat agent you find this under Chat Agents, in the same settings.
  2. Choose the knowledge base in the list and click Link.

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:

  1. Tick Talk while searching. A default phrase appears: "Let me look that up...".
  2. Change the phrase if you want different wording.

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:

  • Queued: the document is waiting to be processed.
  • Processing…: Ipster is reading the document and making it searchable.
  • Ready: the agent can search it.
  • Error: processing failed. The reason appears under the title, for example that there was no content to process.

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.

  • Edit a document: click the pencil icon next to the document. You change the title and the content and choose Save & reprocess. For a URL the page is fetched again. For a file you can download the original file.
  • Delete a document: click the bin icon next to the document.
  • Change the name or description of the knowledge base: click the pencil icon next to the name at the top.
  • Delete a knowledge base: in the list of knowledge bases, hover over it and click the bin icon. You are first asked to confirm. This also removes all its documents and all links to agents.

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:

  • Use clear headings and short paragraphs. Ipster splits documents into pieces along the headings and paragraphs, so a well-structured document is found better than one long block of text.
  • Put one topic in one document or under one heading, so that a piece of text gives a complete answer on its own.
  • Give documents and pages a clear title. You also see that title in the list.
  • For a website, choose only the pages that really contain answers, such as contact, frequently asked questions and services.
  • After linking, test with a test call or test chat and ask the questions your customers really ask.

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 and WhatsApp

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:

  1. Go to Chat Agents in the menu and click New agent.
  2. Write the prompt. It works exactly as it does for a phone agent.
  3. Add tools. You can use the same integrations as for a phone agent, such as HubSpot and Cal.com.
  4. Link the agent to your website (widget) or to WhatsApp, or to both.

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:

  • Title: the name at the top of the chat window.
  • Placeholder: the text in the input field while nothing has been entered.
  • Primary color: the colour of the chat button and of the visitor's messages.
  • Avatar image: the address of a photo or logo shown next to the agent's messages.
  • Initial message: the first message the agent sends when the chat window opens.

Under Embed code you find the script to put on your website:

  1. Click Copy.
  2. Paste the script just before the closing </body> tag, on every page where the chat should appear.
  3. The widget automatically loads a floating chat button in the bottom right.

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:

  • Phone agent that calls back: only phone agents with a number that can call out are in the list. You see which number the call comes from.
  • Form fields: the phone number is always there, you can switch name and note (what it is about) on or off.
  • Texts: title, explanation, example in the number field, button and the texts after sending. If you leave a text empty, the default text applies.
  • Also a callback button at the bottom of the chat: the visitor can then ask for a callback themselves, without the agent showing the form.

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:

  • Callback agent: a phone agent that calls the visitor back from the chat widget. For this the visitor enters a phone number.
  • Browser call agent: a phone agent the visitor can reach directly from the browser, without a phone.

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:

  • button label
  • form title
  • description above the number field
  • example in the number field
  • text of the submit button
  • title and subtitle of the success message

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:

  1. Import your website into a knowledge base (Knowledge Bases, Website tab) and link it to the chat agent. This way the agent knows which page each answer is on.
  2. Switch the tool on under Chat Agents → Tools.
  3. Choose whether the agent Asks permission first. On: it suggests it and only goes after a yes. Off: it takes the visitor there straight away when that helps.
  4. If you like, fill in Extra allowed domains, one per line.

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

  1. Click Connect via Meta and log in with your Facebook account. It must be the administrator of your business at Meta. A Meta window opens, so allow pop-ups.
  2. Choose your business and create or choose a WhatsApp account, with the name customers see.
  3. Enter the number and confirm it with the code you receive by text message or phone call.

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:

  1. Under Chat Agents → WhatsApp, click I already use this number in the WhatsApp Business app.
  2. Log in with Facebook. Choose your business and choose that you are linking an existing WhatsApp Business app. Enter your number.
  3. Meta shows a QR code. Scan it with the WhatsApp Business app on your phone. Meta explains in the window where to find the scanner.
  4. Choose whether to share your chat history and finish.

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:

  1. Go to Chat Agents → WhatsApp, to the card Let the customer connect it.
  2. Click Create connect link and copy the link with Copy.
  3. Send the link to whoever manages the Facebook business account.

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:

  • Allow pop-ups, the Meta window is a pop-up.
  • Open the link in Chrome, Safari or Edge, not in the browser of a mail or chat app.
  • Log in with the Facebook account that is administrator of the business at Meta.

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. Click New template.
  2. Give a Name, using only lowercase letters, digits and underscores.
  3. Choose the Category: Service (utility), Marketing or Authentication, and the Language.
  4. Write the Message. For variables you use numbered placeholders such as {{1}} and {{2}}, with Example values next to them. A Footer is optional.
  5. Click Submit template.

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:

  • WhatsApp number: automatically the first active number of your organisation, or a number you choose yourself. So there must already be an active WhatsApp number, linked on a chat agent.
  • Templates the agent may choose: tick the approved templates. For each template you see the language and the number of variables.
  • Wait for delivery (seconds): how long the agent waits for WhatsApp's confirmation after sending, from 0 to 15. It usually arrives within a few seconds.

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

  • The phone agent gets the WhatsApp conversation if the last message is less than 24 hours old and the caller wrote something substantive. A lone greeting such as "Hi" does not count.
  • If the last message was less than 2 hours ago, the agent refers to it straight away in the opening.
  • If the caller sends a WhatsApp during the call, for example a photo or an order number, it arrives live in the call. The chat agent does not respond then.

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:

  • Give the agent an instruction. Type the instruction and choose Let the AI answer. The agent immediately sends a message following your instruction. The customer does not see the instruction itself. With Keep for the rest of the conversation the instruction stays in force.
  • Take over the conversation. Click Take over. The agent now stays silent and you type yourself with Send. The customer sees your message as a message from the company. You can add a photo or file: jpg, png, webp, mp4, pdf, Office files, txt or csv, up to 16 MB.

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:

  1. Open the conversation under Usage.
  2. Click Close conversation and confirm the question.

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".

Data, extraction and insights

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:

  • The results appear per conversation in the conversation detail under Usage.
  • They are available as variables in your tools, for example to send a summary to your CRM or ticketing system.
  • The field named 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.

  1. Click Add field.
  2. Enter the Name. This is the recognisable name of the field, for example "Call Summary" or "Reason for the call".
  3. Choose the Type, see the question about field types.
  4. Under Description / instruction, write what Ipster should capture, for example: "Write a summary of the conversation in 1 to 3 sentences".
  5. For the Selector type, enter the Options, separated by commas.
  6. Click Create.

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.

  • Text: free text, for example a summary of the conversation.
  • Boolean: a yes/no question, for example "Did the caller make a complaint?".
  • Number: a numeric value, for example an order number.
  • Selector: a choice from fixed options, for example "Reason: question, complaint, appointment, other". You enter the options as a list with commas between them.

Which type should you choose?

  • If you later want to count, filter or let a choice decide what happens next, choose Boolean or Selector. They always give one of the predefined answers.
  • If you want a readable report or an explanation, choose Text.
  • If it is an amount or a number, choose Number.

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:

  1. Go to Usage and click a conversation.
  2. Open the Data tab.
  3. There you find the variables used in the conversation, the Extraction block with the results of your fields, and an overview of the actions carried out after the conversation.

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: why the caller or chatter got in touch.
  • Outcome: how the conversation ended up.
  • Sentiment: the mood of the caller.
  • Topics: the topics that came up in the conversation.
  • End reason: for example that the caller hung up, the agent wrapped up or the conversation was transferred.

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:

  1. Go to Agent → Behavior.
  2. Switch on Remember the context of a previous call. If the caller has been in touch before, the agent automatically receives the summary of that conversation.
  3. Under Look back up to, choose how far back the agent looks: 30 minutes, 1 day, 3 days, 7 days or 14 days ago.
  4. Under Also search conversations from, choose whether the agent also searches conversations of other agents, for example All agents in my account. If you choose no other agents, the agent only looks at its own conversations.

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

  • With Add column… you add a column. Under Built-in are the standard columns (date, agent, duration, conversation type, costs, Session ID, end reason, status, sentiment, topics, intent, outcome). Under Based on data are your own details, for example a "Branch" column from a variable.
  • You can also remove and reorder columns. Double-click the name of a column based on data to rename it.
  • Your preference is remembered.

Filtering and searching

  • Search by Session ID, agent or number.
  • Filter by agent, type (web call, web chat, WhatsApp, phone call, outbound), status and period.
  • Filter per column through a list of the values that actually occur. Choose Filter by in the column and then a value, or All values to clear it.
  • In the agent lists in Usage and Insights you can search with the search bar.

The list shows 50 conversations per page.

Under Usage → History, the Export CSV button is at the end of the filter bar.

  1. First set the filters you want: agent, type, status and period.
  2. Click Export CSV.
  3. You get a file named 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:

  • time and duration in seconds
  • type
  • costs, only if your account may see prices
  • Session ID
  • end reason and status
  • sentiment
  • from and to (the numbers)
  • agent

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:

  • Key figures: conversations, minutes, average conversation duration, transferred, response time and positive sentiment, with the number of conversations that last one is based on.
  • Conversations per day as a chart.
  • Concurrent conversations: how many conversations were running at the same time, with the peak in the chosen period ("Peak in this period: N at once"). This truly counts the number of conversations in progress at the same moment.
  • Customer satisfaction: positive, neutral and negative. The sentiment only looks at the part with the agent, not at what happened after the transfer.
  • End reason, frequent topics, tools used and transferred to.

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

  • Every Monday morning a weekly briefing per agent appears here automatically. If there is no briefing yet, you can have one made straight away with Generate for the agent.
  • The briefing names the period and the number of conversations and contains trends, top questions (with how many were resolved), emerging issues and recommendations. Earlier briefings remain available.

Recommendations

  • After the weekly analysis, concrete proposals appear here, by kind: Prompt, Knowledge base, Integration or Setting.
  • A proposal labelled "Learned from transfer" comes from a conversation that a colleague took over. With View source conversation you open that conversation.
  • Choose Apply as draft to put a proposal into the agent's draft. It only goes live when you click Go live on the agent page. A proposal for the knowledge base is added to the knowledge base directly. With Dismiss you set a proposal aside, and with Discuss in chat you work it out in the chat.
  • You see handled proposals with Show handled.

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:

  • the number of conversations
  • the transfer rate, that is, which share of the conversations was transferred

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:

  1. Click Nieuwe transcriptie, give a name and choose the platform, Elevate UC or Voys Ascend.
  2. Link the environment with the access details that your administrator creates in Elevate or Ascend. You enter those details only on this screen.
  3. Fetch the recordings for a period, with Vanaf and Tot.
  4. For each recording you see the status, the number of both parties, the duration and a button for the next step. You can have the transcription, the summary and the SOEP report made.

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.

  1. Go to Usage and open the conversation.
  2. Open the Tasks tab.
  3. Click Add task and describe the task. Use @ to tag someone.
  4. Choose the priority and click Create task.

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.

Usage and invoicing

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:

  • History: the list of all conversations, with the collapsible This month panel at the top.
  • Per agent: the figures per agent, see the question about it.

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:

  • Phone: the number of phone calls, with how many inbound and how many outbound.
  • WhatsApp: the number of WhatsApp conversations.
  • Chat: the number of chat and web conversations together, with the split between chat and web.
  • SMS: the number of text messages the agents sent with the SMS tool.

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:

  • the number of sessions
  • the number of conversations per channel: phone, WhatsApp, chat and SMS
  • the minutes
  • the average duration
  • the total costs, only if your account may see prices

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:

  • the duration and, if your account may see prices, the costs with the breakdown per component: the language model (llm), speech recognition (stt), the voice (tts) and telephony
  • the conversation analysis: end reason, status, sentiment and topics
  • for a phone call, the recording, if there is one, with a player

Below that are tabs:

  • Transcription: the transcript of the conversation, including the colleague if the call was transferred. For chat you see the messages, including photos.
  • Tools: which tools the agent called, when, with which arguments and with which result. The inbound webhook is also shown here, with the request.
  • Data: variables, extraction results and the actions after the conversation.
  • Tasks: the tasks for this conversation.

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:

  • Customer ended: the caller hung up.
  • Agent ended: the agent wrapped up the conversation with the End conversation action.
  • Transferred: the caller was transferred to a colleague or another number.
  • Transferred, agent off: the agent was switched off and the caller went to the emergency number.
  • Time limit reached or Max. duration reached: the agent's maximum conversation duration was reached.
  • Silence timeout: the caller said nothing more and the call was hung up after silence.
  • Voicemail: the caller's voicemail was recognised.
  • No answer: there was no reply.
  • Closed manually: someone closed the chat conversation with Close conversation.
  • Automatically closed: the conversation was closed automatically, for example because it was no longer being responded to.
  • Error occurred: something went wrong technically.

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:

  • Forwarded directly: the caller was on the direct forwarding list, or the inbound webhook forwarded the call. If the forwarding failed, the notice is shown in red with the error message.
  • Linked to a WhatsApp conversation with this number or Linked to a recent phone call with this number: a link to the other channel of the same number.
  • Language switched: the multilingual agent switched to a different language.

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:

  • Search by Session ID, agent or number.
  • Agent: choose one agent or all agents. This is a list with a search bar, handy if you have many agents. That search bar is also in the agent lists in Insights.
  • Type: all types, web call, web chat, WhatsApp, phone call or outbound.
  • Status: all statuses, completed, active or failed.
  • Period: a start and end date.

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:

  • Overview: your rate, the usage in the current period and, if your account may see prices, the expected invoice.
  • Invoices: the invoice history.
  • Payment method: how you pay.
  • Billing details: your company and address details for the invoice.

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:

  • the number of minutes your organisation has used
  • the number of minutes included in your rate
  • the number of minutes that are still remaining, or the number of minutes you are over the limit

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:

  • Automatic debit: the monthly amount is charged automatically every month through the linked payment method, such as a card. Payments are processed securely through Stripe.
  • Invoice by email: invoices are sent by email to the billing email address you entered under Billing details.

This is how you set up automatic payment:

  1. Click Set up payment method. You go on to the secure page of Stripe.
  2. Enter your payment method there and finish. You then return to Ipster.
  3. The page refreshes by itself and you see "Automatic debit active".

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:

  • Company name: the name on the invoice.
  • Billing email: the address invoices go to if you pay by email.
  • Street address, Postal code and City.
  • Country: the Netherlands, Belgium, Germany or the United Kingdom.
  • VAT number: optional.

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:

  • the month the invoice covers
  • the number of minutes used and, if there are any, the number of minutes over the limit
  • the status, for example Paid or Open
  • the amount, if your account may see prices
  • a download icon if there is a PDF of the invoice

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:

  • the language model (llm)
  • the speech recognition (stt)
  • the voice (tts)
  • the telephony

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 column and the card with costs under Usage
  • the costs per component in the conversation detail
  • the column with costs in the CSV export
  • the rate and the expected invoice under Invoicing
  • the amount per invoice in the invoice history

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.

  • 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 accident? Within 30 days an administrator can restore it via Organisation → General → Deleted agents.
  • Switching an agent off: callers are then automatically transferred to the emergency number instead of waiting in silence. Such a session simply appears in your usage history, with the reason: "Transferred, agent off".
  • Retention period: if you set a retention period for your organisation, Ipster deletes the content of conversations after that period every night, such as transcripts, recordings and chat messages. Usage, costs and statistics remain.

The conversations of a deleted agent are therefore kept and keep counting towards your usage.

API and webhooks

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. Go to Organisation → API keys (as a partner this is My organization → API keys).
  2. Click Create key and give the key a name.
  3. Choose the type REST API. The type For AI assistants (MCP) is meant for AI assistants and does not work on the REST API.
  4. Under Permissions, choose read and/or write per area: agents, calls, phone-numbers, knowledge-bases and tasks. Nothing checked means full access.
  5. Optionally fill in an IP allowlist (optional), for example 1.2.3.4, 5.6.7.0/24. The key then only works from those addresses.
  6. Confirm with Create key and copy the key.

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:

  • Permissions per area: agents, conversations, phone numbers, knowledge bases and tasks, each with read and write.
  • An IP allowlist, so the key only works from your own server.

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:

  1. Open the agent and go to Webhook.
  2. Under Event Webhook, fill in the Webhook URL, for example https://your-system.com/webhook.
  3. Under Events, choose which ones you want to receive: Call started (call_started), Call ended (call_ended) or both. call_ended is on by default.
  4. Save the agent.

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_ended
  • agent_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 fields

An 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 variables
  • only for call_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:

  1. Open the agent and go to Webhook, at Caller Lookup Webhook.
  2. Turn on Enable and save. The URL then appears.
  3. Under Fields to return, choose what goes in the response: 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.
  4. Copy the URL and replace [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).

Ipster in your AI assistant

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:

  • "How did my agents do this week?"
  • "Show me the conversations about invoices that did not go well."
  • "Change the opening line of the reception agent."

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.

  • Ipster in your AI assistant (this connector): Ipster is the MCP server. You connect Claude, ChatGPT or another assistant to Ipster, and the assistant uses Ipster data and functions for you. You set this up under Organisation → API keys.
  • The MCP server tool in an agent: the agent is the user. You connect an agent to an external MCP server, for example via Composio, n8n, Zapier or your own server. The agent discovers that server's tools at the start of a conversation and can call them during conversations. You set this up in the agent's tools, under Agent → Tools.

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:

  1. In Claude.ai, go to Settings → Connectors and choose Add custom connector.
  2. Enter Ipster as the name and https://mcp.ipster.ai/mcp as the URL.
  3. Click Connect. You go to Ipster and sign in with your own Ipster account.
  4. Choose the organisation and what the assistant may do, and click Allow.

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:

  1. Go to Organisation → API keys and click Create key.
  2. Choose the type For AI assistants (MCP).
  3. Under What may the assistant do?, choose a level, or set the permissions individually with Fine-tune.
  4. Create the key. You immediately get the instructions with the key in them. You only see the key once.

Use the same URL, https://mcp.ipster.ai/mcp, and send the key as Authorization: Bearer YOUR_API_KEY. Examples:

  • Claude Code: claude mcp add --transport http ipster https://mcp.ipster.ai/mcp --header "Authorization: Bearer YOUR_API_KEY"
  • Cursor and other clients (mcp.json): {"mcpServers": {"ipster": {"type": "http", "url": "https://mcp.ipster.ai/mcp", "headers": {"Authorization": "Bearer YOUR_API_KEY"}}}}
  • n8n (MCP Client): URL 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.

  • Read only: view agents, conversations with transcript and recording, figures, tasks and knowledge bases.
  • Read and propose: also change the prompt and settings as a draft, run test cases, update tasks and add documents. Nothing goes live.
  • Full: also publish a draft and start outbound calls. These actions are marked as destructive, so most AI assistants ask for confirmation first.

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 language
  • lijst_gesprekken: conversations with analysis: goal reached, sentiment, intent, outcome, summary
  • gesprek_details: one conversation with transcript and a recording link valid for 1 hour
  • gesprek_cijfers: figures for a period: per channel, minutes, transferred, sentiment
  • lijst_taken: tasks (feedback on conversations) from the dashboard
  • lijst_kennisbanken: knowledge bases and their documents
  • lijst_telefoonnummers: phone numbers and the agent that answers
  • testresultaten: an agent's latest test runs
  • inzichten: weekly briefings and improvement suggestions
  • concept_bekijken: what the draft changes compared to live

Read 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, privacy
  • concept_weggooien: discard the open draft
  • testcases_draaien: run test cases on draft or live (maximum 10 times per hour)
  • taak_bijwerken: update a task's status or priority
  • kennisbank_document_toevoegen: add a document to a knowledge base

Full

  • concept_live_zetten: publish an agent's draft
  • gesprek_starten: start an outbound call

The 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.

  • If the assistant is asked to change an agent's prompt or settings, that change ends up in the agent's draft, in the same place as changes you make yourself in the app.
  • You review the draft in the app and publish it with Go live, or discard it.
  • The assistant can itself show what the draft changes compared to live (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).
  • Only at the Full level can the assistant publish a draft or start an outbound call. Those two actions are marked as destructive, so most AI assistants ask for confirmation first.

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:

  • Signing in uses OAuth 2.1 with PKCE. You sign in with your own Ipster account and indicate on a consent screen for which organisation and up to which level.
  • The assistant can never do more than you can in Ipster.
  • An administrator decides per organisation whether AI assistants may be connected and up to which level, under Organisation → AI assistants (MCP). Under Connecting allowed, choose Yes, No or Inherit, and set the Highest level. This takes effect immediately, also for existing connections and keys.
  • The policy inherits from the parent organisation. What you set as a partner applies to your customers, unless they change it themselves.
  • Access tokens are valid for 1 hour and refresh tokens for 90 days. A refresh token is replaced on every use. Ipster only stores hashes of tokens.
  • Every call is recorded in the organisation's activity log.

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:

  • Start with Read only and only give more permissions when you need them.
  • Give a key only the permissions it needs with Fine-tune.
  • An administrator can turn off or limit connecting for the whole organisation under Organisation → AI assistants (MCP).

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:

  • Turned off by an administrator: if you see the message that connecting AI assistants has been turned off for this organisation, an administrator has to allow it under Organisation → AI assistants (MCP).
  • You are viewing as someone else: you cannot connect an AI assistant while doing so. Stop viewing as someone else first.
  • Unknown application: if you see the warning that Ipster does not know the application, only allow it if you have just started the connection yourself. Also check the address on the screen.
  • No connection request found: start connecting again from your AI assistant.
  • Prompt not visible or not editable: that is only possible with prompt access.
  • Lower level than expected: the organisation's policy may only allow a lower level.
  • Key does not work: for the connector, use a key of the type For AI assistants (MCP) and the URL https://mcp.ipster.ai/mcp.

If you cannot work it out, email support@ipster.nl.

Organisation and team

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:

  • General: company details and contact person, retention periods, the policy for AI assistants (MCP) and the trash with deleted agents.
  • Team & permissions: members, roles, the permissions matrix and agent access.
  • Invoicing: rate, usage this month, invoices and payment method.
  • API keys: keys for the API and for AI assistants.
  • Activity: what the members of your organisation did.

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:

  • General: everyone who sees Organisation. Only administrators can edit the company details. You see the cards for retention period and AI assistants with the Manage team permission. The trash with deleted agents is for administrators only.
  • Team & permissions: administrators and members with the Manage team permission.
  • Invoicing: administrators and members with the Invoices permission.
  • API keys and Activity: administrators only.

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:

  • Website
  • KVK number
  • VAT number
  • Order reference
  • Contact person
  • Email address
  • Phone number
  • Billing email address

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.

  1. Click Invite member.
  2. Enter the email address (required) and optionally the name.
  3. Choose a role. It is set to Team member by default. Below the list you can see what the chosen role does.
  4. Click Invite member. You will see 'Invitation sent'.

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: manages the team and permissions, sees and edits all agents.
  • Sales: builds and edits agents and creates quotes, sees all agents.
  • Consultant: builds and edits agents for customers, no prices by default.
  • Purchasing: sees usage, prices and invoices, does not edit agents.
  • Team member: a regular employee, only sees the agents you tick for them.

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:

  • Usage: calls, minutes and the usage history.
  • Analysis: the analysis pages.
  • Chat agents: chat and WhatsApp agents in the menu.
  • Prompt: the system prompt of agents.
  • Edit agents: change agent settings. A team member can only do this for agents with 'edit' ticked.
  • Manage team: invite members and change roles and permissions.
  • Invoices: subscription and invoices of the organisation.

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:

  • Editing without viewing is not possible. If you untick 'view', 'edit' is unticked too. If you tick 'edit', 'view' is ticked automatically.
  • You can only tick 'edit' if the Team member role has the Edit agents permission in the permissions matrix. If not, the tick is switched off with an explanation.

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:

  • the description
  • the status: Open, In progress or Closed
  • Answered or Unanswered, depending on whether the last reply came from the handler
  • the number of replies and the creation date
  • a dot for an unread reply
  • for a task about a conversation, the View conversation link, which opens the conversation

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:

  • The handler, for example Ipster or your partner, changes the status with a list.
  • If you created the task yourself, you can close it with the Close button.

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:

  • it disappears from all lists and is switched off;
  • its phone numbers and channels are disconnected;
  • its calls and usage are kept and still count.

Deleted by mistake? An administrator can restore it within 30 days:

  1. Go to Organisation → General and find the Deleted agents block.
  2. For each agent you see when and by whom it was deleted, how many calls are kept and how many days are left.
  3. Click Restore.

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:

  • someone logged in
  • someone invited a colleague with a certain role
  • someone started a call
  • someone listened in live on a call
  • someone set up a phone number or SIP trunk

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. Click Create key and give the key a name.
  2. Choose the type: REST API (for your own integrations and scripts) or For AI assistants (MCP) (for Claude, Cursor, n8n or your own AI agent).
  3. Choose what the key may do. For REST you tick read and/or write per part (agents, calls, phone-numbers, knowledge-bases, tasks). Ticking nothing means full access. For MCP you choose a level: Read only, Read and propose or Full.
  4. Optionally enter an IP allowlist, for example 1.2.3.4, 5.6.7.0/24.
  5. Click Create key and store the key straight away: it is shown only once.

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:

  • Profile: your full name, company name and interface language (Nederlands, English or Deutsch). You cannot change your email address.
  • Security: change your password (at least 8 characters), your own connected AI assistants and your session with the button to log out.
  • Branding: for partners only, to upload your own logo.

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:

  • Transcripts and analysis: transcript, call log, variables and the analysis after the call.
  • Recordings: the audio of phone calls.
  • Chat and WhatsApp: messages and attached files.

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.

For partners

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:

  • Customers: your end customers, with a customer card for each.
  • Quotes: create quotes, share them and have them signed digitally.
  • Tasks: tasks across your whole customer portfolio.
  • Agent Management: assign agents to customer accounts.
  • Team & permissions: the members of your own partner organisation and their permissions.
  • Settlement: what Ipster settles with you per period.
  • API keys: keys for the API of your organisation.
  • Activity: the activity log of your organisation.

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.

  1. Enter the company name (required).
  2. Optionally enter the website, KVK number, contact person and email address.
  3. Click New customer.

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:

  • Status ladder: Created, Enriched, Scoped, Prompt and Live. This shows how far along the customer is.
  • Rate: the rate and invoicing of the customer (see the question about the rate).
  • Enrichment: industry, opening hours, locations, detected systems and found frequently asked questions. If something is missing, complete the customer details or click Re-enrich.
  • Channels: Voice, Webchat and WhatsApp, with for each channel the customer's agents, whether they are switched on and their minutes and sessions. With the period picker you choose this or last month, or this or last quarter. With Start bouwchat you begin a new agent for the customer, with the known details as a starting point. With Link existing agent you link one of your own agents to the customer.
  • Retention period and AI assistants (MCP): settings that apply to the customer.
  • Accounts: the customer's users.

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:

  1. Click Set rate (or Edit).
  2. Choose the base from Ipster's prices, the same as in the quote calculator: the package, the term and the building blocks that determine the per-minute price.
  3. Optionally enter a markup: what you charge extra yourself, per month and/or per minute. The markup is added to the customer price and not to your cost, it is your own extra margin.
  4. Under Invoicing, choose who invoices the customer: Ipster invoices directly or Via the partner.
  5. Optionally add a note, for example 'agreed by email', and click Save.

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.

  1. Choose what kind of agent it will be: Voice agent, Chat agent or Both. The screen then only shows what applies. You can still switch this later.
  2. Enter the customer details. The company name is required. You can also enter contact person, email, phone, KvK number, address, postcode, city and VAT number. The customer is a prospect here: no customer organisation is created yet.
  3. Build the quote in the calculator (see the next question).
  4. Choose the term of the contract.
  5. Click Save quote. You will see 'Quote saved; the prices are now fixed.'

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.

  • What should the agent be able to do: the building blocks. Every choice makes the agent smarter and raises the price per AI agent minute.
  • Call volume and package (voice): the number of AI agent minutes per month and the package. If another package works out cheaper at this volume, a Better value button with that package appears.
  • Extensions: quantities and separate monthly options.
  • Channels and pass-through: chat package, WhatsApp, messages, forwarding minutes (with the option to use your own trunk) and SMS messages.
  • One-off, at the start: the setup, of which you can adjust the amount, and other one-off items.

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:

  • You see who will appear as the sender on the quote: your name and email address from your account.
  • In Introduction text you write a short introduction above the quote. It only takes effect after Save.
  • With the Public link switch you create a link with which the customer views and signs the quote, without logging in. When the link is on, you can copy it, view it or replace it with New link. The old link then stops working.

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:

  • Term: contract duration, including the associated discount.
  • Call volume: number of AI agent minutes, the package moves along.
  • What the agent may do: look up, record, manage and the separate blocks.
  • Extras: separate monthly options.
  • Quantities: seats, lines, knowledge bases and languages.
  • Chat: chat package, WhatsApp and messages.
  • One-off items: activations and the setup.

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:

  1. enters their name and job title;
  2. draws their signature with the mouse or a finger (with Clear they start again);
  3. clicks Approve and sign.

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:

  • the quote is set to Won and you see 'signed by …' in your quote list;
  • the content is fixed and can no longer be changed. For changed agreements you create a new quote, and reopening is no longer possible;
  • you and the customer can download the Signed PDF, with the signature at the bottom;
  • you see the signer's name, job title, time and IP address with the quote.

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:

  • you set an open quote to Won or Lost. For Lost you enter a reason, for example too expensive, chose a competitor or project postponed;
  • with Reopen you set a quote back to open, unless the customer has already signed;
  • with Create customer you turn a won quote into a customer in your organisation. If a customer with the same KvK number or website already exists, you choose Link to this or Create a new customer anyway.

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:

  • Ipster invoices directly: Ipster sends the customer the bill and you receive, per customer, the difference between the customer price and the cost as a credit note (margin).
  • Via the partner: you invoice the customer yourself. Ipster sends you an invoice (minus margin) for the cost, which is the subscription and the overage according to each customer's quote.

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.

  • With All open tasks and Closed you switch between open and finished work. The overview shows the latest 100 tasks.
  • A task opens in a window with the full thread of replies. You reply, and as handler you set the status to Open, In progress or Closed. For each task you see whether the last reply came from the handler (Answered) or not (Unanswered).
  • For a task about a conversation, View conversation opens that conversation.
  • With New task you create a task yourself. Under For organisation you choose which organisation, enter the description and choose the priority (Low, Normal or High).

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.

  • Retention period: how long transcripts and analysis, recordings and chat and WhatsApp messages are kept.
  • AI assistants (MCP): whether assistants such as Claude or ChatGPT may be connected and up to which level.
  • Permissions matrix: what each role may do applies to the organisation and everything below it.

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.

Can't find your question?

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.