# Trigger

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

Use `features.marketplace_triggers` to declare Marketplace triggers in your app manifest. A trigger starts a workflow when a supported Zoom product event occurs.

The information in the `marketplace_triggers` section of the manifest JSON represents the values on the **[Triggers](/docs/build-flow/triggers/)** page of the app build-flow.

This page covers the generally available built-in trigger definitions for manifest-based triggers. Built-in definitions provide the Zoom-managed event contract, including the trigger name, command ID, supported location, and output fields.

Your manifest references the built-in definition and supplies only the app-specific delivery configuration.

## Manifest JSON

```json
{
    "features": {
        "marketplace_triggers": {
            "enable": true,
            "triggers": [
                {
                    "name": "Zoom Phone All Events",
                    "command_id": "zoom_phone_all_events",
                    "trigger_type": "static_webhook",
                    "built_in_config": {
                        "definition_id": "ZoomPhoneAllEvents2025_Consolidated",
                        "version": "1.0.0"
                    },
                    "static_webhook_config": {
                        "connector_webhook_key": "zoom_phone_call_events",
                        "connection_required": false
                    }
                }
            ]
        }
    }
}
```

> **Built-in triggers**
>
> For built-in triggers, `name` and `command_id` are canonical values from the built-in definition. Use the exact values shown in the built-in definitions table. Do not customize them.

> **connector_webhook_key**
>
> `connector_webhook_key` is app-specific. It must match a webhook key configured for your app's Connect/webhook setup.

---

## Available built-in definitions

Use the values exactly as shown. These values are case-sensitive.

| Product area        | Trigger               | Location    | name                  | command_id              | definition_id                         | Version |
| :------------------ | :-------------------- | :---------- | :-------------------- | :---------------------- | :------------------------------------ | :------ |
| Zoom Phone          | Zoom Phone All Events | `PHONE`     | Zoom Phone All Events | `zoom_phone_all_events` | `ZoomPhoneAllEvents2025_Consolidated` | 1.0.0   |
| Zoom Contact Center | Voice Bot All Events  | `VOICE_BOT` | Voice Bot All Events  | `voicebot_all_events`   | `VoiceBotAllEvents2025_Consolidated`  | 1.0.0   |

---

## Zoom Phone example

Use this built-in trigger for Zoom Phone call events. The trigger output includes the call ID, event type, conversation summary text, and call metadata labels/variables.

```json
{
    "features": {
        "marketplace_triggers": {
            "enable": true,
            "triggers": [
                {
                    "name": "Zoom Phone All Events",
                    "command_id": "zoom_phone_all_events",
                    "trigger_type": "static_webhook",
                    "built_in_config": {
                        "definition_id": "ZoomPhoneAllEvents2025_Consolidated",
                        "version": "1.0.0"
                    },
                    "static_webhook_config": {
                        "connector_webhook_key": "zoom_phone_call_events",
                        "connection_required": false
                    }
                }
            ]
        }
    }
}
```

## Zoom Phone output fields

| Output key         | Type   | Description                                 |
| :----------------- | :----- | :------------------------------------------ |
| `callId`           | string | Unique identifier for the Zoom Phone call.  |
| `event_type`       | string | Type of call event emitted by Zoom.         |
| `text`             | string | Conversation summary text for the call.     |
| `metadata[]`       | array  | Labels and variables captured for the call. |
| `metadata[].key`   | string | Metadata field name.                        |
| `metadata[].value` | string | Metadata field value.                       |

---

## Zoom Contact Center voice bot example

Use this built-in trigger for Zoom Contact Center Voice Bot conversation events. The trigger output includes the conversation ID, event type, summary text, transcript messages, and metadata variables.

