# Outbox AI ## Docs - [Create Agency Company](https://docs.getoutbox.ai/api-reference/endpoint/agency-company-create.md): Create a new company under the agency. Note: Requires Agency API Key. - [Delete Agency Company](https://docs.getoutbox.ai/api-reference/endpoint/agency-company-delete.md): Delete a company. Note: Requires Agency API Key. - [Get Agency Company Details](https://docs.getoutbox.ai/api-reference/endpoint/agency-company-get.md): Retrieve detailed company information including billing data. Note: Requires Agency API Key. - [List Agency Companies](https://docs.getoutbox.ai/api-reference/endpoint/agency-company-list.md): Retrieve a list of all companies under the agency. Note: Requires Agency API Key. - [Update Agency Company](https://docs.getoutbox.ai/api-reference/endpoint/agency-company-update.md): Update company settings (agency admin can modify billing settings). Note: Requires Agency API Key. - [Get Agency Settings](https://docs.getoutbox.ai/api-reference/endpoint/agency-get.md): Retrieve agency settings including admins and pending invites. Note: Requires Agency API Key. - [Assign Company to Agency Phone Number](https://docs.getoutbox.ai/api-reference/endpoint/agency-phone-assign.md): Assign or unassign a company to an agency phone number. Note: Requires Agency API Key. - [Add/Update Agency Phone Number](https://docs.getoutbox.ai/api-reference/endpoint/agency-phone-create.md): Add or update an agency phone number. Note: Requires Agency API Key. - [Delete Agency Phone Number](https://docs.getoutbox.ai/api-reference/endpoint/agency-phone-delete.md): Delete an agency phone number. Note: Requires Agency API Key. - [List Agency Phone Numbers](https://docs.getoutbox.ai/api-reference/endpoint/agency-phone-list.md): Retrieve all phone numbers available to the agency. Note: Requires Agency API Key. - [Update Agency Settings](https://docs.getoutbox.ai/api-reference/endpoint/agency-update.md): Update agency settings. Note: Requires Agency API Key. - [Bulk Update Call Queue](https://docs.getoutbox.ai/api-reference/endpoint/agent-queue-bulk.md): Apply an action to every call queue item that matches an optional status filter for the authenticated company. Use this to pause, unpause, or clear an entire queue without enumerating IDs. - [List Call Queue](https://docs.getoutbox.ai/api-reference/endpoint/agent-queue-list.md): Paginated list of contacts queued for outbound calls across the authenticated user's company. Supports filtering by status and search by contact name or phone. - [List Agent MCP Tools](https://docs.getoutbox.ai/api-reference/endpoint/agent-tool-mcp.md): Probe a remote MCP (Model Context Protocol) server using `tools/list` and return its public tool catalog. Used by the Agent MCP tool wizard before attaching an MCP server to an agent. The internal `add_tools` and `edit_tools` helpers are omitted from the response. - [Run Agent Tool](https://docs.getoutbox.ai/api-reference/endpoint/agent-tool-run.md): VAPI tool-call webhook target. The message payload follows VAPI's `tool-calls` shape; for each tool call we execute the named tool against the resolved voice thread and return TOON-encoded results. - [Get Analytics](https://docs.getoutbox.ai/api-reference/endpoint/analytics-get.md): Aggregated analytics for the authenticated user's company over a time period: totals, line-chart series, monitoring breakdowns, and a quality-score split. Pass `period=custom` together with `start_date` and `end_date` for a bespoke window. - [Get Analytics Pie](https://docs.getoutbox.ai/api-reference/endpoint/analytics-pie.md): Pie-chart breakdown of conversations or cost over a time period. Pick the dimension via `pie_filter` (Status, Cost, Agent — and Company/Agency/Enterprise for the platform-admin company). - [Initiate Phone Call](https://docs.getoutbox.ai/api-reference/endpoint/call.md): Initiate an outbound phone call with a voicebot agent (for voicebot agents only) - [List Call Logs](https://docs.getoutbox.ai/api-reference/endpoint/call-logs.md): Retrieve a paginated list of voicebot call logs with filtering options - [Download Call Logs](https://docs.getoutbox.ai/api-reference/endpoint/call-logs-download.md): Render the supplied call thread IDs into a CSV (Agent, Agent Number, User, Phone, Status, Duration, Direction, Timestamp, Cost, Score, Summary), upload it to S3, and return a public URL. - [Bulk Download Call Logs](https://docs.getoutbox.ai/api-reference/endpoint/call-logs-download-bulk.md): Export every call thread that matches the same filters as the call log list (status, agent, search, score window, date range), produce a CSV, and return its S3 URL. - [Send Chat Message](https://docs.getoutbox.ai/api-reference/endpoint/chat.md): Send a message to a chatbot agent and receive a response (for chatbot agents only) - [List Chat Logs](https://docs.getoutbox.ai/api-reference/endpoint/chat-logs.md): Retrieve a paginated list of chatbot conversation logs with filtering options - [Download Chat Logs](https://docs.getoutbox.ai/api-reference/endpoint/chat-logs-download.md): Render the supplied chat thread IDs into a CSV (Agent, User, Phone, Status, Created At, Last Activity, Platform, Replies, Cost, Score, Summary), upload it to S3, and return a public URL. - [Bulk Download Chat Logs](https://docs.getoutbox.ai/api-reference/endpoint/chat-logs-download-bulk.md): Export every chat thread that matches the same filters as the chat log list (status, agent, search, date range), produce a CSV, and return its S3 URL. - [Create Contact](https://docs.getoutbox.ai/api-reference/endpoint/contact-create.md): Create a new contact or update an existing one. If a contact already exists for the company by **email** or **phone**, that row is updated; otherwise a new contact is created. On upsert, new **tags** are merged with existing tags (deduplicated). Response body is empty (no JSON payload). - [Delete Contact](https://docs.getoutbox.ai/api-reference/endpoint/contact-delete.md): Delete a contact - [Get Contact](https://docs.getoutbox.ai/api-reference/endpoint/contact-get.md): Retrieve detailed information about a specific contact including recent activity (up to 3 most recent AgentThread rows). `active_chat_agent` may be null. - [List Contacts](https://docs.getoutbox.ai/api-reference/endpoint/contact-list.md): Retrieve a paginated list of contacts with filtering and sorting options - [Update Contact](https://docs.getoutbox.ai/api-reference/endpoint/contact-update.md): Update an existing contact. Only fields present in the JSON body are applied. - [Get Conversation](https://docs.getoutbox.ai/api-reference/endpoint/conversation-get.md): Retrieve unified conversation history for a contact (messages, calls, tool calls, and interrupts) - [List Conversations](https://docs.getoutbox.ai/api-reference/endpoint/conversation-list.md): Retrieve a paginated list of conversations (contacts with message/call activity) - [Create Agent](https://docs.getoutbox.ai/api-reference/endpoint/create.md): Create a new agent (chatbot or voicebot) - [List Opportunities](https://docs.getoutbox.ai/api-reference/endpoint/crm-opportunities-list.md): List CRM opportunities for the authenticated company, ordered by score (desc, nulls last) then most-recently updated. All filters combine with AND. - [Create Opportunity](https://docs.getoutbox.ai/api-reference/endpoint/crm-opportunity-create.md): Create a new opportunity in a specific pipeline + stage. If `status` is omitted it's inferred from the stage (won/lost/open). - [Delete Opportunity](https://docs.getoutbox.ai/api-reference/endpoint/crm-opportunity-delete.md) - [Get Opportunity](https://docs.getoutbox.ai/api-reference/endpoint/crm-opportunity-get.md): Return a single opportunity with its pipeline, stage, and contact resolved inline. - [Update Opportunity](https://docs.getoutbox.ai/api-reference/endpoint/crm-opportunity-update.md): Update opportunity fields. Moving to a new pipeline auto-assigns the first stage. If `status` is omitted while `pipeline_id` or `stage_id` change, status is re-derived from the new stage. - [Create Pipeline](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-create.md): Create a CRM pipeline. If `stages` is omitted a sensible default (New, Qualified, Proposal, Won, Lost) is created. - [Delete Pipeline](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-delete.md): Soft-archive a pipeline. Existing opportunities and stages are kept. - [Get Pipeline](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-get.md): Return a single pipeline together with its ordered stages. - [Create Pipeline Stage](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-stage-create.md): Insert a new stage into a pipeline at the supplied position. Existing stages at or after that position shift down by one. Defaults to appending at the end. - [Delete Pipeline Stage](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-stage-delete.md): Delete a stage. If the stage has opportunities, you must pass `destination_stage_id` (in body or query) so they can be migrated to another stage in the same pipeline. Without it, returns 400 with the candidate stages. - [Update Pipeline Stage](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-stage-update.md): Update a stage's name, order, or closed flags. Reordering shuffles peer stages within the same pipeline. Cannot mark a stage as both closed-won and closed-lost. - [List Pipeline Stages](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-stages-list.md): List the stages of a single pipeline, in order. - [Update Pipeline](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipeline-update.md): Update a pipeline's name, description, or archived flag. Only fields present in the body are touched. - [List Pipelines](https://docs.getoutbox.ai/api-reference/endpoint/crm-pipelines-list.md): List CRM pipelines for the authenticated company. The default response includes per-pipeline counts (stages, opportunities) and total opportunity value. Pass `quick=true` for a lightweight shape that includes the stages inline (used for stage pickers). - [Delete Agent](https://docs.getoutbox.ai/api-reference/endpoint/delete.md): Delete an agent and unassign any associated phone numbers - [Duplicate Agent](https://docs.getoutbox.ai/api-reference/endpoint/duplicate.md): Duplicate an existing agent to a specified company (can be the same or different company) - [Bulk Add Contacts to Campaign](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-add-contacts.md): Add many contacts to a campaign in one call. Either pass an explicit `contact_ids` array, or `contact_ids="all"` together with `filters` (same shape as the contact list filters). Contacts without an email or with DND set are skipped. - [Create Email Campaign](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-create.md): Create a new email campaign in draft state for the authenticated company. - [Delete Email Campaign](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-delete.md) - [Get Enrollment Activity](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-enrollment-activity.md): Unified, paginated activity timeline for one enrollment: sends, opens, clicks, unsubscribes — sorted newest first. - [Remove Campaign Enrollment](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-enrollment-get.md): Single enrollment: remove contact from campaign (mirrors workflow enrollment detail DELETE). - [List Campaign Enrollments](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-enrollments-list.md): Paginated list of contacts enrolled in a campaign. Each row includes the contact's progress (current step, next send time, terminal state) and the related campaign step metadata. - [Get Email Campaign](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-get.md): Without `campaign_id`, return every campaign for the authenticated company together with summary counts (enrolled, sent, opened, clicked, replied, active steps). With `campaign_id`, return the full campaign object. - [Launch Email Campaign](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-launch.md): Move a draft/paused/active campaign to `active` and queue its first batch of sends. Requires either an explicit sender pool or a verified default company sender. - [Add Campaign Sender](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-sender-add.md): Replace the campaign's sender pool. Pass an empty list to clear it (campaign will fall back to the company default sender at launch). - [Remove Campaign Sender](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-sender-remove.md) - [List Campaign Senders](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-senders-list.md): Return the senders pinned to a campaign in the order they're rotated. - [Create Campaign Step](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-step-create.md): Append a new step to a campaign. - [Delete Campaign Step](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-step-delete.md) - [Update Campaign Step](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-step-update.md): Partial update of a single step (subject, html/text, delay, position). - [List Campaign Steps](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-steps-list.md): List the ordered steps for a campaign (each step is one templated email + delay). - [Update Email Campaign](https://docs.getoutbox.ai/api-reference/endpoint/email-campaign-update.md): Partial update of a campaign (name, schedule, audience filters, status flags). - [List Email Campaigns](https://docs.getoutbox.ai/api-reference/endpoint/email-campaigns-list.md): Without `campaign_id`, return every campaign for the authenticated company together with summary counts (enrolled, sent, opened, clicked, replied, active steps). With `campaign_id`, return the full campaign object. - [Add Email Domain](https://docs.getoutbox.ai/api-reference/endpoint/email-domain-create.md): Register a new sending domain for the authenticated company. If `connection` is supplied it must reference an active SES `EmailProviderConnection`. - [Delete Email Domain](https://docs.getoutbox.ai/api-reference/endpoint/email-domain-delete.md) - [Verify Email Domain](https://docs.getoutbox.ai/api-reference/endpoint/email-domain-verify.md): Kick off SES domain verification for the given domain. Returns the updated domain row with DNS records (identity + DKIM tokens) the customer must add. - [Get Email Domain Verification Status](https://docs.getoutbox.ai/api-reference/endpoint/email-domain-verify-status.md): Re-poll SES for the latest verification state for a domain and update the local row. Returns the refreshed domain. - [List Email Domains](https://docs.getoutbox.ai/api-reference/endpoint/email-domains-list.md): List sending domains registered to the authenticated company, ordered most-recently-updated first. - [List Campaign Message Logs](https://docs.getoutbox.ai/api-reference/endpoint/email-logs-campaign.md): Without `campaign_id`, return up to the 500 most recent email message logs for the authenticated company. With `campaign_id`, return a paginated event feed for that campaign (sends, opens, clicks, replies, suppressions). - [List Email Message Logs](https://docs.getoutbox.ai/api-reference/endpoint/email-logs-list.md): Without `campaign_id`, return up to the 500 most recent email message logs for the authenticated company. With `campaign_id`, return a paginated event feed for that campaign (sends, opens, clicks, replies, suppressions). - [Connect Email Provider](https://docs.getoutbox.ai/api-reference/endpoint/email-provider-create.md): Connect an Amazon SES provider for the authenticated company. The `provider` field is forced to `ses`. - [Disconnect Email Provider](https://docs.getoutbox.ai/api-reference/endpoint/email-provider-delete.md) - [List Email Providers](https://docs.getoutbox.ai/api-reference/endpoint/email-providers-list.md): List the company's Amazon SES connections, most recently updated first. SendGrid/Resend are managed under Company Integrations, not here. - [Create Email Sender](https://docs.getoutbox.ai/api-reference/endpoint/email-sender-create.md): Register a new sender identity. In `single_email` mode the API auto-provisions an SES connection and triggers verification; in `domain` mode the email must belong to a verified `EmailDomain` on the company. If the sender is already verified at SendGrid/Resend, the local row is returned as `verified`… - [Delete Email Sender](https://docs.getoutbox.ai/api-reference/endpoint/email-sender-delete.md) - [Update Email Sender](https://docs.getoutbox.ai/api-reference/endpoint/email-sender-update.md): Partial update of a sender identity (display name, reply-to address, default flag, verification mode). - [Verify Email Sender](https://docs.getoutbox.ai/api-reference/endpoint/email-sender-verify.md): Trigger verification for a sender. Provider-discovered senders (SendGrid/Resend) are returned as verified immediately; `domain` mode senders are verified once their domain is verified; `single_email` mode triggers SES to send a verification link. - [Get Email Sender Verification Status](https://docs.getoutbox.ai/api-reference/endpoint/email-sender-verify-status.md): Re-check the sender's verification state without sending a new SES verification link. Updates the local record and returns it. - [List Email Senders](https://docs.getoutbox.ai/api-reference/endpoint/email-senders-list.md): Return every sender identity for the company. Combines locally-stored senders with senders discovered via integrated providers (SendGrid/Resend) — provider-discovered senders that aren't yet locally registered come back with `can_add=true`. - [Delete File](https://docs.getoutbox.ai/api-reference/endpoint/file-delete.md): Delete a file from an agent and remove it from the knowledge base - [Get File Content](https://docs.getoutbox.ai/api-reference/endpoint/file-get.md): Retrieve the text content of an agent's file (supports PDF, DOCX, and text files) - [Update File Content](https://docs.getoutbox.ai/api-reference/endpoint/file-update.md): Update the text content of an existing file - [Upload File](https://docs.getoutbox.ai/api-reference/endpoint/file-upload.md): Upload a file to an agent (file upload, text content, or web scraping) - [Get Agent](https://docs.getoutbox.ai/api-reference/endpoint/get.md): Retrieve agent details including configuration, tools, files, and platform integrations - [Create/Update Platform Integration](https://docs.getoutbox.ai/api-reference/endpoint/integration-create.md): Create or update a platform integration for a chatbot agent (e.g., Instagram, Facebook) - [Delete Integration](https://docs.getoutbox.ai/api-reference/endpoint/integration-delete.md): Delete a platform integration - [Update Integration](https://docs.getoutbox.ai/api-reference/endpoint/integration-update.md): Update an existing platform integration - [List Agents](https://docs.getoutbox.ai/api-reference/endpoint/list.md): Retrieve a list of agents for the authenticated user's company with optional filtering, searching, and pagination - [Get Instance Configurations](https://docs.getoutbox.ai/api-reference/endpoint/module-config-get.md): Retrieve all configuration settings for a module instance - [Update Instance Configuration](https://docs.getoutbox.ai/api-reference/endpoint/module-config-update.md): Update a specific configuration value for a module instance - [Create Module Instance](https://docs.getoutbox.ai/api-reference/endpoint/module-create.md): Create a new module instance - [Delete Module Instance](https://docs.getoutbox.ai/api-reference/endpoint/module-delete.md): Delete a module instance and clean up associated schedules and configurations - [Duplicate Module Instance](https://docs.getoutbox.ai/api-reference/endpoint/module-duplicate.md): Duplicate a module instance to a specified company (can be the same or different company) - [Get Module Instance](https://docs.getoutbox.ai/api-reference/endpoint/module-get.md): Retrieve detailed information about a specific module instance including configurations and recent logs - [List Module Instances](https://docs.getoutbox.ai/api-reference/endpoint/module-list.md): Retrieve a list of all module instances for the authenticated user's company - [Update Module Instance](https://docs.getoutbox.ai/api-reference/endpoint/module-update.md): Update a module instance's name - [Send Email](https://docs.getoutbox.ai/api-reference/endpoint/send-email.md): Send a single email to a contact. Either `html` or `text` is required. `subject`, `html`, and `text` all support `{{contact.*}}` / `{{company.*}}` variables. Pass `in_reply_to_message_log_id` (or `reply_to_thread_message_id`) to thread the email under a previous send. Opens and link clicks are alway… - [Send Bulk Email](https://docs.getoutbox.ai/api-reference/endpoint/send-email-bulk.md): Queue email sends to many contacts. Either an explicit `contact_ids` array, or `contact_ids="all"` + `filters`. `subject`, `html`, `text` all support `{{contact.*}}`/`{{company.*}}` variables. Either `html` or `text` is required. Sends run asynchronously. Opens and link clicks are always tracked. - [Send Facebook Message](https://docs.getoutbox.ai/api-reference/endpoint/send-facebook.md): Send a Facebook Messenger DM. The route auto-detects whether to use the Meta Graph API or GoHighLevel based on the source of the last inbound Facebook message from this contact. Message text supports `{{contact.*}}`/`{{company.*}}` variables. - [Send Instagram Message](https://docs.getoutbox.ai/api-reference/endpoint/send-instagram.md): Send an Instagram Direct message. The route auto-detects whether to use Meta Graph API or GoHighLevel based on the source of the last inbound IG message from this contact. Message text supports `{{contact.*}}`/`{{company.*}}` variables. - [Send SMS](https://docs.getoutbox.ai/api-reference/endpoint/send-sms.md): Send an SMS to a single contact via Twilio. The phone number to send from can be either company-owned or agency-owned (linked to the company). Message text supports `{{contact.*}}` and `{{company.*}}` variables. Contacts with DND enabled or no phone number are rejected. - [Send Bulk SMS](https://docs.getoutbox.ai/api-reference/endpoint/send-sms-bulk.md): Queue SMS sends to many contacts. Either supply an explicit `contact_ids` array, or `contact_ids="all"` together with `filters` (same shape as the contact list filters) to target every matching contact. `limit` caps the size of a filter-driven send. Sends run asynchronously — the response returns im… - [Get Account Settings](https://docs.getoutbox.ai/api-reference/endpoint/settings-account.md): Return the authenticated user's profile (name, email, phone, currently selected company UUID). - [Get Company Billing](https://docs.getoutbox.ai/api-reference/endpoint/settings-billing.md): Per-tab billing breakdown (agent costs, module run costs, GHL plugin charges, Stripe invoices). Pass either a single `date` (interpreted as a calendar month) or a `start_date`/`end_date` range. Date strings use the format `YYYY-MM-DDTHH:MM:SS.sssZ`. - [Delete Company](https://docs.getoutbox.ai/api-reference/endpoint/settings-company-delete.md): Delete the company and all associated schedules - [List Company Email Senders](https://docs.getoutbox.ai/api-reference/endpoint/settings-company-emails.md): Slim list of the company's email sender identities — id, name, email, status, provider, verification mode, default flag. Use the campaign/email APIs for full sender management. - [Get Company Settings](https://docs.getoutbox.ai/api-reference/endpoint/settings-company-get.md): Retrieve company settings including staff and pending invites - [Update Company Settings](https://docs.getoutbox.ai/api-reference/endpoint/settings-company-update.md): Update company settings - [Manage Custom Fields](https://docs.getoutbox.ai/api-reference/endpoint/settings-custom-fields.md): List the company's contact custom fields. For `select` fields, the available options are returned inline. - [Manage Custom Values](https://docs.getoutbox.ai/api-reference/endpoint/settings-custom-values.md): List the company's custom values (variables available in templates and prompts). Secret values are masked with asterisks in the response. - [Duplicate Company](https://docs.getoutbox.ai/api-reference/endpoint/settings-duplicate.md): Create a new company under a destination agency by cloning the authenticated user's company — config values, private apps, module instances, schedules, custom fields, agents, phone numbers, and SES senders are copied. Caller must be an admin of the destination agency (or its parent enterprise). - [Get Company Integrations](https://docs.getoutbox.ai/api-reference/endpoint/settings-integration.md): Return a flat object of integration name → display label for the authenticated company. Includes generic CompanyIntegration rows, telephony providers (Twilio/Vonage/Telnyx), GoHighLevel, and Meta when present. - [Invite Staff Member](https://docs.getoutbox.ai/api-reference/endpoint/settings-invite-create.md): Invite a user to the authenticated company by email. If the user already exists they're added directly; otherwise an invitation email is sent (whitelabel-aware). - [Cancel Invitation](https://docs.getoutbox.ai/api-reference/endpoint/settings-invite-delete.md): Revoke a pending company invitation by ID. Has no effect if the invite has already been accepted/deleted. - [Assign Agent to Phone Number](https://docs.getoutbox.ai/api-reference/endpoint/settings-phone-assign.md): Assign or unassign an agent to a phone number - [Add/Update Phone Number](https://docs.getoutbox.ai/api-reference/endpoint/settings-phone-create.md): Add or update a phone number - [List Phone Numbers](https://docs.getoutbox.ai/api-reference/endpoint/settings-phone-list.md): Retrieve all phone numbers available to the company (both company-owned and agency-assigned) - [Remove Staff Member](https://docs.getoutbox.ai/api-reference/endpoint/settings-staff-delete.md): Remove a user from the authenticated company. Their account is unaffected — only the company role mapping is deleted. - [Update Staff Member](https://docs.getoutbox.ai/api-reference/endpoint/settings-staff-update.md): Change an existing staff member's role/permission level on the authenticated company. - [Create/Update Tool](https://docs.getoutbox.ai/api-reference/endpoint/tool-create.md): Create or update a tool for an agent - [Delete Tool](https://docs.getoutbox.ai/api-reference/endpoint/tool-delete.md): Delete a tool from an agent - [List Agent Tools](https://docs.getoutbox.ai/api-reference/endpoint/tool-list.md): Retrieve a list of all tools for an agent (simplified view) - [Delete Transcript](https://docs.getoutbox.ai/api-reference/endpoint/transcript-delete.md): Delete a transcript (thread) - [Download Transcript](https://docs.getoutbox.ai/api-reference/endpoint/transcript-download.md): Render every message on the transcript into a CSV (Timestamp, Role, Message), upload it to S3, and return the URL. - [Get Transcript](https://docs.getoutbox.ai/api-reference/endpoint/transcript-get.md): Retrieve detailed transcript information including messages, tool calls, and cost breakdown - [List Transcripts](https://docs.getoutbox.ai/api-reference/endpoint/transcript-list.md): Retrieve a paginated list of transcripts (both calls and chats) with basic information - [List Transcripts by Agent](https://docs.getoutbox.ai/api-reference/endpoint/transcript-list-agent.md): Retrieve a paginated list of transcripts for a specific agent (both calls and chats) with basic information - [Get Transcript Tool Call](https://docs.getoutbox.ai/api-reference/endpoint/transcript-tool.md): Return the input/output payloads for a single tool invocation that happened during a thread, plus its name, status, and timestamp. - [Update Agent](https://docs.getoutbox.ai/api-reference/endpoint/update.md): Update an existing agent's configuration - [Advance Contacts on Action](https://docs.getoutbox.ai/api-reference/endpoint/workflow-action-advance.md): Manually push contacts that are currently parked at this action onto the next workflow step. Either supply specific `contact_ids` or omit them to advance every contact waiting at this action. - [Remove Contacts from Action](https://docs.getoutbox.ai/api-reference/endpoint/workflow-action-remove.md): Remove specific contacts (or all waiting contacts) from a workflow at this specific action. Marks enrollments as `removed` and cancels their in-flight executions. - [List Contacts Waiting on Action](https://docs.getoutbox.ai/api-reference/endpoint/workflow-action-waiting.md): Paginated list of contacts whose workflow execution is currently parked at a specific action — useful for surfacing drip-step queues and pending tool calls. - [Create Workflow](https://docs.getoutbox.ai/api-reference/endpoint/workflow-create.md): Create a new workflow (with triggers, actions, and folder placement) under the authenticated company. - [Delete Workflow](https://docs.getoutbox.ai/api-reference/endpoint/workflow-delete.md): Delete a workflow (soft delete) - [Duplicate Workflow](https://docs.getoutbox.ai/api-reference/endpoint/workflow-duplicate.md): Clone a workflow under the same or a different company. Triggers, actions, and folder placement are copied; webhook keys and runtime trigger state are reset. Caller must be admin (level 3) on both source and target companies. - [Remove Workflow Enrollment](https://docs.getoutbox.ai/api-reference/endpoint/workflow-enrollment-detail.md): Remove a single enrollment - [List Enrollment Execution Logs](https://docs.getoutbox.ai/api-reference/endpoint/workflow-enrollment-execution-logs.md): Execution rows tied to one specific enrollment, ordered most-recent first. Falls back to time-window matching for legacy enrollments that don't carry their `enrollment_id` in the trigger context. - [List All Enrollment History](https://docs.getoutbox.ai/api-reference/endpoint/workflow-enrollment-history.md): Cross-workflow enrollment history for the company. Same shape as the per-workflow enrollment list, with an extra `workflow_id` filter. - [Add Workflow Enrollments](https://docs.getoutbox.ai/api-reference/endpoint/workflow-enrollments-add.md): Add or remove contacts from a workflow. POST = add (with optional schedule); DELETE = remove. Pass either `contact_id`, an array of `contact_ids`, or `contact_ids="all"` together with `filters` for bulk actions. Schedule by passing a local `scheduled_at` ISO string + IANA `timezone`. - [List Workflow Enrollments](https://docs.getoutbox.ai/api-reference/endpoint/workflow-enrollments-list.md): Paginated list of contacts currently or historically enrolled in a workflow, ordered most-recently-updated first. - [Remove Workflow Enrollments](https://docs.getoutbox.ai/api-reference/endpoint/workflow-enrollments-remove.md): Add or remove contacts from a workflow. POST = add (with optional schedule); DELETE = remove. Pass either `contact_id`, an array of `contact_ids`, or `contact_ids="all"` together with `filters` for bulk actions. Schedule by passing a local `scheduled_at` ISO string + IANA `timezone`. - [List All Execution Logs](https://docs.getoutbox.ai/api-reference/endpoint/workflow-execution-logs-all.md): Cross-workflow execution logs for the company. - [List Workflow Executions](https://docs.getoutbox.ai/api-reference/endpoint/workflow-executions.md): Paginated list of workflow execution rows for the company. Routed two ways: with `workflow_id` in the path the list is scoped to that workflow; without, it spans every workflow on the company. - [List All Workflow Executions](https://docs.getoutbox.ai/api-reference/endpoint/workflow-executions-all.md): Paginated list of workflow execution rows for the company. Routed two ways: with `workflow_id` in the path the list is scoped to that workflow; without, it spans every workflow on the company. - [Create Workflow Folder](https://docs.getoutbox.ai/api-reference/endpoint/workflow-folder-create.md): Create a workflow folder. Optional `parent_folder_id` nests it under another folder. - [Delete Workflow Folder](https://docs.getoutbox.ai/api-reference/endpoint/workflow-folder-delete.md): Delete a workflow folder (soft delete) - [List Workflow Folders](https://docs.getoutbox.ai/api-reference/endpoint/workflow-folder-list.md): Return the company's workflow folder tree (recursive nesting). Each folder also includes a `workflow_count` (non-deleted workflows directly inside). - [Update Workflow Folder](https://docs.getoutbox.ai/api-reference/endpoint/workflow-folder-update.md): Rename a folder and/or move it under a different parent. Setting `parent_folder_id=null` moves it to the root. Cannot set a folder as its own parent or under one of its descendants. - [Get Workflow](https://docs.getoutbox.ai/api-reference/endpoint/workflow-get.md): Return a single workflow with its triggers, actions, folder, and configuration. - [List Workflows](https://docs.getoutbox.ai/api-reference/endpoint/workflow-list.md): List workflows + folder tree for the company. Pass `quick=true` for an id/name-only flat list (used in pickers). Folder filtering: `folder_id=null` for root, a UUID for a specific folder. `include_workflows=false` returns folders without paginated workflows. - [Update Workflow](https://docs.getoutbox.ai/api-reference/endpoint/workflow-update.md): Partial update of a workflow (name, description, triggers, actions, active flag, folder). - [Introduction](https://docs.getoutbox.ai/api-reference/introduction.md): API reference documentation for Outbox AI - [Chat Agents](https://docs.getoutbox.ai/chat-agents.md): Build and deploy AI chat agents across multiple messaging platforms - [Claude Code Plugin](https://docs.getoutbox.ai/claude-code-plugin.md): Use Outbox AI directly from Claude Code via the official plugin - [Email Campaigns](https://docs.getoutbox.ai/email-campaigns.md): Build, launch, and track multi-step email sequences from inside Outbox - [GoHighLevel Integration](https://docs.getoutbox.ai/gohighlevel.md): Connect your GoHighLevel account to unlock powerful automation features - [Introduction](https://docs.getoutbox.ai/introduction.md): Whitelabel AI Voice & Chat Agents for Agencies - [J.A.R.V.I.S](https://docs.getoutbox.ai/jarvis.md): Your AI operations hub for agents, workflows, and campaign performance - [JavaScript SDK](https://docs.getoutbox.ai/javascript-sdk.md): Integrate Outbox voice calls directly into your web application - [MCP Server](https://docs.getoutbox.ai/mcp-server.md): Connect Claude, Cursor, and other MCP clients to your Outbox AI workspace - [Opportunities](https://docs.getoutbox.ai/opportunities.md): Track deals in pipelines with stages, and automate them from agents and workflows - [Prompting Guide](https://docs.getoutbox.ai/prompting-guide.md): Master the art of writing effective prompts for your AI agents - [Quickstart](https://docs.getoutbox.ai/quickstart.md): Get your first AI agent up and running in minutes - [Subaccounts & Rebilling](https://docs.getoutbox.ai/subaccount-rebilling.md): Manage companies, users, and automated billing for your clients - [Telephony](https://docs.getoutbox.ai/telephony.md): Set up phone numbers and call routing with Twilio, Vonage, and Telnyx - [Tool Library](https://docs.getoutbox.ai/tool-library.md): Explore plug-and-play tools for your AI agents - [Voice Agents](https://docs.getoutbox.ai/voice-agents.md): Create AI voice agents for inbound and outbound calls - [Websites](https://docs.getoutbox.ai/websites.md): Generate AI landing pages and publish them on your own domains - [Whitelabelling](https://docs.getoutbox.ai/whitelabelling.md): Customize Outbox AI with your own branding - [Workflows](https://docs.getoutbox.ai/workflows.md): Automate campaigns with triggers and actions—including calls, SMS, webhooks, and opportunities ## OpenAPI Specs - [openapi](https://docs.getoutbox.ai/api-reference/openapi.json) ## Optional - [Documentation](https://docs.getoutbox.ai) - [Discord Community](https://discord.com/invite/eU7TJ6cRkD) - [SKOOL Course](https://www.skool.com/outbox-ai) - [Affiliate (20%)](https://affiliates.getoutbox.ai/)