Skip to main content

Building Custom Tools (API Integrations)

Custom Tools in Frontline allow your AI Agent to connect with external systems, trigger actions, or fetch data using APIs. You can use them to send notifications, update CRMs, send emails, or retrieve information from databases.

Alvaro Vargas avatar
Written by Alvaro Vargas
Updated over a week ago

Custom Tools in Frontline allow your AI Agent to connect with external systems, trigger actions, or fetch data using APIs. You can use them to send notifications, update CRMs, send emails, or retrieve information from databases.

This article explains how to create and configure a Custom Tool in Frontline and provides general setup guidelines. For step-by-step examples (e.g., Slack, Email, Airtable), see the related articles in the Tools collection.


Availability

Custom Tools are available on Premium, Scale, and Enterprise plans. They require API credentials or webhooks from the services you want to connect.


⚙️ What you can do with Custom Tools

Here are some examples of what Custom Tools can accomplish:

  • Send a Slack notification when a lead is qualified.

  • Send an outbound email via an email API like Resend.

  • Fetch or write data to Airtable, HubSpot, or any CRM.

  • Send custom WhatsApp messages through the Meta Graph API.

Each Custom Tool defines an API request (GET, POST, PUT, DELETE) that your Agent can call automatically when triggered by a user action or workflow.


⚠️ Before you start

Before creating a Custom Tool, make sure you have:

  • The API endpoint URL you want to connect to.

  • The correct HTTP method (GET, POST, etc.).

  • Any authentication tokens or API keys required.

  • (Optional) A sample payload or API documentation to test your request.

Tip: Always test your API manually first (e.g., using Postman) to confirm it’s responding correctly before connecting it to Frontline.


🚀 Step-by-step setup

1) Go to Tools in Frontline

  1. Log in to your Frontline Dashboard.

  2. Navigate to Platform → Tools.

  3. Click Create Tool.

2) Name and describe your tool

  1. Give your tool a clear name that reflects its purpose, e.g. Send Slack Notification or Fetch Customer Data.

  2. In the When to use field, describe when your Agent should trigger it.

  3. Under Tool type, select Custom Tool.

(See screenshot: Edit Custom Tool – selecting type Custom Tool.)

3) Connect your API

  1. Choose the HTTP Method (GET, POST, PUT, or DELETE).

  2. Enter the API URL endpoint.

  3. If needed, add:

    • Data inputs: dynamic variables that your Agent will collect during the conversation (e.g. name, email, ID).

    • Query parameters: key/value pairs appended to the URL.

    • HTTP headers: authentication or content-type headers.

  4. For POST or PUT requests, define the Request Body in JSON format.

(See screenshot: Connect your API section.)

4) Test your API connection

  1. Click Test Response to check if the API call works.

  2. Review the test output — a successful response will return status 200 OK.

  3. If it fails, double-check your URL, headers, and credentials.

5) Save your tool

Once the test passes, click Save Tool. The Custom Tool is now available for your Agent to use in Flows or automations.


🧠 How it works

When your Agent triggers a Custom Tool, Frontline sends the API request you’ve defined. Any variables (like {email} or {contact}) are replaced with live data from the current conversation context.

For example, a POST request like:

{   "summary": "{summary}",   "topic": "{topic}",   "contact": "{contact}" }

will dynamically include the values collected from the user.


✅ Best practices

  • Keep your API URLs and tokens secure — avoid sharing them in screenshots or public documents.

  • Use environment variables or generic names in documentation.

  • Always test in a sandbox before going live.

  • Give your tools clear names so Agents can easily identify them.

  • Document what each tool does and which Agent or Flow triggers it.


🔍 Troubleshooting

  • 401 Unauthorized: Check your API key or authentication header.

  • 400 Bad Request: Verify the payload structure or missing parameters.

  • No response in test: Ensure your API endpoint is publicly accessible or whitelisted.

  • Variables not replaced: Confirm that the data inputs are correctly mapped to the conversation fields.


🧩 Related articles

  • [Example: Sending Slack Notifications]

  • [Example: Sending Outbound Emails]

  • [Example: Fetching Data from Airtable]

  • [Example: Sending WhatsApp via API]


Still have questions?

Reach out through the Help button in Frontline or contact your CSM for assistance.

Did this answer your question?