Create Message

webex.create_message
ActionChat & messagingconnection required

Calls the Cisco Webex API with the connection's credentials.

Post a message to a Webex space or as a 1:1 direct message.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Cisco Webex
Secret shape
the Webex access token, or {"access_token": "…"}
Resolved by
config.connection_id, else node.connection_id

Configuration

12 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
room_id
Id of the space to post in. Leave blank to send a 1:1 message instead.
stringNo——Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0
to_person_email
Email of the person to send a 1:1 message to. Webex creates the direct room if there is not one yet.
stringNo—email format—
to_person_id
Id of the person to send a 1:1 message to, instead of their email.
stringNo———
text
The message as plain text. Also the fallback for clients that cannot render Markdown. Supports {{ }}.
stringNo——The nightly deploy finished.
markdown
The message as Markdown. Mention someone with <@personEmail:someone@example.com>. Supports {{ }}.
stringNo———
files
One publicly reachable file URL to attach, as a JSON array. Webex takes exactly one URL and downloads it itself.
arrayNo—1–1 characters; array of string—
attachments
Adaptive Cards to attach, as a JSON array of Webex attachment objects. Only one card per message is supported.
arrayNo—array of object—
parent_id
Id of a message to reply to, which starts or continues its thread.
stringNo———
file_content
A file to upload with the message — wire an upstream node's file_content here. Sent as a multipart request instead of a URL.
stringNo———
filename
Name Webex should show the uploaded file under, e.g. report.pdf.
stringYes—only with file_content—
content_encoding
How file_content is encoded. Leave at base64 for a file from another node.
stringConditionalbase64one of "base64", "text"; only with file_content—
content_type
MIME type of the uploaded file, e.g. image/png. Defaults to application/octet-stream.
stringConditional—only with file_content—
  • At least one of room_id, to_person_email, to_person_id must be set.
  • At least one of text, markdown, files, file_content, attachments must be set.

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "content_encoding": "base64",
  "room_id": "Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIxYWQtNDNmMS0zYjU4LTkxNDctZjE0YmIwYzRkMTU0",
  "text": "The nightly deploy finished."
}

Output

One shape.

result

FieldTypeExample
id
The message id — pass it to webex.get_message or delete_message.
string—
room_id
Id of the space the message is in.
string—
room_type
'group' for a space, 'direct' for a 1:1 room.
string—
parent_id
Id of the parent message when this is a threaded reply.
string—
person_id
Id of the person or bot that posted it.
string—
person_email
Email of the person or bot that posted it.
string—
text
The message as plain text.
string—
markdown
The message as Markdown, when it was sent that way.
string—
html
The HTML Webex rendered from the Markdown.
string—
files
URLs of the attachments; downloading one needs the same access token.
array—
created
When the message was posted (ISO-8601).
string—
updated
When it was last edited, if it has been.
string—
{
  "created": "",
  "files": [],
  "html": "",
  "id": "",
  "markdown": "",
  "parent_id": "",
  "person_email": "",
  "person_id": "",
  "room_id": "",
  "room_type": "",
  "text": "",
  "updated": ""
}

Notes

  • The connection's token is the actor: a bot token only sees the spaces the bot has been added to, and a personal or integration token acts as that user.
  • A message goes to exactly one destination: room_id, to_person_email or to_person_id.
  • An uploaded file is capped at 100 MB by Webex and by the workflow's inline binary limit, whichever is smaller; a file URL has no such cap.
  • Webex answers 429 Too Many Requests with a Retry-After header giving the seconds to wait; the step fails with that status in the message.

See Create Message run in a workflow.

In a technical demo we add the Cisco Webex connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.