02b935bcde
* create basic app structure * add zapierSubscription model to prisma.schema * change column name triggerEvent to lower case * add zapier functionality + enpoints + adjust prisma.schema * add subscriptionType + refactor code * add app store information * create setup page to generate api key * clean code * add copy functionality in setup page * clean code * add apiKeyType and delte key when uninstalled or new key generated * clean code * use Promise.all * only approve zapier api key * clean code * fix findValidApiKey for api keys that don't expire * fix migrations * clean code * small fixes * add i18n * add README.md file * add setup guide to README.md * fix yarn.lock * Renames zapierother to zapier * Typo * Updates package name * Rename fixes * Adds zapier to the App Store seeder * Adds missing zapier to apiHandlers * Adds credential relationship to App * Rename fixes * Allows tailwind to pick up custom app-store components * Consolidates zapier_setup_instructions * Webhook fixes * Uses app relationship instead of custom type * Refactors sendPayload to accept webhook object Instead of individual parameters * refactoring * Removes unused zapier check * Update cancel.ts * Refactoring * Removes example comments * Update InstallAppButton.tsx * Type fixes * E2E fixes * Deletes all user zapier webhooks on integration removal Co-authored-by: CarinaWolli <wollencarina@gmail.com> Co-authored-by: zomars <zomars@me.com> |
||
---|---|---|
.. | ||
api | ||
components | ||
static | ||
README.md | ||
README.mdx | ||
_metadata.ts | ||
index.ts | ||
package.json |
README.md
Setting up Zapier Integration
If you run it on localhost, check out the additional information below.
- Create Zapier Account
- If not redirected to developer account, go to: Zapier Developer Account
- Click Start a Zapier Integration
- 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
- Go to Authentication, choose Api key and click save
- Click Add Fields
- Key: apiKey
- Check the box ‘is this field required?’
- Configure a Test
- Test: GET
<baseUrl>
/api/integrations/zapier/listBookings - URL Params
- apiKey: {{bundle.authData.apiKey}}
- Test: GET
- 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
Booking created
- Settings
- Key: booking_created
- Name: Booking created
- Noun: Booking
- Description: Triggers when a new booking is created
- 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
- Request Body
- Unsubscribe: DELETE
<baseUrl>
/api/integrations/zapier/deleteSubscription- URL Params (in addition to apiKey)
- id: {{bundle.subscribeData.id}}
- URL Params (in addition to apiKey)
- PerformList: GET
<baseUrl>
/api/integrations/zapier/listBookings
- 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)
Testing integration
Use the sharing link under Manage → Sharing to create your first Cal.com trigger in Zapier
Localhost
Localhost urls can not be used as the base URL for api endpoints
Possible solution: using https://ngrok.com/
- Create Account
- Download gnork and start a tunnel to your running localhost
- Use forwarding url as your baseUrl for the URL endpoints