Skip to main content
All CollectionsHow-tosArticles
How to set up Zoom webhooks to Tines
How to set up Zoom webhooks to Tines

Walk through the steps on setting up a Zoom webhook to Tines to pull in Zoom event data.

Angela Ruhstorfer avatar
Written by Angela Ruhstorfer
Updated over a month ago

Overview

While building throughout Tines, you may need to send event-based notifications from Zoom into your story. This article goes over how to set this connection up using a Tines webhook action.

Tines references

Before getting started, we recommend familiarizing yourself with the surrounding functionality this article covers:

Tines Tips:

  • Zoom uses a challenge-response check (CRC) for webhook validation. When a CRC occurs, Zoom makes a POST request to your endpoint with a challenge request body. After your endpoint receives the request, your app needs to respond with the challenge response within 3 seconds.

  • Zoom requires that you manually trigger webhook validation when you add a new webhook or make changes to an existing one. Subsequently, Zoom automatically re-validates webhooks every 72 hours.

Make it happen

Step One: Zoom app configuration

  1. Within Zoom, navigate to the Zoom Marketplace โ†’ Develop โ†’ Build App.

  2. Zoom's API License and Terms of Use pop-up may appear. Read through this and click on Agree to continue.

  3. For "What kind of app are you creating", select Webhook Only App:

  4. Click Create.

  5. Name your app via App Name.

  6. Click Create again. This will bring you to the Information page of your app.

  7. Make sure to fill out the rest of your details in the Information page (you won't be able to activate the app without this).

  8. Navigate to Feature and copy your Secret Token value. You'll be using this later on.

  9. Still on the Feature page, toggle on Event Subscriptions.

  10. Click + Add Event Subscription.

Step Two: Create your Zoom secret token credential in Tines

  1. In a new browser tab, navigate to your Tines tenant -> team โ†’ Credentials.

  2. Click + New โ†’ Text to create a text credential.

  3. Name the credential "Zoom Secret Token".

  4. Paste your Zoom secret token you copied from earlier into the Value of your credential.

  5. Click Save to save your credential.

Step Three: Grab your Tines webhook

  1. In your Tines storyboard, drag in a webhook action.

  2. Rename the webhook action: "Zoom Receive Events".

  3. Copy the Webhook URL value.

  4. Back in your Zoom app -> event subscription you created earlier, paste the Webhook URL into the Event notification endpoint URL.

Step Four: Validation setup

  1. Back in your Tines storyboard, drag in an event transform action.

  2. Name the event transform action "Challenge Response".

  3. Connect the event transform action after your webhook action.

  4. Set up the Payload Builder of the event transform action like so (you can copy +paste the following into the "Plain Code" of your payload):

    {
    "plainToken": "<<zoom_receive_events.body.payload.plainToken>>",
    "encryptedToken": "<<HMAC_SHA256(zoom_receive_events.body.payload.plainToken,CREDENTIAL.zoom_secret_token)>>"
    }
  5. In your story settings, turn on "Enable webhook API responses" with the following setup:

    1. Entry actions: Zoom Receive Events action

    2. Exit actions: Challenge Response action

  6. Back in your Zoom app, click Validate under Validate the URL.

Review the results

After running the validation from Zoom, you will see an endpoint.url_validation event come through your webhook action in Tines:

A successful "Validated" message will appear on your Zoom app:

Note: Since Zoom re-validates webhooks every 72 hours, make sure to keep your "Challenge Response" event transform action.

Once you've successfully validated the URL, you can add the Zoom events you want to pull into your story via your Zoom app's Add Events and Save your changes:

Did this answer your question?