Documentation Index
Fetch the complete documentation index at: https://docs.wittify.ai/llms.txt
Use this file to discover all available pages before exploring further.
What this step does
This is where you give the agent capabilities beyond just answering questions: send a refund link, look up an order, transfer the conversation to a human, post to Slack the moment a lead is captured. There are four ways to wire those capabilities, listed by how much setup they take:- Marketplace , one-click OAuth or API key, no code.
- Agent Tools , four built-in tools (Human Handoff, Calendar Booking, Order Tracking, Payment Collection) that you configure with a form.
- Custom API Tools , user-defined REST endpoints. The agent decides when to call them.
- Webhooks & Events , the agent fires HTTP POST notifications to your server when events happen.
Section 1: Integration Marketplace
A server-driven catalog of apps grouped by category. Each card shows the app’s logo, name, a one-line description, a connection status pill, and a colored auth tag (OAuth in purple, API Key in blue).Stats and filters bar
At the top of the marketplace card, a row with three stat chips and a search box:| Chip | What it counts |
|---|---|
| Available | Total integrations in the catalog |
| Enabled | How many you’ve already connected |
| MCP Connectors | How many Model Context Protocol connectors you’ve added |
- All , every integration in the catalog (default)
- Enabled , only the ones you’ve connected
- Native , Wittify-built integrations (no auth bridge)
- MCP , only your MCP connectors
Connect via OAuth
Click any card with the OAuth tag. The button reads Configure:- Click the card. A popup opens (the click opens it synchronously, so the browser doesn’t block it).
- Authorize on the provider’s site (Google, Slack, Calendly, etc.).
- The provider redirects back to the wizard with a confirmation token in the URL.
- The connection is finalized server-side, the URL is cleaned up, and the catalog refetches with the card now showing a green Enabled pill.
Connect via API Key
Click any card with the API Key tag. A modal opens with the title Connect{App Name} and the description Enter credentials to connect this integration.
| Field | Notes |
|---|---|
| API Key | Hidden password field. Placeholder: Paste your API key. Autocomplete is off. |
| Store subdomain (Shopify only) | Visible only when the app’s name contains “Shopify”. Hint: Your Shopify store subdomain (the part before .myshopify.com). Placeholder: my-store. |
Disconnect
Click the Configure button on a connected card to open the configure panel. The panel shows Connected, Last synced 2 min ago, and an Authorized access summary, plus a trigger picker:| Trigger | When the integration fires |
|---|---|
| Conversation ended (default) | After the agent says goodbye |
| Lead captured | The moment the agent finishes the lead form |
| Human handoff requested | Whenever the agent transfers to a human |
MCP add card
Below the marketplace grid, a dashed “Add MCP Connector” card lets you wire any service that speaks the Model Context Protocol (a standard way for tools to expose themselves to AI agents). Click the card to open the Add MCP Connector modal, with the subtitle Connect any external system via Model Context Protocol:| Field | Notes |
|---|---|
| Name (required) | Up to 100 characters, displayed on the card |
| URL (required) | Must be HTTPS. Error message: Must be a valid HTTPS URL. |
| Timeout | Number in milliseconds. Hint: In milliseconds. Leave blank for default (30,000ms). |
| Headers | Key/value pairs, up to 20. Click + New Key Value Pair to add another row. Click the trash icon to remove. |
| Query | Same shape as Headers. |
When the marketplace can’t load
If the catalog fetch fails, the section shows an inline error: Couldn’t load integrations with the hint The server rejected the request. Check your connection and try again, plus a Retry button.Section 2: Agent Tools
Four built-in tools your agent can invoke during a conversation. The card title reads Agent Tools with the description Built-in capabilities your agent can use during conversations. Each tool is rendered as a row with an icon, name, description, and a switch on the end. Switch off (default for all four): the row is muted. Switch on: the row gets a primary tinted background and an expanded form opens below with that tool’s settings.Human Handoff
Description: Transfer conversations to a live support agent when needed.| Setting | Options |
|---|---|
| Handoff Trigger | Customer requests it, Agent decides, Both (chip group) |
| Routing Channel | Email notification, Webhook, Live chat URL |
| Target field | Auto-renames based on channel: Notification Email (e.g. support@company.com), Webhook URL (e.g. https://your-server.com/handoff), or Live Chat URL (e.g. https://livechat.company.com). HTTPS validation applies for the latter two. |
| Unavailable Message | Multi-line text. Up to 500 characters. Default placeholder: Our team is currently offline. We’ll get back to you as soon as possible. |
Calendar Booking
Description: Schedule meetings and appointments for customers.| Setting | Notes |
|---|---|
| Booking Page URL | HTTPS required. Hint: Link to your scheduling page (Calendly, Cal.com, or custom). Placeholder: https://calendly.com/your-name. |
| Meeting Durations | Three checkboxes: 15 minutes, 30 minutes, 60 minutes. Pick whichever the agent should offer. |
Order Tracking
Description: Look up and share order status with customers.| Setting | Notes |
|---|---|
| Lookup API Endpoint | HTTPS required. Hint: REST API endpoint to query order status. Placeholder: https://api.yourstore.com/v1/orders. Rendered in a monospace font. |
| HTTP Method | Dropdown with GET or POST. |
| Auth Header Value | Hidden password field. Placeholder: Bearer your-api-key. Autocomplete off. |
| Customer Lookup Fields | Three checkboxes: Order ID, Email, Phone. The agent will ask the customer for whichever one(s) you check. |
Payment Collection
Description: Send payment links and process transactions.| Setting | Notes |
|---|---|
| Payment Page URL | HTTPS required. Hint: Base URL for your payment or checkout page. Placeholder: https://checkout.stripe.com/pay/.... |
| Default Currency | Dropdown of currencies, formatted as USD - US Dollar, EUR - Euro, etc. |
Section 3: Custom API Tools
Define your own REST endpoints that the agent can call mid-conversation. Card title reads Custom API Tools with the description Define custom REST API endpoints your agent can call during conversations. When the list is empty, you see a centered code icon and the line No custom tools added yet. Below, the + Add tool button is dashed-bordered.Add tool form
Click + Add tool to open the inline form:| Field | Notes |
|---|---|
| Tool name | Up to 50 characters. Placeholder: e.g. Check inventory. |
| Method | Dropdown of GET, POST, PUT, PATCH, DELETE. |
| Endpoint URL | HTTPS required. Placeholder: https://api.example.com/v1/resource. Error message when invalid: Must be a valid HTTPS URL. |
| Description | Up to 200 characters. Placeholder: Describe what this tool does… |
Tool list
Each saved tool appears as a row with the HTTP method in a small monospace pill, the tool name in bold, the endpoint underneath, and an optional description below that. A trash icon on the end removes it after a confirmation: Remove custom tool , Are you sure you want to remove ""? This action cannot be undone.| Limit | Value |
|---|---|
| Max custom tools | 10 per agent |
Section 4: Webhooks & Events
The agent’s outbound notifications. Card title reads Webhooks & Events with the description Send real-time HTTP POST notifications when events occur in your agent. Five event rows, each with its own icon, label, and switch:| Event | Icon | When it fires |
|---|---|---|
| Conversation Started | speech bubble | The customer sends the first message |
| Conversation Ended | check circle | The agent or customer ends the chat |
| Human Handoff Requested | left/right arrows | The Human Handoff tool fires |
| Lead Captured | user plus | The agent finishes a lead form |
| Ticket Created | document | The agent files a support ticket |
https://your-server.com/webhook. HTTPS required. Error message when invalid: Must be a valid HTTPS URL.
The events are independent, switch on whichever you need.
How saves work on this step
| Setting type | When it persists |
|---|---|
| Marketplace OAuth / API key | Immediately on the redirect / submit |
| Marketplace disconnect | Immediately on the confirm dialog |
| MCP create / edit / delete | Immediately, with a toast on success or failure |
| Agent Tools fields | When you click Save Draft or Next step |
| Custom API Tools | Same as Agent Tools |
| Webhooks & Events | Same as Agent Tools |
https://), the save is allowed but the agent won’t be able to fire that webhook until you fix it. The red error text under the field is your hint.
Common questions
The marketplace is empty when I open the wizard for a brand-new agent.
The marketplace is empty when I open the wizard for a brand-new agent.
OAuth opened a popup, then closed without connecting anything.
OAuth opened a popup, then closed without connecting anything.
My Custom API Tool's Add button is greyed out.
My Custom API Tool's Add button is greyed out.
I added a webhook but my server never receives anything.
I added a webhook but my server never receives anything.
curl -X POST https://your-server.com/webhook from a terminal.What's the difference between an MCP connector and a Custom API Tool?
What's the difference between an MCP connector and a Custom API Tool?
Can I delete a built-in Agent Tool, like Human Handoff?
Can I delete a built-in Agent Tool, like Human Handoff?
Why does the agent ask the customer for an Order ID when I checked Email under Customer Lookup Fields?
Why does the agent ask the customer for an Order ID when I checked Email under Customer Lookup Fields?

