cal/packages/app-store/zapier
Jeroen Reumkens ccc2bdd25e
🧹 One `calcom/ui` import to rule them all (#5561)
* Removed emptyscreen component v1 version, migrated pages that still used it to v2, and removed v1 of workflow pages and components.

* updated workflow pages imports to remove v2 from path.

* Deleted v1 switch component, deleted v1 api-keys components, deleted old web integrations components that were unused.

* Removed v1 list component.

* Fixed event workflows tab path.

* Fixed import path for button in sandbox page.

* Cleanup and type fixes

* Making explicit indexes

* UI import migrations

* More import fixes

* More import fixes

* Submodule sync

* Type fixes

* Build fixes

Co-authored-by: zomars <zomars@me.com>
2022-11-22 19:55:25 -07:00
..
api Fix Zapier sample data and payload (#5241) 2022-10-28 09:09:15 +00:00
components 🧹 One `calcom/ui` import to rule them all (#5561) 2022-11-22 19:55:25 -07:00
lib Add try-catch and validation to run triggers on reschedule (#5252) 2022-10-28 09:36:30 +00:00
pages/setup 🧹 One `calcom/ui` import to rule them all (#5561) 2022-11-22 19:55:25 -07:00
static Add links to Zapier templates in installed apps (#4982) 2022-10-15 08:05:37 +00:00
_metadata.ts Add links to Zapier templates in installed apps (#4982) 2022-10-15 08:05:37 +00:00
index.ts 🧹 One `calcom/ui` import to rule them all (#5561) 2022-11-22 19:55:25 -07:00
package.json Add links to Zapier templates in installed apps (#4982) 2022-10-15 08:05:37 +00:00
README.md Zapier Trigger: After Meeting ends (#3827) 2022-08-15 20:18:41 +00:00
README.mdx Removed old v1 app components in web. (#5286) 2022-10-31 10:42:01 +00:00

Setting up Zapier Integration

If you run it on localhost, check out the additional information below.

  1. Create Zapier Account
  2. If not redirected to developer account, go to: Zapier Developer Account
  3. Click Start a Zapier Integration
  4. Create Integration
    • Name: Cal.com
    • Description: Cal.com is a scheduling infrastructure for absolutely everyone.
    • Intended Audience: Private
    • Role: choose whatever is appropriate
    • Category: Calendar

Authentication

  1. Go to Authentication, choose Api key and click save
  2. Click Add Fields
    • Key: apiKey
    • Check the box is this field required?
  3. Configure a Test
    • Test: GET <baseUrl>/api/integrations/zapier/listBookings
    • URL Params
      • apiKey: {{bundle.authData.apiKey}}
  4. Test your authentication —> First you have to install Zapier in the Cal.com App Store and generate an API key, use this API key to test your authentication (only zapier Api key works)

Triggers

Booking created, Booking rescheduled, Booking cancelled, Meeting ended

Booking created

  1. Settings
    • Key: booking_created
    • Name: Booking created
    • Noun: Booking
    • Description: Triggers when a new booking is created
  2. API Configuration (apiKey is set automatically, leave it like it is):
    • Trigger Type: REST Hook
    • Subscribe: POST <baseUrl>/api/integrations/zapier/addSubscription
      • Request Body
        • subscriberUrl: {{bundle.targetUrl}}
        • triggerEvent: BOOKING_CREATED
    • Unsubscribe: DELETE <baseUrl>/api/integrations/zapier/deleteSubscription
      • URL Params (in addition to apiKey)
        • id: {{bundle.subscribeData.id}}
    • PerformList: GET <baseUrl>/api/integrations/zapier/listBookings
  3. Test your API request

Create the other triggers (booking rescheduled, booking cancelled and meeting ended) exactly like this one, just use the appropriate naming (e.g. booking_rescheduled instead of booking_created)

The invite link can be found under under Manage → Sharing.

Localhost

Localhost urls can not be used as the base URL for api endpoints

Possible solution: using https://ngrok.com/

  1. Create Account
  2. Download gnork and start a tunnel to your running localhost
    • Use forwarding url as your baseUrl for the URL endpoints