Home / Knowledge base / Advanced Tools & Automation

How to Create a Custom Tool to Extract Data and Fill Custom Fields

Updated September 17, 2026 · Advanced Tools & Automation · by the Assistantz.ai team

Short answer

A custom tool is a function call wrapped around an API POST request: give it a plain-text name, a clear description of when to use it, an endpoint URL, optional bearer-token authorization, and parameters describing what data to extract and in what format. The AI fills the parameters from the conversation and sends them to your endpoint.

Video walkthrough: How to Create a Custom Tool to Extract Data and Fill Custom Fields

Custom tools are what let your voice or chat assistant do anything on the internet — fetch data, extract information from the conversation, or trigger a workflow in another system, with full awareness of what the response means.

How a custom tool works

A custom tool is a function call with an API call wrapper: the AI decides when to use it based on your description, sends a POST request to your endpoint with the parameters it extracted, and reads the response back into the conversation for context. This covers use cases from simple contact-info updates to multi-stage flows like generating a Stripe customer ID and sending a unique checkout link by SMS.

What each input means

  • Name (raw JSON format): a unique, plain-text name matching what the tool does — update_contact, get_delivery_date. This is what the AI calls when it decides the tool applies.
  • Description (conversational text is fine): the most important field. It tells the AI what the tool does and exactly when to call it. Example: “Get the delivery date for a customer’s order. Call this whenever you need to know the delivery date, for example when a customer asks ‘Where is my package.’”
  • Endpoint URL: the specific API or webhook endpoint the tool sends its POST request to.
  • Authorization & key: a toggle plus a Bearer Token field, for endpoints that require an API key or authorization header.
  • Parameters: key/value pairs where the value is a description of what to extract and in what format. Parameter names should be lowercase JSON-style (underscores, no spaces or special characters); the description should be explicit about the data and format wanted — for example, revenue: The annualized revenue of the user in raw number format. The AI fills these values in from the conversation itself.

Example use cases from real setups

  • Update contact information in a CRM.
  • Trigger an inbound webhook.
  • Find a contact by contact ID.
  • Update contact fields using extracted conversation data.
  • Search the web mid-conversation.
  • Submit a support ticket on the user’s behalf.
  • Screenshot or scrape a website (with authorization) and understand the response.
  • Get available times from — and book appointments to — a CRM calendar, including multi-calendar setups.
  • Create a Stripe checkout session using a customer ID generated by an earlier tool call in the same conversation.
  • Make a contextually aware call request from an SMS conversation.
  • Calculate distance using the user’s address.
  • Create a new Stripe customer and return the resulting customer information.

Further reading

Next step

Once you’re comfortable with custom tools, apply the same pattern to tags and live transfer: how to create a tool to add and remove tags and how to set up live call transfer (cold and warm). If fields aren’t populating after setup, see fix: AI assistant not filling custom fields.

  • ai custom tool function calling
  • ai extract data fill custom fields
  • assistantz custom tool api

Put an assistant live in your first client account today

Fourteen days free, a 1-on-1 onboarding call included, no contract. Voice from 9¢ a minute all-in, and you set the client's price.