Reference · Tools

Cisco Webex

Send messages with file attachments, manage meetings, and interact with Webex rooms via the Webex REST API.

Action (binary) Communication v1 Binary data

The Cisco Webex node connects to the Webex REST API to send messages (including file attachments), create and manage meetings, and interact with Webex rooms. You could, for example, build a workflow that posts a generated report as a file attachment to a Webex room whenever a database query completes. It handles both Message and Meeting resources, with support for pagination, recurrence, invitees, and Adaptive Cards.

Node type
Action (binary)
Parameters
38
Outputs
Output, Error
Credentials
Cisco Webex

Cisco Webex

Send messages, upload files, and manage meetings in Cisco Webex

Overview

The Cisco Webex tool provides operations against the Webex REST API. It supports two resources: Message — create (with optional file attachment from binary data or a URL), delete, get, get many (with pagination) and update; and Meeting — create, delete, get, get many (with pagination) and update. Meetings support invitees, recurrence, registration requirements, and timezone-aware scheduling.

Category: Communication
Tool Name: cisco_webex
Version: 1

Appearance: Icon: lucide-Video | Color: #00BCF2

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Cisco Webex credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Meetingmeeting
Messagemessage

Operations

ResourceOperationValueDescription
MeetingCreatecreateCreate a meeting
MeetingDeletedeleteDelete a meeting
MeetingGetgetGet a meeting
MeetingGet ManygetAllGet many meetings
MeetingUpdateupdateUpdate a meeting
MessageCreatecreateCreate a message
MessageDeletedeleteDelete a message
MessageGetgetGet a message
MessageGet ManygetAllGet many messages
MessageUpdateupdateUpdate a message

Parameters

Meeting: Create

ParameterTypeRequiredDefaultDescription
TitlestringYesMeeting title. Maximum 128 characters. Supports expressions.
StartdateTimeYesDate and time for the start of the meeting (ISO 8601).
EnddateTimeYesDate and time for the end of the meeting (ISO 8601).
Additional FieldscollectionNo{}Optional meeting settings.
— AgendastringNoMeeting agenda. Max 1300 characters.
— Allow Any User To Be Co-HostbooleanNofalseWhether any invited user may act as co-host.
— Allow Authenticated DevicesbooleanNofalseWhether authenticated devices may join.
— Allow First User To Be Co-HostbooleanNofalseWhether the first user to join becomes co-host.
— Auto Accept RequestbooleanNofalseWhether meeting registration requests are accepted automatically.
— Enable Connect Audio Before HostbooleanNofalseWhether attendees may connect audio before the host joins.
— Enabled Auto Record MeetingbooleanNofalseWhether the meeting is recorded automatically.
— Enabled Join Before HostbooleanNofalseWhether attendees may join before the host.
— Exclude PasswordbooleanNofalseWhether the password is left out of the invitation email.
— Host EmailstringNoEmail for the meeting host. Admin-level scope required.
— Integration TagsstringNoExternal integration keys (e.g., Zendesk ticket ID, Jira ID).
— Invitees (JSON)jsonNo[]JSON array of invitee objects: [{“email”: “user@example.com”, “displayName”: “Name”, “coHost”: false}]
— Join Before Host MinutesoptionsNo0Minutes an attendee can join before the host.
Options: 0, 5, 10, 15
— Public MeetingbooleanNofalseWhether the meeting is listed publicly on the Webex site.
— RecurrencestringNoMeeting recurrence rule (RFC 2445 format).
— Required Registration InfomultiOptionsNo[]Data required for meeting registration.
Options: requireFirstName, requireLastName, requireEmail, requireJobTitle, requireCompanyName, requireAddress1, requireAddress2, requireCity, requireState, requireZipCode, requireCountryRegion, requireWorkPhone, requireFax
— Reminder TimenumberNo1Minutes before meeting for host email reminder.
— Send EmailbooleanNotrueWhether to send emails to host and invitees.
— Site URLstringNoWebex site URL. If not set, the user’s preferred site is used.

Meeting: Delete

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesID of the meeting to delete. Supports expressions.
OptionscollectionNo{}Optional cancellation settings.
— Host EmailstringNoEmail of the meeting host (admin-level scope required).
— Send EmailbooleanNotrueWhether to send cancellation emails.

Meeting: Get

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesID of the meeting to retrieve. Supports expressions.
OptionscollectionNo{}Optional lookup settings.
— Host EmailstringNoEmail of the meeting host (admin-level scope required).
— PasswordstringNoMeeting password for password-protected meetings.
— Send EmailbooleanNotrueWhether Webex sends email as part of the request.

