- Look up data in your systems (for example, a CRM or internal database)
- Create or update records (for example, a lead, ticket, or order)
- Trigger workflows in external tools
- Where to find Custom External Actions
- Create a Custom External Action
- Configure the external request
- Define the Input Schema
- How the agent triggers the action
- How this differs from Webhooks
- Where to go next
Where to find Custom External Actions
- In the left-hand sidebar, click Actions.
- At the top of the page, switch to the Custom External Actions tab.
- Name
- Description
- Action Trigger
- Phone Number (where applicable)
- ID
Create a Custom External Action
When you click Create Action, you first choose the type of action.-
In the Create a new action dialog, select Custom Input.
- This is the type used for Custom External Actions.
- Other options like End Conversation, Transfer Calls, DTMF, and Warm Transfer are for phone-only behaviors.
- Click Continue to open the configuration form for your custom external action.
- Basic information (name, description)
- The URL to call
- What the agent says before/after the call
- The Input Schema (what data to collect from the caller)
Configure the external request
In the configuration form for your Custom External Action, you’ll see fields similar to:- Action Name – A human‑friendly name for the action.
- Example:
Create CRM lead,Check account status.
- Example:
- Description – A short explanation of what this action does.
- URL – The endpoint your agent will call.
- This should be a URL you control (for example, an API in your backend or an integration endpoint).
- Fluents.ai sends an HTTP POST request with a JSON body to this URL.
- Speak on Send – What the agent says before calling your API.
- Example:
Let me check your account details.
- Example:
- Speak on Receive – What the agent says after your API responds.
- Example:
Okay, I’ve retrieved your information.
- Example:
- While the external request is being processed, the agent pauses and does not speak.
- When the response returns and is processed, the agent resumes the conversation.
Define the Input Schema
The Input Schema describes which pieces of information the agent must collect before it calls your external endpoint. It is based on OpenAI-style function calling but is editable directly in the UI. You do not need to write JSON manually; you use the interface to define:- Properties (fields)
- Types
- Whether fields are required
- Add properties such as:
first_name(string)email(string)issue(string)customer_id(string or number)
- Mark properties as required or optional.
- Add descriptions for each field to guide the agent:
- Example:
The customer’s email address,Brief description of the customer’s issue.
- Example:
- The agent uses its prompt and the Input Schema to ask the caller for the required information.
- Once all required fields are collected, the Custom External Action is triggered automatically:
- Fluents.ai sends a POST request to your URL with a JSON body that matches your schema.
- The agent waits for the response (muted), then resumes the conversation using the returned data.
The agent decides when to call the action based on:
- Your input schema, and
- How you instruct it in the agent’s prompt (for example: “When you have the customer’s email and issue, call the
create_support_ticketaction.”)
How the agent triggers the action
Custom External Actions are function-based:- You define them once in Actions → Custom External Actions.
- They become available to agents as tools the LLM can call.
- You control when and why they are used through your agent prompt and Input Schema descriptions.
When the caller wants to book an appointment, use the appointment scheduling action once you have their name and preferred time.If the caller is asking about account status, call the account lookup action after collecting their email or account ID.
- Guide the conversation to collect the required schema fields.
- Trigger the external action when conditions are met.
- Use the JSON response to continue the conversation (for example, confirming a booking or reading back status).
How this differs from Webhooks
Both Custom External Actions and Webhooks send data to URLs you control, but they serve different purposes:-
Custom External Actions
- Called during a live conversation.
- Let the agent ask follow-up questions, collect data, call your API, and then continue speaking based on the response.
- Are function-based and tightly integrated with the agent’s prompt and Input Schema.
-
Webhooks
- Typically called after events (like call completed, call started, etc.).
- Are better suited for asynchronous processing, logging, or triggering external workflows that don’t require the agent to wait and respond immediately.
Use Webhooks when you just need to notify external systems about events. See the Webhooks Feature Guide for more on webhooks.
Where to go next
-
Design which data your agents should collect and how they should use external systems in the
Agents – Advanced Settings and Agents – Post-Call Actions guides. -
Learn how to configure webhooks and event-driven integrations in the
Webhooks Feature Guide. -
Manage environment API keys and credentials for your backend in
Get API key and Providers.

