1. Overview
  2. Advanced Setup
  3. Creating Custom Tool - Extract Data and fill Custom Values plus much more

Creating Custom Tool - Extract Data and fill Custom Values plus much more

Custom Tool Guide

 

Supplemental learning

 

What is a custom tool?

Custom tools are a very powerful way to allow your voice and chat AI to do anything on the internet. Tools create a lot of opportunities for custom functionality, data fetching, data extraction and workflow triggering with the understanding of the response of what you are doing.

 

How does a custom tool work?

A custom tool is an LLM function call with an API call wrapper. So it allows the AI functionality specified by the description and parameters - and the endpoint URL allows for a POST call with understanding of the Return from the endpoint for contextual awareness. This makes it powerful in use cases like MLS integrations, solar quoting integrations, data fetching, and more.

 

What are some use cases for custom tools?

Use cases range as far as your creativity or need for a solution. Some example use cases would be something as simple as updating contact information by allowing the AI to ask for specific information and then sending it to a webhook link to fill contact information in a CRM or something as advanced as a multi-stage tool call to generate stripe customer IDs and generating unique stripe checkout links to send via SMS.

 

What do the inputs mean?

  • Name [raw json format]: the name of the tool call specifies the unique name that will be called when the AI deems the condition matches. We want our tool name to match the functionality of what we are doing and be in plain raw text. Examples for updating contact information would be update_contact, or getting a delivery date for an order ID would be get_delivery_date.

  • Description [conversational text is fine]: The description of the tool is - in my opinion - one of the most important parts of tool calling. This tells the AI what the tool does, how to do it and under what circumstances to call the tool. A great example for get_delivery_date would be:

    • 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 [URL format]: The endpoint URL is where the AI will [POST call] send the data and expect a response from. So, if I were wanting to get real estate listings from an MLS - this would look something like: https://api.bridgedataoutput.com/api/v2/OData/dataset_id/Property?access_token=access_token&$expand=ListOffice. The URL is the specific API / Webhook endpoint URL to send the parameters to.

  • Authorization & Key [toggle and Bearer Token]: The authorization is built into our API wrapper to allow you to call API endpoints that require authorization or API keys. This should be in full bearer format. So if API docs specify needing an authorization header, put your account’s api key in this input to authenticate the call.

  • Parameters [key / value pairs where the value is a description of the information]: The parameters are the data that you are seeking and a description of the information and the format you want the information. Args (or the end data format) is generated by AI, so the name should be in JSON format (lowercase, no spaces - use underscores instead - and no special characters), and the description should be very explicit on the information you are looking for and the format you want. An example would be - revenue: The annualized revenue of the user in raw number format. 

    • A traditional key / value pair looks something like:

      • name: Johnny

        • Output: {“name”:”johnny”}

    • With parameters, the AI does the heavy lifting of the “value”:

      • name: The first name of the user.

        • Output: {“name”:”johnny”}

 

Examples:

A tool to update contact information in your CRM:

 

Inbound webhook trigger:

 

Find contact by contact ID:

 

Update contact fields by args information: 

 

Search the web with your AI assistant:

 

The response will be the return from Bing search engine.

 

 

Submit support ticket on behalf of the user:

 

Screenshot a website:

 

Scrape a website and understand the return [with authorization]:

 

Get available times from a CRM Calendar [Multi-calendar booking]:

 

Book Appointment to a CRM Calendar [Multi-calendar booking]:

 

Create checkout session using the contact’s customer ID [customer ID was generated from another tool call]:

 

Contextually aware call request from SMS conversation:

 

Calculate distance with the user’s address:

 

Self-bot-training to store their confident answers:

 

Create a new customer in Stripe and return the stripe information:


© 2025 Assistantz onboarding