← RingCentral + HTTP / Webhook integrations

Send any HTTP Request with HTTP / Webhook API on New Event (Instant) from RingCentral API

Pipedream makes it easy to connect APIs for HTTP / Webhook, RingCentral and 1000+ other apps remarkably fast.

Trigger workflow on
New Event (Instant) from the RingCentral API
Next, do this
Send any HTTP Request with the HTTP / Webhook API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜

Trusted by 500,000+ developers from startups to Fortune 500 companies

Adyen logo
Brex logo
Carta logo
Checkr logo
Chameleon logo
DevRev logo
LinkedIn logo
Netflix logo
New Relic logo
OnDeck logo
Replicated logo
Scale AI logo
Teamwork logo
Warner Bros. logo
Xendit logo

Developers Pipedream

Getting Started

This integration creates a workflow with a RingCentral trigger and HTTP / Webhook action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the New Event (Instant) trigger
    1. Connect your RingCentral account
    2. Optional- Select one or more Extensions
    3. Optional- Select a Device
    4. Select one or more Notification Types
  3. Configure the Send any HTTP Request action
    1. Connect your HTTP / Webhook account
    2. Configure HTTP Request Configuration
    3. Optional- Configure Include Response Headers
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new event for each notification from RingCentral of a specified type
Version:0.1.3
Key:ringcentral-new-event

RingCentral Overview

RingCentral API is a powerful tool that allows users to build applications and
solutions that make communication easier and more convenient. With RingCentral
API, developers can build communication solutions that include voice and video,
SMS/MMS, Fax, and other features.

With RingCentral API, developers can build:

  • Voice and Video calls with advanced interactions, such as ringback tones,
    call screening, call forwarding, call recording and conference calling.
  • Rich messaging applications leveraging SMS, MMS, and chat functionality.
  • Fax solutions, such as sending and receiving faxes through a web application.
  • Presence and availability services, allowing users to set their status and
    view the status of other users.
  • Automated voice solutions such as voice recognition, voice menus and more.
  • Voice analytics and call quality monitoring.
  • Contact center solutions with the ability to monitor and manage queues.

Trigger Code

import notificationTypes from "../common/notification-types.mjs";
import common from "../common/http-based.mjs";
import messageTypes from "../common/message-types.mjs";

export default {
  ...common,
  key: "ringcentral-new-event",
  name: "New Event (Instant)",
  description: "Emit new event for each notification from RingCentral of a specified type",
  version: "0.1.3",
  type: "source",
  props: {
    ...common.props,
    extensionId: {
      optional: true,
      propDefinition: [
        common.props.ringcentral,
        "extensionId",
      ],
    },
    deviceId: {
      optional: true,
      propDefinition: [
        common.props.ringcentral,
        "deviceId",
        ({ extensionId }) => ({
          extensionId,
        }),
      ],
    },
    notificationTypes: {
      type: "string[]",
      label: "Notification Types",
      description: "The types of notifications to emit events for",
      options({ page = 0 }) {
        if (page !== 0) {
          return [];
        }

        return notificationTypes.map(({
          label, key,
        }) => ({
          label,
          value: key,
        }));
      },
    },
  },
  methods: {
    ...common.methods,
    _getEventTypeFromFilter(eventFilter) {
      return eventFilter
        .replace(/\/restapi\/v\d+\.\d+\//, "")
        .replace(/account\/.*?\//, "")
        .replace(/extension\/.*?\//, "");
    },
    getSupportedNotificationTypes() {
      return new Set(this.notificationTypes);
    },
    getPropValues() {
      return {
        extensionId: this.extensionId,
        deviceId: this.deviceId,
        messageType: messageTypes[0],
      };
    },
    generateMeta(data) {
      const {
        uuid: id,
        timestamp,
        event: eventFilter,
      } = data;

      const eventType = this._getEventTypeFromFilter(eventFilter);
      const summary = `New event: ${eventType}`;
      const ts = Date.parse(timestamp);

      return {
        id,
        summary,
        ts,
      };
    },
  },
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
RingCentralringcentralappThis component uses the RingCentral app.
N/Adb$.service.dbThis component uses $.service.db to maintain state between executions.
N/Ahttp$.interface.httpThis component uses $.interface.http to generate a unique URL when the component is first instantiated. Each request to the URL will trigger the run() method of the component.
ExtensionsextensionIdstring[]Select a value from the drop down menu.
DevicedeviceIdstringSelect a value from the drop down menu.
Notification TypesnotificationTypesstring[]Select a value from the drop down menu.

Trigger Authentication

RingCentral uses OAuth authentication. When you connect your RingCentral account, Pipedream will open a popup window where you can sign into RingCentral and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any RingCentral API.

Pipedream requests the following authorization scopes when you connect your account:

About RingCentral

Business communications platform

Action

Description:Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.
Version:1.1.1
Key:http-custom-request

Action Code

import http from "../../http.app.mjs";

export default {
  key: "http-custom-request",
  name: "Send any HTTP Request",
  description: "Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.",
  type: "action",
  version: "1.1.1",
  props: {
    http,
    httpRequest: {
      propDefinition: [
        http,
        "httpRequest",
      ],
    },
    includeHeaders: {
      type: "boolean",
      label: "Include Response Headers",
      description: "Optionally export the full response headers",
      optional: true,
    },
  },
  async run({ $ }) {
    const response = await this.httpRequest.execute();

    if (this.includeHeaders) {
      $.export("headers", response.headers);
    }

    return response;
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
HTTP / WebhookhttpappThis component uses the HTTP / Webhook app.
HTTP Request ConfigurationhttpRequesthttp_request
Include Response HeadersincludeHeadersboolean

Optionally export the full response headers

Action Authentication

The HTTP / Webhook API does not require authentication.

About HTTP / Webhook

Get a unique URL where you can send HTTP or webhook requests

More Ways to Connect HTTP / Webhook + RingCentral

Create Meeting with Ringcentral API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + RingCentral
 
Try it
Create Meeting with Ringcentral API on New Requests from HTTP / Webhook API
HTTP / Webhook + RingCentral
 
Try it
Make CallOut with Ringcentral API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + RingCentral
 
Try it
Make CallOut with Ringcentral API on New Requests from HTTP / Webhook API
HTTP / Webhook + RingCentral
 
Try it
Send SMS with Ringcentral API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + RingCentral
 
Try it
New Call Recording from the RingCentral API

Emit new events when a call recording is created

 
Try it
New Event (Instant) from the RingCentral API

Emit new event for each notification from RingCentral of a specified type

 
Try it
New Inbound Call (Instant) from the RingCentral API

Emit new event on each incoming call

 
Try it
New Inbound Fax (Instant) from the RingCentral API

Emit new event on each incoming fax

 
Try it
New Inbound Message Event (Instant) from the RingCentral API

Emit new event for each status change of inbound messages of a specific type

 
Try it
Create Meeting with the RingCentral API

Creates a new meeting. See the API docs here.

 
Try it
Get Message with the RingCentral API

Get message from the Message Store. See the API docs here

 
Try it
Make CallOut with the RingCentral API

Creates a new outbound call out session. See the API docs here

 
Try it
Send SMS with the RingCentral API

Creates and sends a new text message. See the API docs here

 
Try it
Send any HTTP Request with the HTTP / Webhook API

Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.

 
Try it