cal.pub0.org/packages/app-store/zapier/README.md

72 lines
2.7 KiB
Markdown
Raw Normal View History

<!-- PROJECT LOGO -->
<div align="center">
<a href="https://cal.com/enterprise">
<img src="https://user-images.githubusercontent.com/8019099/133430653-24422d2a-3c8d-4052-9ad6-0580597151ee.png" alt="Logo">
</a>
</div>
# Setting up Zapier Integration
If you run it on localhost, check out the [additional information](https://github.com/CarinaWolli/cal.com/edit/feat/zapier-app/packages/app-store/zapier/README.md#localhost) below.
1. Create [Zapier Account](https://zapier.com/sign-up?next=https%3A%2F%2Fdeveloper.zapier.com%2F)
2. If not redirected to developer account, go to: [Zapier Developer Account](https://developer.zapier.com)
3. Click **Start a Zapier Integration**
4. Create Integration
2022-06-24 13:37:56 +00:00
- 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
2022-06-24 13:37:56 +00:00
- Key: apiKey
- Check the box is this field required?
3. Configure a Test
2022-06-24 13:37:56 +00:00
- 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)
2022-06-24 13:37:56 +00:00
## Triggers
Booking created, Booking rescheduled, Booking cancelled
2022-06-24 13:37:56 +00:00
### Booking created
1. Settings
2022-06-24 13:37:56 +00:00
- 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):
2022-06-24 13:37:56 +00:00
- 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 two triggers (booking rescheduled, booking cancelled) exactly like this one, just use the appropriate naming (e.g. booking_rescheduled instead of booking_created)
2022-06-24 13:37:56 +00:00
### Set ZAPIER_INVITE_LINK
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/](https://ngrok.com/)
1. Create Account
2. [Download](https://ngrok.com/download) gnork and start a tunnel to your running localhost
2022-06-24 13:37:56 +00:00
- Use forwarding url as your baseUrl for the URL endpoints