For developers

What you can connect to Kallina from code, today

Kallina does not yet have a public documented REST API. It has four working connection points: webhook tools called by the agent during the conversation, addresses that start flows, the script for the voice button, and an MCP server. Access to the API for special cases is discussed on request.

Connection points

  • Webhook tools during the call

    In the agent profile, define a tool: name, description, address, method, fields schema and maximum timeout. The agent calls it when the conversation requires it and uses the response in the sentence.

  • Addresses that start flows

    A flow from the builder can have its own trigger address. Your system sends a request, and the flow starts with the received data.

  • Voice button on the site

    A single script on the page. The voice session receives a temporary address, so the agent identifier does not appear in the page code.

  • MCP server

    MCP-compatible assistants can connect to the Kallina account through OAuth authorisation, to read agents, calls and leads or to start calls.

Voice button: embed code

The script loads simply, not as a module and not through a bundler.

<script src="https://app.kallina.info/embed.js" data-widget="WIDGET_ID"></script>

<script>
  window.KallinaVoice.on("state", (s) => console.log(s)); // idle | connecting | listening | speaking
  window.KallinaVoice.on("message", (m) => console.log(m.source, m.text));
  // window.KallinaVoice.start() / window.KallinaVoice.stop()
</script>
AttributeWhat it does
data-widgetThe public identifier of the widget. Required.
data-mode“button” displays the button; “inline” displays nothing and leave the start to your code.
data-positionButton corner: bottom right or bottom left.
data-colorButton colour.
data-labelAccessible label for the button.

Authenticating flow addresses

MethodWhen to use it
No authenticationFor tests only, on flows that do not handle personal data.
BasicUsername and password, for systems that know nothing else.
Custom headerA header with a secret value set by you.
BearerA token in the authorisation header.

Available MCP tools

The names below are the ones on the server. Access is granted per account, after authorisation.

  • list_agents
  • get_agent
  • update_agent_prompt
  • list_phone_numbers
  • list_calls
  • get_call_transcript
  • list_leads
  • export_leads
  • start_outbound_call
  • list_campaigns
  • start_campaign
  • account_status

Frequently asked questions

Do you have a REST API with keys?

Not public. If you need to start calls or read results from your system, write to us with the use case and we will set the access and its form.

Do I receive a webhook with the result after each call?

Not as a standard service. The result is sent through flows or through the existing integrations; for a fixed format we discuss it in the project.

Is there documentation?

For the voice button and the webhook tools, the description on this page and the help in the app. For any additional access, you will receive the documentation when the project starts.

Should webhook tools respond quickly?

Yes. Each tool has a maximum waiting time; a slow response means a pause in the conversation, so keep requests short.

Describe what you want to connect for us

Tell us which system, which data and at what point in the call. We will tell you what can be done with what exists and what needs to be built.