Skip to main content

Agent tool reference

Tools are the actions an agent can take beyond writing text: searching your knowledge base, booking an appointment, sending a Square invoice, writing to a spreadsheet, replying on a channel. During a run, the agent decides on its own which of its attached tools to call, in what order, within its budget.

You attach tools three ways:

An agent only sees the tools attached to it. If a conversation needs a capability the agent does not have, attach the tool and save the workflow.

Quick reference

ToolWhat it doesRequires
knowledge_base.searchAnswers from your indexed documentsDocuments in the knowledge base
research.deepMulti-query research with a cited reportDocuments in the knowledge base
appointment.bookBooks a calendar event and invites the customerConnected Google Calendar
invoice.createCreates a Square quote or invoice with a payment linkConnected Square account, customer email
invoice.statusChecks whether a quote or invoice was paidConnected Square account
customer.findLooks up an existing customerNothing extra
customer.createConverts a lead into a customer profileThe contact's email
customer.linkConversationLinks a conversation to a customer profileA customer id from find or create
customer.task.sendAssigns a published task and returns a no-login linkA published task; the customer's email or userId
frontdesk.configReads the org's front-desk settings and onboarding task orderNothing extra
followups.listLists today's due follow-ups per the Setup cadenceFollow-ups enabled in Workflow → Setup
followups.recordRecords a follow-up as sent, restarting its cadenceA candidate from followups.list
knowledge.noteFiles a markdown note into the knowledge baseNothing extra
dataset.query / dataset.writeReads and writes collection recordsThe collection exists
data.query / data.syncReads and writes the connected data sourceA bound data source connector
messaging.respondReplies on the channel the conversation came fromThe channel's connector
sheets.*Google Sheets operationsConnected Google Sheets
slack.*Slack messaging and lookupsConnected Slack bot
mcp.tools.list / mcp.tools.callUses tools from an MCP serverConnected MCP server

Knowledge and research

knowledge_base.search

Searches your indexed documents by meaning (vector similarity) and returns the matching passages, which the agent uses to ground its answer. This is the tool behind every "answers from your documents" chatbot.

  • When the agent uses it: whenever a question might be answered by your uploaded content.
  • Key inputs: the search query; optionally a specific knowledge base, folders, and a result limit. When not specified, it searches the agent's bound knowledge base or the project default.
  • Requires: documents uploaded and indexed in the Knowledge Base. An empty knowledge base returns nothing.

research.deep

Deep research over the knowledge base: it breaks a research question into several focused retrieval queries, gathers evidence, and synthesizes a cited report. Slower and more thorough than a single search.

  • When the agent uses it: broad or analytical questions that one search cannot cover, such as "compare our three service tiers."
  • Key inputs: the research question; optionally the knowledge base and folders.
  • Requires: an indexed knowledge base. Expect longer run times (up to two minutes), so give the agent a roomier budget.

Customer management

These tools let one agent carry a contact from first message to customer, without you ever handing it an id: the current conversation and the contact's details ride along in the execution automatically.

customer.find

Looks up an existing customer of your organization by email or phone.

  • When the agent uses it: before creating a customer, to avoid duplicates; or to recognize a returning contact.
  • Key inputs: an email or phone number. If neither is given, it falls back to the contact details of the current conversation.
  • Requires: nothing extra.

customer.create

Converts the person in the current conversation into a customer profile. The conversation is linked to the new profile automatically, and your onboarding workflows apply just as if they had signed up in the portal.

  • When the agent uses it: the moment a lead shows real interest and has shared their email.
  • Key inputs: the contact's email (required; the agent is instructed to ask for it), plus name and phone when known.
  • Requires: an email address. Without one, the tool refuses and tells the agent to ask first.

customer.linkConversation

Associates the current conversation (or a named one) with an existing customer profile.

  • When the agent uses it: after customer.find confirms the contact is already a customer.
  • Key inputs: the customer id returned by customer.find or customer.create.
  • Requires: a conversation to link; channel and chat runs always have one.

customer.task.send

