# Kapso integration

> WhatsApp Business platform for sending messages and templates, managing phone numbers and contacts, running broadcasts, and executing automation workflows.

- Authentication: apiKey

## Tools (157)

- **Add Recipients**: Add up to 1000 recipients to a draft broadcast. Duplicates are skipped. Recipients use Meta's component syntax with body, header, and button components.
- **Block Users**: Block one or more users for a given phone number. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Cancel Scheduled Broadcast**: Cancel a scheduled broadcast and return it to draft status. Only works for broadcasts in scheduled status.
- **Check Phone Health**: Live health check via Meta APIs and Kapso services.
- **Claim or Change Username**: Claim or change username.
- **Clear Recipients**: Remove all recipients from a draft or scheduled broadcast. Clearing recipients from a scheduled broadcast also returns it to draft and clears `scheduled_at`.
- **Connect Phone Number**: Connect a WhatsApp number to this customer using Meta credentials. Get credentials from Meta's App Dashboard after completing embedded signup or manual setup.
- **Create Broadcast**: Create a broadcast campaign in draft mode. Workflow: create broadcast → add recipients → send. Broadcasts stay in draft until you call the send endpoint.
- **Create Contact**: Create a new WhatsApp contact.
- **Create Conversation Assignment**: Assign a conversation to a team member. Only one active assignment is allowed per conversation. The user must be a member of the project.
- **Create Customer**: Create customer.
- **Create Flow**: Create a new WhatsApp Flow. By default creates a draft flow with a basic welcome screen.
- **Create Flow (Meta WhatsApp)**: Create a new WhatsApp Flow. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Create Flow (phone Number Scoped)**: Create a new WhatsApp Flow for a phone number. **Proxy endpoint**: Proxies directly to Meta Graph API. **Note**: Requires WhatsappConfig with matching phone_number_id.
- **Create Flow Version**: Upload new flow JSON to create a new version. Syncs with Meta's API.
- **Create Function**: Create a new serverless function in draft status. The function will be saved but not deployed to the runtime platform. After creating a function: 1. Review and test the code locally 2. Deploy...
- **Create Function Secret**: Create a secret for this function. Secrets are injected as environment variables when your function executes. Use secrets to store sensitive data without hardcoding in function code: - API keys...
- **Create Inbox Embed**: Create an embeddable inbox access link. The response includes `token` and `embed_url` once. Store the embed URL when you create it; list, get, and update responses omit the secret.
- **Create or Update a Project Event Definition**: Creates a definition for an event type. If a definition with the same name already exists, Kapso updates its editable metadata and returns it. If the existing definition is archived, this request...
- **Create or Update Message Template**: Create a new WhatsApp message template, or update an existing one. - Omit `hsm_id` to create a new template. - Include `hsm_id` as a query parameter to update an existing template. Templates must...
- **Create Project Webhook**: Create a webhook for this project. Two scoping options: - **Project-scoped**: Omit `phone_number_id` to receive project events only - **Number-scoped**: Include `phone_number_id` to receive...
- **Create Setup Link**: Generate a hosted onboarding page for customers to connect their WhatsApp number. The link guides them through Meta's embedded signup and optionally provisions a new number.
- **Create / Update Data Endpoint**: Create or update the data endpoint function code. The function handles dynamic data for your flow.
- **Create Webhook**: Subscribe to WhatsApp events for this number. Two webhook types available: - **kapso**: Event-based webhooks with filtered events, buffering support, and Kapso payload format - **meta**: Raw Meta...
- **Create Workflow**: Create a new workflow in draft status. You can provide a minimal definition (just a start node) and build out the workflow later, or provide a complete workflow definition with all nodes and...
- **Create Workflow Trigger**: Create a new trigger for a workflow. Triggers define when the workflow should automatically execute. Trigger types: - `inbound_message`: Workflow starts when WhatsApp messages arrive at specified...
- **Delete a Project Event Definition and its Events**: Permanently deletes the event definition and all recorded event emissions associated with it. This action cannot be undone. The endpoint returns `202 Accepted` while a background job performs the...
- **Delete Customer**: Delete customer.
- **Delete Flow**: Delete a draft flow. This action is not reversible. **Only DRAFT flows can be deleted.** Published flows cannot be deleted but can be deprecated. **Proxy endpoint**: Proxies directly to Meta Graph...
- **Delete Function**: Permanently delete a serverless function. This will also remove the function from the runtime platform and delete all associated secrets. After deletion: - Function will be removed from Cloudflare...
- **Delete Function Secret**: Permanently delete a secret from this function. The secret will be removed from the runtime environment and will no longer be available as an environment variable. Requirements: - Function must be...
- **Delete Media**: Delete a media file from WhatsApp. You can optionally provide `phone_number_id` query parameter to verify the media belongs to that phone number before deletion.
- **Delete Message Template**: Delete a WhatsApp message template. **Specify either `name` or `hsm_id` to identify the template to delete.**.
- **Delete Phone Number**: Delete phone number.
- **Delete Project Webhook**: Delete project webhook.
- **Delete Username**: Delete username.
- **Delete Webhook**: Delete webhook.
- **Delete Workflow Trigger**: Permanently delete a workflow trigger. This will stop the workflow from executing automatically based on this trigger. After deletion: - For inbound_message triggers: Messages to the...
- **Deploy Data Endpoint**: Deploy the data endpoint function to Cloudflare Workers.
- **Deploy Function**: Deploy a function to the serverless runtime platform asynchronously. Deployment happens in the background and may take 10-60 seconds. You'll receive a 202 Accepted response immediately. To check...
- **Deprecate Flow**: Deprecate a published flow. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Download Media File**: Download a media file using a short-lived authenticated token. Tokens are returned in the `download_url` field of the [Get media URL](#operation/getMediaUrl) response. They expire 4 minutes after...
- **Emit a Project Event**: Stores one timestamped project event. Event names must be lowercase and may contain optional dot-separated segments; each segment starts with a lowercase letter and may contain lowercase letters,...
- **Erase Contact**: Permanently erase a WhatsApp contact and all associated data (conversations, messages, media). The erasure is processed asynchronously. A `204 No Content` response confirms the erasure job was...
- **Get Broadcast**: Get broadcast.
- **Get Business Profile**: Retrieve the WhatsApp Business profile information. WhatsApp users can view your business profile by clicking your business's name or number in a WhatsApp message thread. **Proxy endpoint**:...
- **Get Call Permission State**: Get the call permission state for a business phone number with a specific WhatsApp user. **Proxy endpoint**: Proxies directly to Meta Graph API. Returns the current permission status and available...
- **Get Contact**: Retrieve a WhatsApp contact by UUID, phone number, or business-scoped user ID.
- **Get Contact Details**: Retrieve detailed information about a specific contact.
- **Get Conversation**: Retrieve a single conversation with metadata.
- **Get Conversation Assignment**: Retrieve a specific assignment by ID.
- **Get Conversation Details**: Retrieve detailed information about a specific conversation. ## Kapso Extensions The response includes: - Full contact information - Message statistics - Conversation metadata.
- **Get Current Username**: Get current username.
- **Get Customer**: Get customer.
- **Get Data Endpoint**: Get the data endpoint function configuration for a flow.
- **Get Flow**: Get flow.
- **Get Flow Assets**: Get flow JSON assets and URLs. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Get Flow Details**: Retrieve detailed information about a specific flow. By default returns: id, name, status, categories, validation_errors. Use `fields` parameter to request additional information like preview...
- **Get Flow Version**: Returns version details including the flow JSON.
- **Get Function Invocations**: Get recent invocations of the data endpoint function.
- **Get Function Logs**: Get logs from the data endpoint function.
- **Get Inbox Embed**: Returns an inbox embed without the raw token or embed URL.
- **Get Log Search Catalog**: Returns the log source list, supported filter keys, and detail fields for the project associated with your API key.
- **Get Media URL**: Retrieve the download URL for a media file. **Important:** The returned URL is temporary and expires after 5 minutes.
- **Get Message**: Retrieve a single message by its WhatsApp message ID (WAMID).
- **Get Message by ID**: Retrieve a single WhatsApp message by its message ID. Returns the message with all its fields, including Kapso extensions like status, direction, and processing state.
- **Get Message Template by ID**: Retrieve a single WhatsApp message template by its ID. Use this endpoint to fetch full details of a specific template when you already know its ID. For listing templates or searching by name, use...
- **Get Phone Number**: Get phone number.
- **Get Phone Number Details**: Retrieve detailed information about a specific phone number. By default returns basic information. Use `fields` parameter to request additional data like throughput limits, account mode,...
- **Get Project Webhook**: Get project webhook.
- **Get Reserved Username Suggestions**: Get reserved username suggestions.
- **Get Webhook**: Get webhook.
- **Get Workflow Variables**: Retrieve all variables available in a workflow, including both fixed system variables and variables discovered from execution history. Returns two categories of variables: - **Fixed variables**:...
- **Invoke Function**: Execute a deployed serverless function with a custom JSON payload. The request body is forwarded directly to your function code. Request payload structure is completely flexible - send any valid...
- **List API Logs**: Returns logs of external API calls made by your project, most recent first.
- **List Blocked Users**: Retrieve the list of users blocked for a given phone number. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **List Broadcasts**: Get broadcast campaigns, most recent first.
- **List Calls**: Retrieve a paginated list of WhatsApp voice calls. **Kapso Extension**: This endpoint returns call records stored in Kapso's database, not Meta's API. Supports filtering by direction, status, and...
- **List Contacts**: Retrieve a paginated list of WhatsApp contacts for your project.
- **List Contacts (Meta WhatsApp)**: Retrieve a paginated list of WhatsApp contacts for your project. Supports filtering by WhatsApp ID, customer association, and more.
- **List Conversation Assignments**: Get all assignments for a conversation, most recent first.
- **List Conversations**: Query WhatsApp conversations with filters. Results are returned by latest activity first and use cursor pagination.
- **List Conversations (Meta WhatsApp)**: Retrieve a paginated list of WhatsApp conversations for a phone number. Conversations are ordered by last activity (most recent first). Supports filtering by status, activity time range, and phone...
- **List Conversation Workflow Executions**: Retrieve workflow executions associated with a WhatsApp conversation. Executions are returned in reverse chronological order (most recent first). Use this endpoint to map a conversation to its...
- **List Customers**: Returns customers in your project, most recent first.
- **List Display Name Requests**: View all display name change requests for this number, most recent first.
- **List Flows**: Returns WhatsApp flows in your project, most recent first.
- **List Flows (Meta WhatsApp)**: List all WhatsApp Flows for a business account. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **List Flows (phone Number Scoped)**: List all WhatsApp Flows for a phone number. **Proxy endpoint**: Proxies directly to Meta Graph API. **Note**: Requires WhatsappConfig with matching phone_number_id.
- **List Flow Versions**: Returns versions for a flow, most recent first.
- **List Function Invocations**: Retrieve recent invocation history for a function, including console logs captured during execution. Returns the most recent invocations (up to 20 by default) with: - Request/response payloads -...
- **List Functions**: Retrieve all serverless functions for your project. Functions are custom JavaScript code that runs on-demand in response to API invocations. Use this endpoint to: - List all configured functions -...
- **List Function Secrets**: Retrieve all secret names configured for this function. Secret values are NEVER included in list responses for security. Secrets are injected as environment variables when your function executes....
- **List Inbox Embeds**: Returns inbox embed access links for your project, most recent first. Raw tokens and embed URLs are not returned after creation.
- **List Messages**: Query WhatsApp messages across all conversations. Results are returned newest first. Use cursor pagination (`limit`, `after`, `before`) to traverse large message histories efficiently.
- **List Messages (Meta WhatsApp)**: Retrieve a paginated list of WhatsApp messages for a phone number, filterable by conversation, direction, status, and time range.
- **List Message Templates**: Retrieve a list of approved message templates for this phone number. Templates must be approved by WhatsApp before they can be used.
- **List Phone Numbers**: Get WhatsApp numbers in your project, most recent first.
- **List Phone Numbers (Meta WhatsApp)**: List all phone numbers associated with a business account. Returns basic phone number information including verification status and quality rating. **Proxy endpoint**: Proxies directly to Meta...
- **List Project Event Definitions**: Returns the event definitions registered for the project associated with your API key. Definitions describe event names, meanings, and property schemas. Emitting a new event through `/events` can...
- **List Project Events**: Returns project-scoped events for the project associated with your API key, newest first. Use filters to narrow by event name, linked WhatsApp conversation, or occurrence time. Use `limit`,...
- **List Project Users**: Returns all users who are members of your project.
- **List Project Webhooks**: Get all webhooks for the project (both project-scoped and phone number-scoped), most recent first.
- **List Provider Models**: Returns available AI provider models.
- **List Recipients**: Get recipients for this broadcast with delivery status.
- **List Setup Links**: Get WhatsApp onboarding links for a customer, most recent first.
- **List Webhook Deliveries**: Returns webhook delivery attempts for your project, most recent first.
- **List Webhooks**: Get webhooks for this number, most recent first.
- **List Workflow Execution Events**: Retrieve events for a workflow execution in reverse chronological order (most recent first). Use `limit`, `after`, and `before` for cursor pagination. Cursors are returned in the `paging` object.
- **List Workflow Executions**: Retrieve execution history for a workflow. Executions are returned in reverse chronological order (most recent first). Use query parameters to filter by status, time range, or cursor....
- **List Workflows**: Retrieve all workflows for your project. Workflows are returned ordered by creation time (newest first). Use query parameters to filter by status, name, or creation date. Common use cases: - List...
- **List Workflow Triggers**: Retrieve all triggers configured for a workflow. Triggers define when and how a workflow should automatically execute. Use this endpoint to: - Review configured triggers for a workflow - Audit...
- **Perform Call Action**: Perform various call actions via the WhatsApp Calling API. **Proxy endpoint**: Proxies directly to Meta Graph API. Supports the following actions: - **connect**: Initiate an outbound call to a...
- **Publish Flow**: Publish a draft flow to make it available for use. Published flows cannot be unpublished.
- **Publish Flow (Meta WhatsApp)**: Publish a flow. This action is not reversible. Once published, the flow and its assets become immutable. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Register Data Endpoint with Meta**: Register the deployed data endpoint URL with Meta. Requires flows encryption to be configured.
- **Replace Workflow Triggers**: Atomically replace the full set of triggers for a workflow. All existing triggers are deleted and the supplied set is created in a single transaction — if any trigger in the request is invalid, no...
- **Resume Waiting Workflow Execution**: Resume a workflow execution that is in 'waiting' status. Workflows enter waiting status when they reach a wait_for_response step or are explicitly paused. Send a message with: - `kind`: Message...
- **Retrieve a Project Event Definition**: Retrieve a project event definition.
- **Retrieve Display Name Request**: Check status of a display name change request. Poll this endpoint to monitor Meta's review progress.
- **Retrieve Function**: Get complete details for a serverless function including code, configuration, deployment status, and computed URLs. Use this endpoint to: - Review function code before updating - Check deployment...
- **Retrieve Workflow**: Get workflow metadata, status, and execution stats for a specific workflow. This endpoint does not include the expanded canvas definition payload. Use this endpoint to: - Retrieve workflow...
- **Retrieve Workflow Definition**: Get the editor-oriented workflow payload for a specific workflow. This endpoint returns everything needed to load the canvas: - Base workflow metadata - `definition.nodes` built from `flow_steps`...
- **Retrieve Workflow Execution**: Get complete details for a workflow execution including current status, execution context, variables, and full event history. **This is the only endpoint that returns the full execution_context**...
- **Revoke Inbox Embed**: Revokes the embed token immediately.
- **Schedule Broadcast**: Schedule a broadcast to send at a future time. The broadcast must be in draft status and have recipients.
- **Search Log Events**: Search log events for the project associated with your API key. Returns the same event payload shape used by the logs UI. Use POST when sending filters.
- **Search Log Events with Filters**: Search log events with the same project-scoped data and filter catalog used by the logs UI.
- **Send a Marketing Message**: Send a WhatsApp marketing template message. Use `to` for phone numbers. Use `recipient` for a BSUID or parent BSUID. If both are present, the phone number in `to` takes precedence.
- **Send a Message**: Send a WhatsApp message to a recipient. Use `to` for phone numbers. Use `recipient` for a BSUID or parent BSUID. If both are present, the phone number in `to` takes precedence. Supports all...
- **Send Broadcast**: Start sending messages immediately. This is asynchronous - use GET /broadcasts/{id} to monitor progress.
- **Setup Encryption**: Set up flows encryption for the WABA associated with this flow. Required for data endpoints.
- **Start Workflow Execution**: Start a new execution of a workflow asynchronously. The workflow will begin processing in the background. You'll receive a 202 Accepted response with a tracking_id immediately. Use this...
- **Submit Display Name Request**: Request a display name change. Meta reviews most changes within 24-48 hours. Some names may be approved instantly.
- **Test Project Webhook**: Send a test payload to the webhook endpoint. Optionally specify an `event_type` to test with a specific event payload. The event type must be one of the events the webhook is configured to receive.
- **Unblock Users**: Unblock one or more previously blocked users for a given phone number. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Update a Project Event Definition**: Updates editable metadata for an event definition. Event names cannot be changed after events have been recorded for the definition. Set `archived` to true to hide the definition from event tools...
- **Update Broadcast Status**: Update a broadcast status. Set `status` to `stopped` to stop a broadcast that is currently sending. Pending recipients remain pending and no new sends are started. Set `status` to `draft` to...
- **Update Business Profile**: Update WhatsApp business profile information. **Proxy endpoint**: Proxies directly to Meta Graph API /PHONE_NUMBER_ID/whatsapp_business_profile. Use this endpoint to update: - About text (1-139...
- **Update Contact**: Update a WhatsApp contact's profile or metadata.
- **Update Conversation Assignment**: Update an assignment's notes, reassign to another user, or deactivate (unassign). Set `active: false` to unassign without deleting the assignment record.
- **Update Conversation Status**: Close completed conversations or reopen them for follow-ups.
- **Update Customer**: Update customer.
- **Update Flow Metadata**: Update flow name, categories, endpoint_uri, or application_id. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Update Function**: Update function metadata or code. Supports partial updates - only include fields you want to change. Common updates: - Update function code (requires redeployment to take effect) - Change function...
- **Update Inbox Embed**: Updates mutable settings. Scope cannot be changed; create a new embed for a different scope.
- **Update Phone Number**: Update phone number.
- **Update Phone Number Settings**: Update phone number settings. Common use case is updating the two-step verification PIN. **Proxy endpoint**: Proxies directly to Meta Graph API. **Note**: Two-step verification is required for...
- **Update Project Webhook**: Update a project webhook. Subscribing to `project.event` requires project events to be available on your plan.
- **Update Setup Link**: Update setup link.
- **Update Webhook**: Update webhook.
- **Update Workflow**: Update workflow metadata or replace workflow definition collections. Common updates: - Change workflow name or description - Update workflow definition nodes and edges - Activate workflow by...
- **Update Workflow Execution Status**: Manually update the status of a workflow execution. This is useful for programmatically controlling workflow lifecycle from external systems. **Allowed status transitions:** - `ended` - End the...
- **Update Workflow Trigger**: Update a workflow trigger. Currently only the 'active' status can be modified. Use this to: - Temporarily disable a trigger without deleting it (set active=false) - Re-enable a previously disabled...
- **Upload Flow JSON**: Upload or update flow JSON definition. The file must be attached as multipart/form-data. Returns validation errors in the Flow JSON, if any. **Proxy endpoint**: Proxies directly to Meta Graph API.
- **Upload Media**: Upload media files for WhatsApp messaging from public URLs. Supports two delivery methods: - `meta_media`: Standard upload to Meta's media endpoint (30-day lifetime) - `meta_resumable_asset`:...
- **Upload Media (Meta WhatsApp)**: Upload media files to WhatsApp. The media ID returned can be used when sending messages. **Supported formats and size limits:** **Images** (jpeg, png) - Max size: 5MB **Videos** (mp4, 3gp) - Max...

## Triggers (2)

- **New WhatsApp Message in Kapso**: Triggers when a WhatsApp message is sent or received in your Kapso project. Set Direction to "Inbound" to react only to messages from customers.
- **New WhatsApp Conversation in Kapso**: Triggers when a new WhatsApp conversation is started with a contact in your Kapso project.

Connect Kapso in General Input: https://www.generalinput.com/apps/kapso