Meeting: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrow which meetings are returned.
— FromdateTimeNoStart date/time (inclusive) for meetings.
— TodateTimeNoEnd date/time (inclusive) for meetings.
— Host EmailstringNoReturn meetings hosted by this address (admin-level scope required).
— Integration TagstringNoReturn meetings carrying this external integration key.
— Limit to Current MeetingsbooleanNotrueWhether to return only meetings that are current.
— Meeting NumberstringNoReturn the meeting with this Webex meeting number.
— Meeting TypeoptionsNomeetingSeriesWhich level of the meeting hierarchy to return.
Options: meetingSeries, scheduledMeeting, meeting
— Participant EmailstringNoReturn meetings this participant is invited to.
— Site URLstringNoWebex site URL to query.
— StateoptionsNoReturn only meetings in this state.
Options: active, ended, expired, inProgress, lobby, missed, ready, scheduled
— WeblinkstringNoReturn the meeting with this web link.

Meeting: Update

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesID of the meeting to update. Supports expressions.
Update FieldscollectionNo{}The meeting properties to change. Fields you leave out keep their current value.
— AgendastringNoMeeting agenda. Max 1300 characters.
— Allow Any User To Be Co-HostbooleanNofalseWhether any invited user may act as co-host.
— Allow Authenticated DevicesbooleanNofalseWhether authenticated devices may join.
— Allow First User To Be Co-HostbooleanNofalseWhether the first user to join becomes co-host.
— Enable Connect Audio Before HostbooleanNofalseWhether attendees may connect audio before the host joins.
— Enabled Auto Record MeetingbooleanNofalseWhether the meeting is recorded automatically.
— Enabled Join Before HostbooleanNofalseWhether attendees may join before the host.
— EnddateTimeNoNew end date and time for the meeting (ISO 8601).
— Exclude PasswordbooleanNofalseWhether the password is left out of the invitation email.
— Host EmailstringNoEmail for the meeting host. Admin-level scope required.
— Invitees (JSON)jsonNo[]JSON array of invitee objects: [{“email”: “user@example.com”, “displayName”: “Name”, “coHost”: false}]
— Join Before Host MinutesoptionsNo0Minutes an attendee can join before the host.
Options: 0, 5, 10, 15
— PasswordstringNoNew meeting password.
— Public MeetingbooleanNofalseWhether the meeting is listed publicly on the Webex site.
— RecurrencestringNoMeeting recurrence rule (RFC 2445 format).
— Required Registration InfomultiOptionsNo[]Data required for meeting registration.
Options: requireFirstName, requireLastName, requireEmail, requireJobTitle, requireCompanyName, requireAddress1, requireAddress2, requireCity, requireState, requireZipCode, requireCountryRegion, requireWorkPhone, requireFax
— Reminder TimenumberNo1Minutes before meeting for host email reminder.
— Send EmailbooleanNofalseWhether to send emails to host and invitees.
— Site URLstringNoWebex site URL. If not set, the user’s preferred site is used.
— StartdateTimeNoNew start date and time for the meeting (ISO 8601).
— TitlestringNoNew meeting title. Maximum 128 characters.

Message: Create

ParameterTypeRequiredDefaultDescription
DestinationoptionsYesroomWhether to send the message to a room or a specific person.
Options: room, person
Room IDstringYesThe ID of the Webex room to send the message to. Find room IDs via the Webex API or by listing rooms. (shown when Destination is room)
Specify Person ByoptionsYesemailHow to identify the recipient. (shown when Destination is person)
Options: email, id
Person IDstringYesThe ID of the person to send the message to. (shown when Destination is person and Specify Person By is id)
Person EmailstringYesThe email address of the person to send the message to. (shown when Destination is person and Specify Person By is email)
TextstringYesThe message in plain text. Supports expressions.
MarkdownstringNoThe message in Markdown format. When set, the text parameter provides alternate text for clients that do not support rich text.
File LocationoptionsNononeHow to attach a file to the message.
Options: none (no file attachment), url (attach a file by public URL), binaryData (attach a file from binary data on the input item)
File URLstringNoPublic URL of the file to attach. (shown when File Location is url)
Binary PropertystringNodataName of the binary property on the input item containing the file to attach. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use. (shown when File Location is binaryData)
Adaptive Card Attachments (JSON)jsonNo[]JSON array of adaptive card attachment objects. Each object should have “elements” (array of {type, text, …}) and “actions” (array of {type, url/data, title, …}). Types: textBlock, inputText for elements; openUrl, submit, execute for actions.

