RingCentral · Arazzo Workflow

RingCentral Team Messaging Incoming Webhook Lifecycle

Version 1.0.0

Create an incoming webhook for a team, read its address, suspend and reactivate it, and delete it when retired.

1 workflow 1 source API 1 provider
View Spec View on GitHub CommunicationsUCaaSVoiceVideoContact CenterSMSMessagingFaxArazzoWorkflows

Provider

ringcentral

Workflows

team-messaging-webhook-lifecycle
Create, inspect, suspend, reactivate, and delete a Team Messaging incoming webhook.
Creates an incoming webhook against a group/team, reads it back to capture the generated posting URI and status, suspends it to mute delivery, reactivates it, and finally deletes it.
5 steps inputs: groupId outputs: groupIds, webhookId, webhookUri
1
createWebhook
Create the incoming webhook for the group. This operation takes no request body — RingCentral generates the webhook and returns its resource, including the URI external systems will post to.
2
readWebhook
Read the webhook back to confirm it is active and to capture the posting URI that gets handed to the external system.
3
suspendWebhook
Suspend the webhook to stop delivery without destroying it. Posts to the URI are rejected while suspended, but the URI survives so the external system does not have to be reconfigured to resume.
4
activateWebhook
Reactivate the suspended webhook so the original URI resumes delivering into the chat.
5
deleteWebhook
Permanently delete the webhook when the integration is retired. The URI stops working immediately and cannot be recovered.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: RingCentral Team Messaging Incoming Webhook Lifecycle
  summary: Create an incoming webhook for a team, read its address, suspend and reactivate it, and delete it when retired.
  description: >-
    Team Messaging incoming webhooks are how external systems — CI pipelines,
    monitoring, ticketing — push notifications into a RingCentral chat without an
    OAuth-authenticated bot. Creating one for a group returns a generated webhook
    URI that the external system posts to. Unlike most resources these webhooks
    have a suspend/activate pair rather than only create/delete, which lets an
    integrator mute a noisy source without destroying the URI and forcing every
    downstream system to be reconfigured. This workflow walks the full lifecycle.
    Every step spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: incomingWebhooksApi
  url: ../openapi/ringcentral-incoming-webhooks-api-openapi.yml
  type: openapi
workflows:
- workflowId: team-messaging-webhook-lifecycle
  summary: Create, inspect, suspend, reactivate, and delete a Team Messaging incoming webhook.
  description: >-
    Creates an incoming webhook against a group/team, reads it back to capture the
    generated posting URI and status, suspends it to mute delivery, reactivates it,
    and finally deletes it.
  inputs:
    type: object
    required:
    - groupId
    properties:
      groupId:
        type: string
        description: >-
          Internal identifier of the group or team the webhook posts into. This is
          the same id returned when a team is created.
  steps:
  - stepId: createWebhook
    description: >-
      Create the incoming webhook for the group. This operation takes no request
      body — RingCentral generates the webhook and returns its resource, including
      the URI external systems will post to.
    operationId: createGlipGroupWebhookNew
    parameters:
    - name: groupId
      in: path
      value: $inputs.groupId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      webhookId: $response.body#/id
      webhookUri: $response.body#/uri
      status: $response.body#/status
      creatorId: $response.body#/creatorId
      creationTime: $response.body#/creationTime
  - stepId: readWebhook
    description: >-
      Read the webhook back to confirm it is active and to capture the posting URI
      that gets handed to the external system.
    operationId: readGlipWebhookNew
    parameters:
    - name: webhookId
      in: path
      value: $steps.createWebhook.outputs.webhookId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
      webhookUri: $response.body#/uri
      groupIds: $response.body#/groupIds
  - stepId: suspendWebhook
    description: >-
      Suspend the webhook to stop delivery without destroying it. Posts to the URI
      are rejected while suspended, but the URI survives so the external system does
      not have to be reconfigured to resume.
    operationId: suspendGlipWebhookNew
    parameters:
    - name: webhookId
      in: path
      value: $steps.createWebhook.outputs.webhookId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: activateWebhook
    description: >-
      Reactivate the suspended webhook so the original URI resumes delivering into
      the chat.
    operationId: activateGlipWebhookNew
    parameters:
    - name: webhookId
      in: path
      value: $steps.createWebhook.outputs.webhookId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: deleteWebhook
    description: >-
      Permanently delete the webhook when the integration is retired. The URI stops
      working immediately and cannot be recovered.
    operationId: deleteGlipWebhookNew
    parameters:
    - name: webhookId
      in: path
      value: $steps.createWebhook.outputs.webhookId
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    webhookId: $steps.createWebhook.outputs.webhookId
    webhookUri: $steps.readWebhook.outputs.webhookUri
    groupIds: $steps.readWebhook.outputs.groupIds

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/ringcentral-team-messaging-webhook-lifecycle-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.