Assigns a published task (an intake form, an NDA, terms and conditions) to a customer and returns a secure no-login /t/<token> link the agent can share in chat on any channel. In the workflow tool picker this is Send customer task.

  • When the agent uses it: to hand a new customer their paperwork mid-conversation. A typical flow: a lead DMs on Instagram, the agent asks for their email, calls customer.create, reads the enabled task order with frontdesk.config, calls customer.task.send for the next task, and shares the returned link in the DM.
  • Key inputs: the task, and the customer's userId or email. The secure link is emailed to the customer automatically; pass sendEmail: false when you will hand the link over yourself (for example in the chat).
  • Requires: a published task. Signature, file-upload, and payment steps on the link hand off to the signed-in portal; see Onboarding tasks.

customer.email

  • What it does: sends the customer a plain email from the business (subject plus a short body with one clear call to action). Used for next steps after onboarding, proposals, or when the customer has no messaging channel.
  • Key inputs: the customer's userId or email, subject, body.
  • Good to know: the email carries your portal branding; keep it short and personal, and never invent prices.

Follow-ups and front desk

Three tools power the daily follow-up round and the agent-driven onboarding flow, all configured on the Workflow page's Setup tab. In the workflow tool picker, followups.list and followups.record appear together as Follow-ups, while frontdesk.config ships with customer.task.send as Send customer task. The Follow-up Agent recipe is built on them.

followups.list

Lists today's due follow-ups: quiet leads, quotes waiting on an answer, and unpaid invoices, per the cadence set under Workflow, Setup. Each candidate says why it is due and comes with its origin channel and ready-made reply routing, so the agent can respond on the channel the conversation came from.

  • When the agent uses it: at the start of a scheduled follow-up run.
  • Key inputs: none; the cadence and cap come from the Setup tab.
  • Requires: follow-ups enabled under Workflow, Setup. Customers whose journey is marked Completed or Lost are never listed.

followups.record

Records that a follow-up was sent, so the candidate's cadence window restarts and the next run does not nudge them again immediately.

  • When the agent uses it: right after each follow-up message goes out.
  • Key inputs: the candidate's conversationId and/or invoiceId from followups.list.
  • Requires: nothing extra.

frontdesk.config

Returns the organization's front-desk settings from the Setup tab, including the ordered list of enabled onboarding tasks, so the agent knows which task to send next.

  • When the agent uses it: before sending onboarding paperwork with customer.task.send.
  • Key inputs: none.
  • Requires: nothing extra.

Business operations

appointment.book

Books an appointment on the organization's connected calendar. A Google Calendar event is created and the customer is invited by email, and the appointment is linked to the customer profile and the conversation.

  • When the agent uses it: after confirming the date, time, timezone, and the customer's email.
  • Key inputs: a title and start time; optionally duration (default 30 minutes), timezone, location, notes, and the customer's email and name. The email falls back to the conversation's contact when the agent omits it.
  • Requires: a connected Google Calendar (see Connectors). Without one, the appointment is only recorded internally, no calendar event or invite is created, and the tool tells the agent to say so rather than claim a booking.

invoice.create

Creates a Square quote or invoice for a customer and returns its hosted payment link.

  • When the agent uses it: after confirming the line items and amounts with the customer. A quote returns a payment link the agent shares in the conversation; an invoice is additionally emailed to the customer by Square, so they can pay from their inbox.
  • Key inputs: quote or invoice, a title, and the line items (name, quantity, unit price in cents, so $150.00 is 15000); optionally a due date and a note. The customer's email is required; it falls back to the conversation's contact.
  • Requires: a connected Square account and a customer email. The connected Square account's own currency always wins over any currency the agent passes.

invoice.status

Checks whether a Square quote or invoice has been paid.

  • When the agent uses it: before following up with a customer about payment.
  • Key inputs: the invoice id returned by invoice.create.
  • Requires: a connected Square account and an invoice created earlier.

knowledge.note

Writes a markdown note into the knowledge base and queues it for indexing, so knowledge search can retrieve it later. This is how agents build durable memory: meeting captures, lead context, decisions.

  • When the agent uses it: at the end of meaningful conversations, or whenever it is told to file something.
  • Key inputs: a title and the note body in markdown; optionally a specific knowledge base and folder.
  • Requires: nothing extra. Where the note lands follows this order: a Vault node on the canvas binds its folder (the Meeting Vault recipe files into a "Meetings" folder this way); the workflow's Chat memory folder in Workflow Settings sets the folder for the chatbot's conversation abstracts and memory notes; otherwise the note goes to the agent's knowledge base, in the built-in "Vault" folder by default.