Message: Delete

ParameterTypeRequiredDefaultDescription
Message IDstringYesID of the message to delete. Supports expressions.

Message: Get

ParameterTypeRequiredDefaultDescription
Message IDstringYesID of the message to retrieve. Supports expressions.

Message: Get Many

ParameterTypeRequiredDefaultDescription
Room IDstringYesThe ID of the room to list messages from. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo50Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrow which messages are returned.
— BeforedateTimeNoList messages sent before this date and time.
— Before MessagestringNoList messages sent before this message ID.
— Parent Message IDstringNoList messages with this parent ID (threaded messages).
— Mentioned PersonstringNoList messages mentioning this person ID. Use “me” for yourself.

Message: Update

ParameterTypeRequiredDefaultDescription
Message IDstringYesID of the message to update. Supports expressions.
Is MarkdownbooleanYesfalseWhether the updated message uses Markdown.
TextstringYesThe updated message in plain text. (shown when Is Markdown is false)
Markdown TextstringYesThe updated message in Markdown format. Max 7439 bytes. (shown when Is Markdown is true)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The Webex response is merged into the item JSON — the incoming fields pass through and binary data is forwarded. Single-record operations produce one output item per input item; the two Get Many operations fan out to one output item per record.

Resource / OperationOutput
Meeting / createThe created meeting — id, title, start, end, webLink, sipAddress, meetingNumber and the rest of the meeting record
Meeting / deletesuccess: true
Meeting / getThe meeting record
Meeting / getAllOne item per meeting. When nothing matches, the input item passes through with _noResults: true
Meeting / updateThe updated meeting record
Message / createThe created message — id, roomId, personId, personEmail, text, created and, when a file was attached, its files entry
Message / deletesuccess: true
Message / getThe message record
Message / getAllOne item per message. When nothing matches, the input item passes through with _noResults: true
Message / updateThe updated message record

Reference a field downstream by expression, e.g. {{ $json.id }}.

Usage Examples

  • Send a message to a Webex room
  • Send a message with a file attachment to a person
  • Create a scheduled Webex meeting with invitees
  • List all messages in a Webex room
  • Update a meeting time

Example Configuration

Post a Markdown message to a room:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "message",
    "operation": "create",
    "destination": "room",
    "roomId": "Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU2",
    "text": "Hello team!",
    "markdown": "**Hello** team!"
  }
}

Direct-message a person and attach a file by URL:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "message",
    "operation": "create",
    "destination": "person",
    "specifyPersonBy": "email",
    "toPersonEmail": "user@example.com",
    "text": "Please review the attached document",
    "fileLocation": "url",
    "fileUrl": "https://example.com/document.pdf"
  }
}

Attach a file that an upstream node produced:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "message",
    "operation": "create",
    "destination": "room",
    "roomId": "{{ $json.roomId }}",
    "text": "Here is today's report",
    "fileLocation": "binaryData",
    "binaryPropertyName": "data"
  }
}

Send an adaptive card. Each entry has elements and actions, which the node turns into a Webex card:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "message",
    "operation": "create",
    "destination": "person",
    "specifyPersonBy": "email",
    "toPersonEmail": "manager@example.com",
    "text": "Weekly report attached",
    "attachments": [
      {
        "elements": [
          { "type": "textBlock", "text": "Weekly Report Summary", "weight": "Bolder", "size": "Medium" },
          { "type": "textBlock", "text": "Tasks completed: 15/20" }
        ],
        "actions": [
          { "type": "openUrl", "title": "View Full Report", "url": "https://reports.example.com/weekly" }
        ]
      }
    ]
  }
}

List a room’s recent messages, filtered by date and mention:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "message",
    "operation": "getAll",
    "roomId": "Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU2",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "before": "2024-01-01T00:00:00Z",
      "mentionedPeople": "me"
    }
  }
}

Rewrite a message as Markdown:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "message",
    "operation": "update",
    "messageId": "Y2lzY29zcGFyazovL3VzL01FU1NBR0UvOTJkYjNiZTAtNDNiZC0xMWU2LThhZTktZGQ1YjNkZmM1NjVk",
    "isMarkdown": true,
    "markdownText": "**Updated** message with *formatting*"
  }
}