```json
{
    "features": {
        "marketplace_triggers": {
            "enable": true,
            "triggers": [
                {
                    "name": "Voice Bot All Events",
                    "command_id": "voicebot_all_events",
                    "trigger_type": "static_webhook",
                    "built_in_config": {
                        "definition_id": "VoiceBotAllEvents2025_Consolidated",
                        "version": "1.0.0"
                    },
                    "static_webhook_config": {
                        "connector_webhook_key": "voice_bot_conversation_events",
                        "connection_required": false
                    }
                }
            ]
        }
    }
}
```

---

## Voice Bot output fields

| Output key             | Type    | Description                                                                             |
| :--------------------- | :------ | :-------------------------------------------------------------------------------------- |
| `conversationId`       | string  | Unique identifier for the Voice Bot conversation.                                       |
| `event_type`           | string  | Type of Voice Bot event emitted by Zoom.                                                |
| `text`                 | string  | Summary text for the conversation.                                                      |
| `messages[]`           | array   | Ordered transcript messages exchanged during the conversation.                          |
| `messages[].bot`       | boolean | `true` when the message was produced by the bot; `false` when produced by the consumer. |
| `messages[].message`   | string  | Plain-text message content.                                                             |
| `messages[].timestamp` | number  | Message timestamp.                                                                      |
| `metadata[]`           | array   | Variables captured during the conversation.                                             |
| `metadata[].key`       | string  | Metadata field name.                                                                    |
| `metadata[].value`     | string  | Metadata field value.                                                                   |

---

## Field Description

| Field                                         | Required                | Description                                                                                                                                          |
| :-------------------------------------------- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enable`                                      | No                      | Enables manifest-managed triggers when `true`. Defaults to `true`. Set to `false` only if you want to disable manifest-managed triggers for the app. |
| `triggers`                                    | Yes                     | Array of trigger definitions.                                                                                                                        |
| `name`                                        | Yes                     | Canonical built-in trigger name. Use the exact value shown in the built-in definitions table. Do not customize this value.                           |
| `command_id`                                  | Yes                     | Canonical built-in trigger command ID. Use the exact value shown in the built-in definitions table. Must be unique within the manifest payload.      |
| `trigger_type`                                | Yes                     | Delivery type for the trigger. Use `static_webhook` for the built-in examples on this page.                                                          |
| `built_in_config.definition_id`               | Yes                     | Built-in definition identifier. Use the exact value shown in the built-in definitions table.                                                         |
| `built_in_config.version`                     | Yes                     | Built-in definition version. Use the exact version shown in the built-in definitions table.                                                          |
| `static_webhook_config.connector_webhook_key` | Yes, for static_webhook | Webhook key configured for your app. Maximum 128 characters.                                                                                         |
| `static_webhook_config.connection_required`   | No                      | Whether the trigger requires an app connection before it can run.                                                                                    |

---

## Built-in fields supplied by Zoom

Do not include custom values for the built-in trigger contract. Zoom supplies these from the built-in definition:

-   Trigger display name
-   Trigger command ID
-   Supported product location
-   Output fields
-   Output field data types

Your manifest should only select the built-in definition and provide delivery configuration such as the webhook key.

---

## Validation rules

-   `name`, `command_id`, `definition_id`, and `version` must match the built-in definition values shown on this page.
-   `command_id` values must be unique in the `triggers` array.
-   For `static_webhook` triggers, include `static_webhook_config.connector_webhook_key`.
-   Do not include `locations` for the built-in triggers listed here. The supported location comes from the built-in definition.
-   Do not include `output_definition` for the built-in triggers listed here. Zoom supplies the output contract.
-   Do not include `script`, `global_webhook_config`, or `resthook_config` when `trigger_type` is `static_webhook`.
-   Keep `connector_webhook_key` at 128 characters or fewer.

## Choosing the right trigger

-   Use `ZoomPhoneAllEvents2025_Consolidated` when your workflow should react to Zoom Phone call events.

-   Use `VoiceBotAllEvents2025_Consolidated` when your workflow should react to Zoom Contact Center Voice Bot conversation events.

If a product area or trigger definition is not listed on this page, do not add it to a public manifest until Zoom documents it as available for manifest use.
