Endpoints let your assistant call external services during a live conversation. Use them when a scenario needs to trigger backend actions such as CRM updates, scheduling, order lookups, or workflow events. This guide covers endpoint setup and attachment in both JSON and UI flows.Documentation Index
Fetch the complete documentation index at: https://docs.akapulu.com/llms.txt
Use this file to discover all available pages before exploring further.
What an endpoint includes
Each endpoint has:name: tool label shown in Akapuluurl: destination HTTP URLheaders: request headersbody: JSON payload
Akapulu invokes your endpoint with the POST method and a JSON-encoded body.
Content-Type: application/json is sent by default; add Content-Type under Headers if you need a different value.Host your endpoint as an HTTP server
Your endpoint URL must point to a running HTTP server route that can accept POST requests from Akapulu during live conversations.- Use a valid
https://URL for production. - The route must be publicly reachable from the internet.
For authentication, create a secret and pass it in your request Headers using
{{secret.*}}.HTTP transition behavior
HTTP endpoint tools support two transition patterns:- Simple transition: set
transition_toon the HTTP function. If the endpoint returns a successful 2xx response, the flow transitions to that node. - Dynamic transition: set
allowed_next_nodeson the HTTP function. After a successful 2xx response, Akapulu reads the returned JSON fieldnext_nodeand transitions to that node.
- the endpoint response must be a JSON object
- it must include
next_node next_nodemust be a stringnext_nodemust match one of the nodes listed inallowed_next_nodes- every entry in
allowed_next_nodesmust be a valid node name in the scenario
400 or 500, the flow does not transition to any node.
If dynamic transition is configured and the response is missing next_node, returns a non-string next_node, or returns a next_node that is not in allowed_next_nodes, the tool call is treated as an error and the flow does not transition.
Tool call results are included in conversation transcripts. For failed HTTP tools, Akapulu stores a sanitized error message rather than the raw upstream error text.
Create an endpoint
- Go to akapulu.com/endpoints and click Create Endpoint.
- In the Setup tab, enter:
- endpoint
name - destination
url - example:
name:Book Appointmenturl:https://api.yourcompany.com/v1/book-appointment
- endpoint
- In the Headers tab, add a JSON object for request headers.
- example:
- In Body, add a JSON object for the request payload.
- example:
- Note: You can use template variables in headers and body. Learn more in Templates and Variables.
- Note: Secret variables are allowed only in endpoint headers. Secret variables are not allowed in request bodies,
role_instruction, ortask_instruction.
- Save the endpoint and copy its endpoint ID from the details view.
- Attach the endpoint to your scenario using one of these methods:
Attach via JSON
Use your endpoint ID in node JSON: Innodes_json, endpoint references live inside each node object under:
functions[].endpoint_idfor HTTP tools
functions[].name is the tool-call name presented to the LLM. Use clear action names like book_appointment, create_lead, or lookup_order.
Example shape inside nodes json:
- set the endpoint
urlto the deployed route for your handlerhttps://my-endpoint.com/route-demo-request - Akapulu will call your endpoint and return the result to the conversation flow
- JSON response will be added to llm context and will transition to the “Pricing Help” node
Attach via UI
HTTP function tool (LLM-invoked)
Use this when you want the model to decide when to call the endpoint during a node:- Open your scenario and go to the node where you want to add the tool.
- Click Add Function.
- Select the HTTP Endpoints tab in the modal.
- Choose your endpoint by name.
- Enter a clear function name and description. This is the tool metadata shown to the model when it decides whether to call the endpoint.
- Use the transition toggle at the bottom of the modal to choose Simple or Dynamic transition behavior.
- Configure the transition path for the endpoint:
- For Simple, drag the function probe to the single next node you want to enter after a successful tool result.
- For Dynamic, drag the function probe to each node you want to allow. Each connected node is added to
allowed_next_nodes.For dynamic routing, the endpoint must return JSON withnext_nodeset to one of the node names inallowed_next_nodes.

