Tools
Tools are what let the agent do things— not just answer questions. Every Seny agent comes with a built-in set of tools for reading and driving the page it's on, searching your content, and remembering visitors. You can also define custom tools that call your own backend.
Built-in tools
Built-in tools are always available — there's nothing to enable. The full list is shown read-only under the agent's Permissions tab. (The old Tools tab was renamed: custom and third-party tools now live under Integrations.)
Seeing & driving the page
The browser tools act on the live page the visitor is looking at. The agent first calls observe_page to take a snapshot of the current DOM — visible text, forms, buttons, links — and then acts on what it saw. Nothing here depends on the crawl; if the page changes, the next snapshot sees the change.
observe_page— snapshot the current page's content and interactive elements. Most other browser tools act on elements from this snapshot.navigate— take the visitor to another page on your site (/pricing,/contact). The widget performs a client-side navigation so the conversation continues across pages.click_element— click a button or link from the latest snapshot: open a menu, expand an FAQ, advance a multi-step form.fill_form,type_text,select_option,check_box— fill out forms on the current page with values the visitor provided by voice. Fields are matched on the live DOM by label, name, id, or placeholder — visitors never type, they just say their name, email, and question.scroll_to_element— scroll the page to a specific section. "Show me your pricing" scrolls to the pricing section if the agent can find it.wait_for,find_element,screenshot— wait for something to appear, locate an element, or capture what the page looks like.highlight_element/clear_highlights— visually point at a spot on the page while talking the visitor through it.
Reading & searching content
read_text,read_section— read the current page's text, or one section of it.search_content— semantic search over every page Seny has crawled. The agent uses this when a visitor asks about something that isn't on the current page — "do you cater vegan?" triggers a search and the agent answers from the results. Crawls recur (re-crawl on demand or on a schedule), so results track your site as it changes.search_inventory— structured search over connected inventory, for agents that have it.
Memory & context
remember/recall— store and retrieve facts across a visitor's conversations.get_visitor_context— what Seny already knows about the current visitor and session.
Voice sessions (phone and web voice)
These are voice-session tools — they run on phone calls and on web voice sessions alike, not phone-only.
transfer_call— hand the call to a human, per your transfer rules. On a web voice session it additionally needs a callback number.end_call— end any live voice session cleanly, web or phone (only when you've allowed the agent to end calls).
Custom tools
Define your own tools to connect the agent to your backend. Good examples: check inventory, book an appointment, look up an order, create a quote, send a notification to Slack. Add them from the agent's Integrations tab.
The HTTP tool
The most flexible option: you define the entire request and Seny fires it when the agent calls the tool.
- A name the agent will use —
check_inventory,book_appointment. - A short description of when to call it. The agent decides from this, so be specific.
- Parameters the agent should collect from the conversation (a SKU, a date, a quantity).
- The request: URL, method, headers, and an optional body template. Write
{param}placeholders anywhere in the URL, headers, or body and Seny substitutes the agent's arguments in.
The request runs with a 15-second timeout and no automatic retry. Whatever your endpoint returns is handed to the agent as the response status plus the body — parsed JSON when possible, otherwise text, truncated to 4,000 characters — and the agent speaks from it. Keep responses small and relevant; the agent does better with "4 racks available after 3pm" than with a full database row.
The webhook tool
A simpler fire-and-forget variant: give it a URL and Seny POSTs a fixed JSON body when the agent invokes it —
{
"message": "what the agent wants to tell your system",
"context": { ... }, // optional structured context, passed through
"conversationTime": "2026-05-01T19:46:12.000Z"
}with a 10-second timeout. Use it for notifications ("ping Slack when someone asks for a demo") rather than lookups.
Authentication
Seny does not sign custom tool calls. Authenticate them the way you'd authenticate any client: put an API key or bearer token in the headers you configure on the tool, and check it on your side. Secrets you enter are stored encrypted and substituted into the request at call time.
Tool call timing
HTTP tools time out after 15 seconds and webhook tools after 10; there is no automatic retry. While a tool runs the agent keeps the visitor engaged, but slow endpoints make slow conversations — keep them fast.