Schedule a meeting with invitees:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "meeting",
    "operation": "create",
    "title": "Weekly Team Meeting",
    "start": "2024-02-01T10:00:00Z",
    "end": "2024-02-01T11:00:00Z",
    "additionalFields": {
      "agenda": "1. Project updates\n2. Next week planning",
      "enabledJoinBeforeHost": true,
      "joinBeforeHostMinutes": 5,
      "sendEmail": true,
      "hostEmail": "host@example.com",
      "invitees": "[{\"email\": \"user1@example.com\"}, {\"email\": \"user2@example.com\"}]"
    }
  }
}

List a host’s active meetings in a date window:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "meeting",
    "operation": "getAll",
    "returnAll": false,
    "limit": 20,
    "filters": {
      "from": "2024-02-01T00:00:00Z",
      "to": "2024-02-28T23:59:59Z",
      "hostEmail": "host@example.com",
      "state": "active"
    }
  }
}

Move a meeting and update its agenda:

{
  "type": "cisco_webex",
  "parameters": {
    "resource": "meeting",
    "operation": "update",
    "meetingId": "cd0b8c5c4d0e4f0a8b1c2d3e4f5a6b7c",
    "updateFields": {
      "title": "Updated Weekly Team Meeting",
      "agenda": "1. Project updates\n2. Q1 planning\n3. Budget review",
      "start": "2024-02-01T14:00:00Z",
      "end": "2024-02-01T15:30:00Z"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Send messages (with file attachments), manage meetings, and list rooms via the Cisco Webex REST API.

Attachments

  • File Location picks the source. url sends a public link that Webex fetches for itself; binaryData uploads a file that an upstream node put on the item.
  • Binary property names are case-sensitive. Check the upstream node’s Binary Data panel for the exact name a run produced — data is the usual default for a single file.
  • One file per message. Webex accepts a single attachment on a message; send several messages if you have several files.

Adaptive cards

The Adaptive Card Attachments field takes a simplified shape, not raw Adaptive Card JSON. Each entry is an object with:

  • elements — an array of card elements. Use textBlock for text and inputText for an input field; any other type is passed through as written.
  • actions — an array of card actions. Use openUrl, submit or execute, each with its own title plus url or data.

The node wraps them into a complete Adaptive Card for you, so do not include contentType or content yourself.

Notes

  • Text is required even when you send Markdown. Webex uses it as the fallback for clients that cannot render rich text.
  • Message: Update swaps fields on Is Markdown. With it off you supply Text; with it on you supply Markdown Text, which is capped at 7439 bytes.
  • Invitees is a JSON array of objects, each with at least an email, optionally displayName and coHost.
  • Meeting: Get Many returns a meeting series by default. Switch the Meeting Type filter to scheduledMeeting or meeting to see individual occurrences.
  • Host Email needs admin scope. Acting on another user’s meeting requires an access token with administrator rights on the Webex organisation.
  • Get Many fans out. Messages and meetings each arrive as their own item, and an empty result still emits one item carrying _noResults: true.

Frequently asked questions

How do I attach a file to a Webex message?

Set File Location to `binaryData` if a previous node in your workflow produced the file, or to `url` if you want Webex to fetch the file from a public link itself. When using `binaryData`, the Binary Property field must match the exact property name shown in the upstream node's Binary Data panel — `data` is the typical default, but the name is case-sensitive. Note that Webex only accepts one attachment per message, so if you have multiple files you'll need to send a separate message for each.

What credentials does this node require?

You need a Cisco Webex credential (`ciscoWebexApi`), which is a Webex personal access token or bot token. If you need to act on another user's meetings using the Host Email field, that token must also carry administrator-level scope for your Webex organisation — a standard user token will not have the necessary rights.

Why does the Adaptive Card field not accept standard Adaptive Card JSON?

The node uses a simplified input shape instead of raw Adaptive Card JSON. You provide `elements` (card body items, using `textBlock` for text and `inputText` for fields) and `actions` (using `openUrl`, `submit`, or `execute`). The node assembles the complete Adaptive Card payload — including `contentType` and `content` — for you, so adding those yourself will break the output.

I used Message: Get Many but I'm only seeing a single meeting series, not individual occurrences. What's wrong?

Meeting: Get Many returns a meeting series by default. To retrieve individual scheduled occurrences or in-progress meetings, change the Meeting Type filter to `scheduledMeeting` or `meeting`. The difference matters when you need data on a specific occurrence within a recurring series rather than the series definition itself.

What happens when a Get Many operation returns no results?

The node still emits one output item, but it carries `_noResults: true` rather than actual records. This prevents downstream nodes from silently receiving nothing, so you can branch on that flag in a subsequent node if you need to handle the empty case differently from a populated result.

Build with the Cisco Webex node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Cisco Webex credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.