Collections (structured data)

Agents read and write collections, the workspace's structured datasets, through these tools. On the canvas, a Collection node connected to the agent's tool handle binds a specific collection in read or write mode.

dataset.query

Reads records from a collection, filtered by key, field values (with comparison operators), or a time range for series data. Results are capped, so the agent asks for what it needs.

dataset.write

Stores records in a collection. A latest collection keeps one record per key (repeat writes update in place); a series collection appends a point per write for history and charts. Records are plain objects, keyed by the collection's key fields (for example, symbol).

  • Requires: the collection must already exist (recipes create theirs automatically), unless the agent explicitly asks to create it on first write.

There is also dataset.query_bound, which reads a compact evidence view from every collection bound to the agent in one call; analysis workflows use it to start from all their inputs at once.

Connected data sources

data.query

Reads rows from the data source already bound to the agent: Google Sheets, Airtable, Google Reviews, or Reddit. The spreadsheet or table is fixed by the connector binding, so the agent never asks you for a spreadsheet id; it just describes what to read.

data.sync

Writes or appends rows to the bound data source (Google Sheets, Airtable). Each row is an object whose keys become columns.

  • Requires: a data source connector bound to the agent (through a tool node or the Tools checkboxes).

Messaging

messaging.respond

Delivers the agent's reply through a channel connector: messaging, email, or social. In a multi-channel workflow the run is told which channel the conversation came from, and the agent is instructed to reply with the respond tool matching that channel, so a customer who writes on Instagram gets the answer on Instagram even when Telegram and WhatsApp are connected too. It replies in-thread by default and can send a new message instead.

  • Key inputs: the response text; the connector and reply mode usually come from the channel binding.
  • Requires: the channel's connector. Checking a channel in Workflow Settings attaches its respond tool to the agent automatically.

Google Sheets tools

With a Google Sheets connector attached, the agent gets the sheets.ops tool, which covers the connected spreadsheet end to end. Its operations: list_tabs, create_tab, delete_tab, read_headers, read (a range or a whole tab), write (overwrite cells), append (add rows keyed by column header), clear, and delete_column. Each operation is also exposed as its own skill (sheets.read, sheets.append, and so on), so you can grant a narrower set. The spreadsheet is fixed by the connector, and the agent is instructed to check tab names and headers before writing.

  • Requires: a connected Google Sheets connector bound to a spreadsheet.

Slack tools

With a Slack connector attached, the agent can work inside your Slack workspace:

ToolWhat it does
slack.post_messagePosts a new message to a channel, by name or id
slack.reply_threadReplies inside an existing thread
slack.send_dmSends a direct message to one person, by id, handle, or email
slack.list_channelsLists the channels the bot can see, with ids
slack.read_threadReads a thread's replies, or recent channel history
slack.lookup_userFinds a user by email so the agent can DM them
  • Requires: a connected Slack connector with a bot token, and the bot invited to the channels it should use.

Automation and advanced tools

These tools mostly power workflow nodes rather than conversational agents, but they are part of the same registry:

  • mcp.tools.list and mcp.tools.call: discover and call the tools exposed by a connected MCP server, such as Financial Market Prep for market data. Requires an MCP Server connector.
  • workflow.invoke: runs another workflow, synchronously or queued in the background. Takes the target workflow's id (shown in Workflow Settings).
  • mq.publish: publishes a message to a message bus queue, pairing with the Message Bus Listener trigger to chain workflows.
  • trigger.receive: a passthrough that hands the incoming message to the next state; trigger nodes use it under the hood.
  • pipeline.python: runs a Python script with connector bindings, for custom transforms on connector data.

Troubleshooting

  • The agent says it cannot do something. Check that the tool is attached: open the agent node's gear and look at Connected Tools, or check the Tools list in Workflow Settings.
  • Bookings or invoices fail. The Google Calendar or Square connector is missing or disconnected. Fix it under Connectors; the tools report the reason to the agent, and the agent is designed to tell the customer honestly rather than pretend it succeeded.
  • Answers ignore your documents. The knowledge base is empty, still indexing, or the agent is bound to the wrong one. See Knowledge Base.
  • A tool ran out of room. Tool-heavy conversations need turns; raise the agent's budget on the Budget tab, described in Workflows and Agents.