Send Webex Webhook Message

Action ID: webex:webhooks:sendMessage
NPM Package:

@coderrob/backstage-plugin-scaffolder-backend-module-webex

Description

Sends a message using Webex Incoming Webhooks

Input Schema

PropertyTypeDescriptionRequired
[InputField.FORMAT]any-
[InputField.MESSAGE]string-
[InputField.WEBHOOKS]array-

Output Schema

PropertyTypeDescriptionRequired
[OutputField.FAILED_MESSAGES]array-

Usage Examples

Notify a single Webex space when a new service is scaffolded

Sends a markdown message to one Webex space after pulling files with fetch:template. Use this to notify a team that a new component was created.

Copy
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./skeleton
      targetPath: .
      values:
        name: ${{ parameters.componentName }}

  - id: notify-webex
    action: webex:webhooks:sendMessage
    input:
      format: markdown
      message: |
        ✅ Service "${{ parameters.componentName }}" was created.
        Owner: ${{ parameters.owner }}
        Docs: https://docs.example.com/services/${{ parameters.componentName }}
      webhooks:
        - https://webexapis.com/v1/webhooks/incoming/2f9d1c87-3a1b-4a6c-9d5a-1f2a3b4c5d6e

Broadcast to multiple Webex spaces after scaffolding

Sends a plain text message to multiple spaces. Use this to inform cross-functional teams like platform and security at the same time.

Copy
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./skeleton
      targetPath: .
      values:
        name: ${{ parameters.componentName }}

  - id: webex-broadcast
    action: webex:webhooks:sendMessage
    input:
      format: text
      message: >
        New service "${{ parameters.componentName }}" created by ${{ parameters.owner }}.
        Repository: ${{ parameters.repoUrl }}
      webhooks:
        - https://webexapis.com/v1/webhooks/incoming/platform-2a3b4c5d-6e7f-8a9b
        - https://webexapis.com/v1/webhooks/incoming/security-6e7f8a9b-2a3b-4c5d

Post a rich markdown summary with links

Sends a detailed markdown message including key metadata and links. Use this when you want a readable summary in the team space.

Copy
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./skeleton
      targetPath: .
      values:
        name: ${{ parameters.componentName }}

  - id: webex-summary
    action: webex:webhooks:sendMessage
    input:
      format: markdown
      message: |
        ### New service scaffolded

        - Name: **${{ parameters.componentName }}**
        - Namespace: ${{ parameters.namespace }}
        - Repository: [${{ parameters.repoUrl }}](${{ parameters.repoUrl }})
        - Environment: ${{ parameters.environment }}

        Next steps:
        1. Push initial code and open a PR
        2. Set up CI/CD in your repo
        3. Register alerting for this service
      webhooks:
        - https://webexapis.com/v1/webhooks/incoming/8c9d0e1f-2345-4b67-9abc-def012345678

Use parameter-provided webhook list for environment-specific notifications

Pass a parameter that contains an array of incoming webhook URLs. Use this to route notifications to different spaces per environment.

Copy
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./skeleton
      targetPath: .
      values:
        name: ${{ parameters.componentName }}

  - id: webex-env-notify
    action: webex:webhooks:sendMessage
    input:
      format: markdown
      message: |
        Deploy pipeline triggered for **${{ parameters.componentName }}**.
        Target environment: **${{ parameters.environment }}**
      webhooks: ${{ parameters.webexWebhooks }}

Send a conditional creation notice

Only sends the message when a boolean parameter is true. Use this to let users opt in to Webex notifications.

Copy
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./skeleton
      targetPath: .
      values:
        name: ${{ parameters.componentName }}

  - id: webex-conditional
    if: ${{ parameters.notifyOnCreate }}
    action: webex:webhooks:sendMessage
    input:
      format: text
      message: >
        Service "${{ parameters.componentName }}" is ready in namespace
        "${{ parameters.namespace }}".
      webhooks:
        - https://webexapis.com/v1/webhooks/incoming/notify-0a1b2c3d-4e5f-6789