Connect NeetoCal to other apps with Zapier
Zapier lets you connect NeetoCal to thousands of other applications. Automated connections called Zaps can be set up in minutes with no coding to automate your day-to-day tasks and build workflows between applications. Each Zap has one app as the Trigger, where your information comes from and which causes one or more Actions in other apps, where your data gets sent automatically.
Here is the NeetoCal and Zapier integration page.
Getting Started with Zapier
Sign up for a free Zapier account first. You need to create a Zap to connect NeetoCal with any other app on Zapier. Here is a video on how to make a Zap using NeetoCal.
If you have any additional questions about Zapier, you can open a ticket with Zapier Support.
API Key
The NeetoCal Zapier app requires an API Key for authenticating any request it makes to NeetoCal. Follow these steps to generate an API Key:
Go to the Settings.
In the Other Integrations section, click on Zapier.
Now, click on Connect Zapier.
Enter a label for the new Zapier API Key and click on Generate API Key.
Copy the API Key that is shown in the green box. This API Key will not be made visible again. So make sure to save this somewhere secure in case the API key is needed again.
API Documentation
Authentication Test
Zapier will use this endpoint to see if the API Key provided to it can be used to authenticate its requests successfully.
GET /api/v1/integrations/zapier/authentication_test
Headers:
Authorization: Basic <API Key>
Output:
{
"notice": "Successfully authenticated API Key"
}
Zapier Events
A Webhook or REST hook enables NeetoCal to send data on new bookings or canceled bookings to Zapier in real-time. It can also be used on other platforms.
Subscribe
To start receiving data on new bookings or canceled bookings, a request to subscribe should be sent to the following endpoint:
POST /neeto_integrations/zapier/subscriptions
Headers:
Authorization: Basic <API Key>
Body for new booking:
{
"zapier_subscription": {
"options" : {
"url": /* URL to which new bookings are to be sent */,
"event": "new_booking"
},
"subscription_for": "Zapier"
}
}
Body for cancelled booking:
{
"zapier_subscription": {
"options" : {
"url": /* URL to which cancelled bookings are to be sent */,
"event": "cancelled_booking"
},
"subscription_for": "Zapier"
}
}
Sample Output:
{
"notice": "Successfully subscribed to NeetoCal",
"id": "25934bd9-8742-4eb1-841e-6a78de0c4542"
}
Once subscribed, NeetoCal will send data on any new booking or canceled booking that is created through a POST request. The POST request will be sent to the valuezapier_subscription.options.url
provided in the request body of the subscription request.
Sample Data:
{
"id": "545da64e-37b9-455b-ba26-f46bd571cb11",
"room_type": "jitsi",
"room_url": "https://jitsi.neetocal.com/meeting-with-doyle-of-spinkart-545da",
"starts_at": "2023-08-07T10:00:00.000Z",
"ends_at": "2023-08-07T10:30:00.000Z",
"name": "Eve",
"email": "[email protected]",
"status": "confirmed",
"cancel_reason": null,
"meeting": {
"id": "f164f1d4-c633-4369-b751-29c1f95ee76a",
"name": "Marline O'Reilly",
"kind": "one_on_one",
"description": "<p></p>",
"duration": 30,
"start_time_increment": 30,
"lead_time": 60
},
"user": {
"id": "4c5840ca-b67d-431f-aed0-c1c5aeab8a49",
"email": "[email protected]",
"profile_image_url": "https://deejayfarm.com/wp-content/uploads/2019/10/Profile-pic.jpg",
"name": "Doyle Goodwin"
}
}
Unsubscribe
To stop receiving data on new bookings or canceled bookings, a request to unsubscribe should be sent to the following endpoint:
DELETE /neeto_integrations/zapier/subscriptions/<API Key>
Headers:
Authorization: Basic <API Key>
Sample Output:
{
"notice": "Successfully unsubscribed to NeetoCal"
}
Booking List
Get a list of recent bookings in the organization from NeetoCal. This enables Zapier to get sample data from NeetoCal, while creating a Zap.
GET /api/v1/integrations/zapier/bookings?page_size=3&page=1
Query Parameters:
page_size
- This is the number of bookings to be returned per page. The default value is5
.page
- This is the page number to be returned. The default value is1
.
Headers:
Authorization: Basic <API Key>
Sample Output:
[
{
"id": "43bbd70a-7a4f-4798-968c-289729d1fb36",
"user_id": "58d44a4c-5220-4391-b00f-f8935e504b3e",
"room_type": "zoom",
"room_url": "https://us04web.zoom.us/j/72675205704
pwd=JkAd10WkXbuIXAhE9IkkGodcUNCMxK.1",
"created_at": "2023-06-30T09:51:41.948Z",
"updated_at": "2023-06-30T09:51:41.948Z",
"starts_at": "2023-06-30T10:00:00.000Z",
"ends_at": "2023-06-30T10:15:00.000Z",
"name": "John Smith",
"email": "[email protected]",
"meeting_id": "13be32c5-6945-4146-80de-a8b82d4e2837",
"notes_url": "",
"status": "confirmed",
"cancel_reason": "",
"time_zone": "Asia/Calcutta",
"meeting": {
"id": "13be32c5-6945-4146-80de-a8b82d4e2837",
"name": "instant",
"kind": "one_on_one",
"slug": "instant",
"duration": 15,
"schedulable_range_type": "number_of_days_into_the_future",
"start_date": "",
"end_date": "",
"description": "Schedule a one-on-one meeting with Oliver Smith.",
"cancellation_policy": "",
},
"host": "Oliver Smith",
"cancellation_possible": false,
"rescheduling_possible": false,
"user_name": "Oliver Smith",
"user_email": "[email protected]",
"slot_starts_at": "2023-06-30 15:30:00 +0530"
}
]
Caveats
All the dates in the payload will be in the UTC format.