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.
What an endpoint includes
Each endpoint has:name: tool label shown in Akapuluurl: destination HTTP URLmethod: HTTP method (GET,POST,PUT,PATCH, orDELETE)headers: request headersbody: JSON payload
Host your endpoint as an HTTP server
Your endpoint URL must point to a running HTTP server route that can accept requests from Akapulu during live conversations.- Use a valid
https://URL for production. - The route must be publicly reachable from the internet.
- Localhost URLs like
http://localhost:3000/...are not reachable by Akapulu unless you expose them through a tunnel.
Create an endpoint
- Go to akapulu.com/endpoints and click Create Endpoint.
- In Setup, enter:
- endpoint
name - destination
url - HTTP
method - example:
name:Book Appointmenturl:https://api.yourcompany.com/v1/book-appointmentmethod:POST
- endpoint
- In Headers, 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_messages, ortask_messages.
- 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[].function.endpoint_idfor HTTP toolspre_actions[].endpoint_idfor node-entry callspost_actions[].endpoint_idfor post-utterance calls
functions[].function.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:
- HTTP function tool (model-invoked):
- Pre action (runs on node entry):
- Post action (runs after bot’s first utterance in that 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 target node
- add a function under Functions
- Make sure you’re on the
HTTP Endpointstab in the pop up modal - select your endpoint by name
- set a clear function name and description, which becomes the tool metadata shown to the LLM when it decides whether to call the tool

Pre-actions and post-actions
Use this when you want automatic endpoint calls tied to node lifecycle:- open your scenario and go to the target node
- click Add pre action or Add post action
- keep the HTTP Endpoints tab selected in the modal
- select your endpoint
HTTP endpoints attached as
pre_actions or post_actions are not presented to the LLM as tool calls. They run automatically, so they cannot use {{llm.*}} variables.
Endpoint behavior in conversation flow
- HTTP function tools (
type: "http") are invoked by the model during node execution. pre_actionsrun automatically on node entry.post_actionsrun automatically after the bot finishes its first utterance in the node.- Endpoints are scoped per user and can be reused across multiple scenarios.

