Trigger
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 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
{
"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,
nameandcommand_idare 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_keyis 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.
{
"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.
{
"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, andversionmust match the built-in definition values shown on this page.command_idvalues must be unique in thetriggersarray.- For
static_webhooktriggers, includestatic_webhook_config.connector_webhook_key. - Do not include
locationsfor the built-in triggers listed here. The supported location comes from the built-in definition. - Do not include
output_definitionfor the built-in triggers listed here. Zoom supplies the output contract. - Do not include
script,global_webhook_config, orresthook_configwhentrigger_typeisstatic_webhook. - Keep
connector_webhook_keyat 128 characters or fewer.
Choosing the right trigger
-
Use
ZoomPhoneAllEvents2025_Consolidatedwhen your workflow should react to Zoom Phone call events. -
Use
VoiceBotAllEvents2025_Consolidatedwhen 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.