Details
The Custom Agent is a role for Inbound Agents that starts from a blank prompt. Instead of filling in structured fields like on the Receptionist, you write the instructions the agent follows on every call and choose the tools it can use. With a Custom Agent you can:- Write a prompt from scratch, or paste one you already have
- Connect your own API endpoints with custom functions
- Add library functions for checking availability, booking appointments, and transferring calls
- Enable the Notify the representative, Send Reports, and Extract custom fields actions
- Deploy the agent over the phone, on the web, or both
- Attach Knowledge Packs
Creating a Custom Agent
Add a new agent
- From the Home screen, click Add agent in the Inbound Agents section and choose Custom Agent.
Complete the initial setup
- Choose whether the agent is tied to a phone number, deployed to the web, or both, and configure its Agent Settings, Call Settings, and Voice Settings.
- The setup works the same way as for any inbound agent. See Creating an Inbound Agent.
Write the prompt
- Open the Agent Training tab, write or paste your instructions in the Prompt field, and click Save.
Add functions and actions
- Use the Tools & Functions and Actions tabs to give the agent the abilities it needs. See the sections below.
The Agent Configuration Screen
At the top of the screen you’ll see the agent’s name, its Custom Agent badge, a link to add a description, its status (for example Active on Web or Inactive), and a Settings button. Below that:- Estimated credits per minute: An estimate of how many credits the agent consumes for each minute of calling, based on how it is configured. Click it to see what is driving the estimate.
- Available credits: Your current credit balance.
- Using: The model tier the agent runs on. Click Manage to choose Basic, which is reliable and efficient for shorter, linear conversations, or Premium, which offers deeper reasoning built for longer, more complex conversations.
Agent Training
The Agent Training tab has two sections. Who speaks first- Use the Agent / Caller toggle to choose who begins the call.
- How will the agent greet callers? (required) is the opening line when the agent speaks first, for example “Hi, thanks for calling. How can I help you today?”
- Function icon – Inserts one of your enabled functions into the prompt. Functions appear as blue chips.
- Tag icon – Inserts a dynamic variable that thinkrr fills in on each call. Variables appear as purple chips.
- Caller:
{{client_firstname}},{{client_lastname}},{{client_email}},{{client_phonenumber}},{{client_timezone}},{{client_insight}}, and{{incoming_phonenumber}} - Call:
{{current_time}}
Prompting Tips
- Tell the agent when to use each function and in what order. Enabling a function does not tell the agent when to call it.
- Name the exact information each function needs, such as the caller’s name, email, and preferred time.
- Tell the agent to confirm success only after a function returns a successful result.
- Tell the agent what to say if a function fails or times out, so it never invents an answer.
- Ask one question at a time and keep responses short. This is a phone call.
Tools & Functions
The Tools & Functions tab lists the functions your agent can use during conversations. Each function has a toggle, so you can turn it off without deleting it.- end_call is built in and always included so the agent can hang up. It cannot be turned off.
- Click Add to add another function. Choose Create new to connect your own API endpoint, or Pick from library to use a pre-built function.
Library Functions
Library functions are pre-built and ready to configure. The library includes:- Check Availability – Checks calendar availability for a requested date and duration.
- Book Appointment – Books the confirmed calendar slot.
- Transfer call – Transfers the live call to the configured number.
Open the library
- On the Tools & Functions tab, click Add and choose Pick from library.
Select a function
- Under Select function, choose Check Availability, Book Appointment, or Transfer call.
Review the name and description
- Keep the suggested Name, or click the pencil icon to rename it. Names can use letters, numbers, underscores, and dashes only (max 64), with no spaces.
- Review the Description. It tells the agent when and how to use the function, and you can edit it.
Configure the function
- For Check Availability and Book Appointment, select the Calendar to use. Click the refresh icon to reload your calendars.
- For Transfer call, enter the Phone number to transfer to.
- Set the Timeout (milliseconds) if you want to change it. The default is 120000.
- Choose whether the agent speaks while the function runs and after it finishes. See Talk While Waiting and After.
Apply your changes
- Click Apply changes. To add another function of the same kind, click New availability check, New booking, or New transfer.
Custom Functions
A custom function lets the agent call your own API endpoint or any third-party service, such as a CRM, a scheduling tool, or a ticketing system.Start a new function
- On the Tools & Functions tab, click Add and choose Create new.
Name and describe it
- Enter a Name (required), for example
check_order_status. Use letters, numbers, underscores, and dashes only (max 64), with no spaces. - Enter a Description (required), for example “When the caller asks about an existing order”. The description tells the agent when to use the function.
Set the API endpoint
- Choose the request method, such as GET or POST, and enter the address of the service the function should call.
Add authentication and inputs
- Under Headers, click Add header to send optional headers with the request.
- Under Query parameters, click Add parameter to append optional query string values to the URL.
- Under Parameters, enter a JSON schema that describes the arguments the agent should fill in when it calls the function. Click Format JSON to tidy it.
Set the timing and speech
- Set the Timeout (milliseconds). The default is 120000.
- Choose whether the agent speaks while the request runs and after it finishes. See Talk While Waiting and After.
Save the function
- Click Add function.
required.
Talk While Waiting and After
Every function has two speech options:- Talk while waiting – The agent fills the silence while the request runs. Choose Prompt to let the agent say something natural based on a waiting prompt you write, for example “Checking the calendar for available times.” Choose Exact line to have the agent say your text word for word.
- Talk after it finishes – The agent speaks about the result once the request returns.
Actions
The Actions tab shows the actions you can enable on a Custom Agent. Each has a toggle and an Action setup button, and shows Configured or Need configuration to use.- Notify the representative – Sends a notification after a call.
- Send Reports – Sends daily, weekly, or monthly reports.
- Extract custom fields – Captures structured data from each call into the contact’s custom fields.
Web Agent and Knowledge Packs
- Web Agent – Deploy the agent on your website with the same widget settings as other inbound agents. See Web Widget.
- Knowledge Packs – Attach Knowledge Packs with the same plan slots as other inbound agents. See Knowledge Packs.
Examples
These examples show complete prompts and functions from working Custom Agents. Replace the placeholders with your own details.Example: Book Appointments in HubSpot
This agent books demos on a HubSpot meetings calendar using two custom functions:- check_availability_hubspot – A GET function that returns open slots.
- book_appointment_hubspot – A POST function that books the chosen slot.
Example prompt: HubSpot booking agent
Example prompt: HubSpot booking agent
Parameters schema: check_availability_hubspot
Parameters schema: check_availability_hubspot
Parameters schema: book_appointment_hubspot
Parameters schema: book_appointment_hubspot
Example: Log Every Call as a Support Ticket
This agent answers support calls, collects the details the team needs, and logs every call with a custom function namedlog_call_ticket (a POST function that creates a ticket in a helpdesk). The prompt tells the agent to call the function exactly once per call, before saying goodbye, and sets rules for the category, status, priority, and description.
Example prompt: customer support agent with call logging
Example prompt: customer support agent with call logging
FAQs & Troubleshooting
General Questions
What is the difference between the Custom Agent and the Receptionist?
What is the difference between the Custom Agent and the Receptionist?
Do I have to write the prompt from scratch?
Do I have to write the prompt from scratch?
Can I use both phone and web?
Can I use both phone and web?
Can the Custom Agent book appointments?
Can the Custom Agent book appointments?
Configuration
How do I connect my own API?
How do I connect my own API?
Where do I get an API key or token?
Where do I get an API key or token?
Why are Check Availability and Book Appointment paired?
Why are Check Availability and Book Appointment paired?
Can I turn the end_call function off?
Can I turn the end_call function off?
Which model tier does the Custom Agent use?
Which model tier does the Custom Agent use?
Usage and Results
The agent isn't using my function
The agent isn't using my function
What happens if a function fails or times out?
What happens if a function fails or times out?
Why don't my prompt changes affect calls?
Why don't my prompt changes affect calls?
Do test calls use credits?
Do test calls use credits?
For additional questions or guidance, try using our Virtual Support Agent! Available 24/7 to help resolve most issues quickly at thinkrr.ai/support. If you still need assistance, visit our support site at help.thinkrr.ai and submit a Ticket or contact our team directly at hello@thinkrr.ai.

