Connections, Actions, and Smart Tools

Three ways to give your agent a new capability. A connection gives it reach into your apps. An action gives it a reliable hand to operate them. A Smart Tool gives it a packaged skill. Most real setups use all three.

Connection: reach into your apps

A connection is your workspace's authenticated link to one external app: Slack, GitHub, HubSpot, Notion, Google Sheets, or any HTTP API through the generic connector. It holds the credentials, encrypted inside your workspace and never shown to the agent or placed in a prompt. A connection is not a tool the agent calls directly; it is the wiring every action uses to reach that app as you. Connections are free.

Use one when your agent needs to touch one of your accounts. It is the prerequisite for any action against that app. For example: connect your Slack workspace once, and every Slack action runs through it.

Action: a reliable hand

An action is a named, repeatable operation against a connected app: send a Slack message, create a HubSpot contact, fetch this week's open pull requests. It runs a fixed HTTP request or a bit of code the same way every time, with no model in the loop when it runs, so it is fast, cheap, and deterministic. Build one by describing it in plain language (AI drafts and tests it against your live connection) or by writing the request template or code by hand. Each run costs the per-call price ($0.002 on this deployment).

Use one when the task is a concrete thing an API can do exactly and you want the same result every time. For example: "post to #releases", "create a contact in HubSpot", "list issues assigned to me".

Smart Tool: packaged judgment

A Smart Tool is a reusable prompt exposed as its own tool. It calls a model when the agent invokes it, and returns either natural-language text or JSON validated against a schema you set. It needs no connection and no API: the capability is the prompt itself, written once and called by name forever. A Smart Tool can also email you its result or generate a file (CSV, XLSX, DOCX) from each run, and can be called over plain HTTP.

Use one when the task is language or judgment: summarize, classify, rewrite, extract, draft. For example: "summarize this ticket", "classify this email as bug, feature, or question", "draft an outreach email", "pull the name, company, and amount out of this text as JSON".

The quick difference

Connection Action Smart Tool
Gives your agent Reach into an app A reliable operation in an app A packaged model skill
Needs a connected app It is the connection Yes No
Calls a model when run Not called directly No Yes
Result Encrypted credentials Exactly what the API returns Model text or schema-checked JSON
Best for Authenticating to an app Deterministic API operations Language and judgment tasks
Cost Free Per-call run price Run price plus a charge for the inference, or free inference with your own model key

When do I use which?

  • Reaching a new app for the first time? Make a connection.
  • Need the exact same API operation over and over? Make an action.
  • Need the model to read, write, or decide something in words? Make a Smart Tool.
  • Torn between an action and a Smart Tool? Ask whether an API endpoint can do it exactly, or whether it takes reading and judgment. "Fetch the last 10 orders" is an action; "tell me which of these orders look fraudulent" is a Smart Tool.

They work together

A connection underpins every action against its app, and an agent chains all three: an action fetches this week's support tickets from your connection, a Smart Tool summarizes them, and that Smart Tool emails you the summary or drops it into a CSV. You assemble the pieces; the agent calls them by name. See Connectors and connections and Building tools to make your first ones.

Something went wrong on our side. Reload
Interactive features couldn't start. The realtime connection is being blocked. If this domain sits behind Cloudflare or a WAF, allow websockets to /_blazor. Retry