packages/providers/src/lib/chat/webex-messaging/README.md
The Webex Messaging provider sends Novu Chat notifications through the Webex Messages API.
connectionIdentifier.| Credential | Required | Description |
|---|---|---|
| Client ID | Yes | Webex Integration client ID used to generate OAuth authorization URLs. |
| Client Secret | Yes | Webex Integration client secret used to exchange authorization codes. |
| Redirect URL | No | Optional URL to redirect to after OAuth finishes. If omitted, Novu shows a success page. |
| Base URL | No | Optional Webex API base URL. Defaults to https://webexapis.com/v1. |
The Webex application redirect URI must match Novu's chat OAuth callback URL:
https://api.novu.co/v1/integrations/chat/oauth/callback
For EU deployments, use:
https://api.eu.novu.co/v1/integrations/chat/oauth/callback
Default OAuth scopes:
spark:messages_write spark:rooms_read spark:people_read spark:memberships_read spark:kms
Room message:
{
"type": "webex_room",
"identifier": "incident-room",
"token": "access-token-from-channel-connection",
"endpoint": {
"roomId": "room-id"
}
}
Threaded room message:
{
"type": "webex_room",
"identifier": "incident-room-thread",
"token": "access-token-from-channel-connection",
"endpoint": {
"roomId": "room-id",
"parentId": "parent-message-id"
}
}
Direct message:
{
"type": "webex_person",
"identifier": "on-call-user",
"token": "access-token-from-channel-connection",
"endpoint": {
"personEmail": "[email protected]"
}
}
A direct message endpoint must include exactly one of personId or personEmail.
Novu maps message content to Webex text. Use provider passthrough to add Webex-specific fields such as markdown, files, or attachments.
Routing fields are reserved. Passthrough must not add, remove, or override roomId, parentId, toPersonId, or toPersonEmail.