- How to add a Webhook:
- Triggers supported by Sessions:
- Data structure for each trigger
- 1. (SESSION|BOOKING|EVENT)\_(CREATED|UPDATED|STARTED|ENDED), EVENT_PUBLISHED:
- 2. EVENT_NEW_REGISTRATION:
- 3. TAKEAWAY_READY:
- 4. TRANSCRIPT_READY:
- 5. RECORDING_STATUS_CHANGED:
- How to use Sessions' Webhooks with other apps
- Example of use cases for Webhooks
- Events:
- Bookings:
- How to save your recordings:
- π Save your recording automatically on Google Drive with @Pabbly:
- π Save your recording automatically on Google Drive with @Zapier:
- How to use webhooks to save data from booked sessions:
- π Save your clients' details automatically on a Google Drive Spreadsheet with @Pabbly:
- π Save your clients' details automatically in Google Drive with @Zapier:
A webhook is a feature that enables real-time communication between different applications or services. It allows Sessions to automatically send data or notifications to another application when specific events occur. We call such events triggers.
The data that is sent through the webhook has the following format:
{
/**
The name of the trigger.
See list bellow.
*/
trigger,
/**
The data associated with the trigger.
See format bellow.
*/
data,
}
When more information is required, webhooks can be easily used together with our public API.
How to add a Webhook:
- Go to your Profile β Workspace settings.
- Click on Webhooks.
- Click on Add a webhook.
- Choose the trigger and paste the URL of your choice.
- Select a Permission.
- Personal: this will make the webhook trigger only for your sessions, events, bookings, etc.
- Workspace: this will make the webhook trigger for all sessions, events booking, etc created by the members of your workspace.
- And click on Add webhook.
- You can always edit or delete your webhooks.
Triggers supported by Sessions:
Data structure for each trigger
1. (SESSION|BOOKING|EVENT)\_(CREATED|UPDATED|STARTED|ENDED), EVENT_PUBLISHED:
1.(SESSION|BOOKING|EVENT)\_(CREATED|UPDATED|STARTED|ENDED), EVENT_PUBLISHED:
type SessionDataPayload = {
session: {
id: string;
name: string;
description: string | null;
// True for Instant Sessions, false for Planned Sessions
quickSession: boolean;
// Defined only if the session is a room, null otherwise
room: {
id: string;
slug: string | null;
} | null;
createdAt: Date,
startAt: Date,
actualStart: Date | null;
plannedEnd: Date;
reminders: {
reminders: []
};
// Defined only for bookings, null otherwise
booking: {
id: string;
name: string;
participantName: string;
participantEmail: string;
guests: string[];
formAnswers: array<{question: string; answer?: string}>;
} | null;
// Defined only for events, null otherwise
event: {
id: string;
slug: string;
} | null;
participants: Array<{
id: string;
isOwner: boolean;
// Defined only for guests, null otherwise
guest: {
id: string;
email: string | null;
lastName: string | null;
firstName: string;
} | null;
// Defined only for registered users, null otherwise
user: {
id: string;
email: string;
lastName: string;
firstName: string;
} | null;
}>;
};
};
2. EVENT_NEW_REGISTRATION:
2. EVENT_NEW_REGISTRATION
type EventNewRegistrationData = {
sessionId?: string;
eventId: string;
registeredParticipant: {
id: string;
email: string;
firstName: string;
lastName?: string;
form: Array<{question: string; answer?: string}>;
};
}
3. TAKEAWAY_READY:
type TakewaysReadyData = {
session: {
id: string;
takeawaysText: string;
takeawaysRaw: JSON;
}
}
4. TRANSCRIPT_READY:
type TranscriptReadyData = {
session: {
id: string;
transcripts: Array<{
content: Array<{
text: string;
language: string;
}>;
participantId: string;
sourceLanguage: string;
sourceTimestamp: Date;
}>;
};
}
5. RECORDING_STATUS_CHANGED:
type RecordingStatusChanged= {
"recording": {
id: string,
name: string,
sessionId: string,
processingStatus: string,
downloadUrl: string
}
}
How to use Sessions' Webhooks with other apps
An HTTPS server is essential for setting up a webhook to relay data from Sessions to your server.
The endpoint from this server should use the HTTPS protocol for security reasons and able to handle JSON payloads, specified in this documentation. Thus, you will need a publicly accessible URL that uses HTTPS to set up Webhooks. This HTTPS server can be your own or from other apps like Zapier, RequestBin etc.
Example of use cases for Webhooks
Events:
- For every participant that registers to your event, you can set up a webhook that is triggered for EVENT_NEW_REGISTRATION and send them with external apps additional emails with different materials for your event.
- For the same webhook trigger, EVENT_NEW_REGISTRATION, you can filter the form answers from registration and based on certain response, to use external apps to send them additional emails with different materials or marketing info.
- For EVENT_PUBLISHED webhook trigger, you can use it with an external app, to send emails to a group of contacts and inform them that you've published an event and they should check it out.
- For EVENT_ENDED webhook trigger, you can set an external app to send out a survey to get feedback about the event from participants
Bookings:
- For BOOKING_CREATED webhook trigger, you can set with an external app to send out notifications to your team.
- For BOOKING_ENDED webhook trigger, you can set an external app to send out a survey to get feedback about the meeting from participants
How to save your recordings:
With the βRECORDING_STATUS_CHANGEDβ webhook trigger, you can automate the process of downloading and saving your recordings locally or on Google Drive.
To do this, you can use Pabbly, Zapier, or any other third-party platform of your choice that allows this. The following examples are for Pabbly and Zapier, because we have integrations with them.
π Save your recording automatically on Google Drive with Pabbly:
- Go to Pabbly Dashboard.
- Create a new Workflow. Write a name and select a folder then press Create.
- Trigger: select Sessions app from the list.
- Trigger: select a Trigger Event and then select βRecording Status Changedβ
- Copy the Webhook URL.
- Go to Sessions App -> Profile > Workspace Settings -> Webhooks.
- Click on Add webhook.
- Paste the webhook URL in the URL field.
- Select βRecording Status Changedβ in the Trigger field.
- Select your desired permission then click on Confirm.
- Go to the Sessions home page and start a new session.
- Start the recording, wait 1 minute then stop the recording in order to have the download url.
- Switch back to the Pabbly tab and check the captured webhook response. Make sure that the Data Recording Download Url field has a value.
- Go to Action settings.
- Search and select Google Drive.
- As an Action event, select Upload a file.
- Click on the Connect button to connect your Google Drive account to Pabbly.
- Create a new connection or select an existing connection from the list. Then click on the Save button.
- As URL, select the Data Recording DownloadUrl parameter from the webhook response.
- As Folder ID, select the folder ID from Google Driver where you want to save the recordings.
- As File name, enter the desired name for your recordings. If you want a dynamic name, select the Data Recording Name parameter from the webhook response, which is the name of the meeting/event from Sessions.
- Click on Save and Send Test Request button.
- Done. Congratulations! Now every time you end a session that has a recording, it will automatically be saved in your Google Drive. From there, you can easily share it with others or download and edit it.
π Save your recording automatically on Google Drive with Zapier:
- Go to Zaps Dashboard.
- Create a new Zap.
- Click on Trigger then search and select Sessions app from the list.
- As a trigger Event, select βRecording Status Changedβ then click Continue.
- Select your Sessions account then click Continue. If you donβt have an account, check how to generate a token and connect your Zapier account.
- Select Personal permission then click on Continue.
- Go to the Sessions home page and start a new session.
- Start recording, wait 1 minute. then stop the recording in order to have the download URL.
- Switch back to the Zapier browser tab and click on the Test button. Make sure that the Data Recording Download Url field has a value.
- Click on the Continue button.
- As an action, search and select Google Drive.
- As Action event, select Upload a file. Click Continue.
- Click on the Connect button to connect your Google Drive account with Zapier.
- As an action, select your Google Drive.
- As a folder, select the Google Drive folder where you want to save your recording.
- As File, select the Data Recording DownloadUrl parameter from the webhook response.
- As File name, enter the desired name for your recordings. If you want a dynamic name, select the Data Recording Name parameter from the webhook response, which is the meeting/event name from Sessions.
- Click on Save and Test Step button.
- Click Publish.
- Done. Congratulations! Now every time you end a session that has a recording, it will automatically be saved in your Google Drive. From there, you can easily share it with others or download and edit it.
How to use webhooks to save data from booked sessions:
With theΒ "Booking ended" webhook trigger, you can automate the process of storing clients' details for future sessions. Of course, this must be GDPR compliant, so you should add a consent-type question in your booking form, to ask for permission to store their data for future sessions.
To do this, you can use Pabbly, Zapier, or any other third-party platform of your choice that allows this. The following examples are for Pabbly and Zapier because we have integrations with them.
π Save your clients' details automatically on a Google Drive Spreadsheet with Pabbly:
- Go to Pabbly Dashboard.
- Create a new Workflow. Give it a name and select a folder. Click Create.
- Trigger: select Sessions app from the list.
- Trigger: select a Trigger Event and then select βBooking endedβ
- Copy the Webhook URL.
- Go to Sessions App β Profile β Workspace Settings β Webhooks.
- Click on Add webhook.
- Paste the webhook URL in the URL field.
- Select βBooking endedβ in the Trigger field.
- Select your desired permission then click on Confirm.
- Go to the Sessions home page and navigate to the Book me page.
- Book a slot with a test participant on your booking page.
- Start the test booking session, join with the test participant, and end it after a few seconds.
- Switch back to the Pabbly tab and check the captured webhook response. Make sure that the Data Session Participants are displayed with the information for your test participant.
- Go to Action settings.
- Search and select Google Sheets.
- As an Action event, select Add new row.
- Click on the Connect button to connect your Google Drive account to Pabbly.
- Create a new connection or select an existing connection from the list. Then click on the Save button.
- For the Select Spreadsheet field, select the spreadsheet where you want to save the participant details.
- For the Select Sheet field, select in what sheet you want to save the participant details.
- Based on the columns added to your spreadsheet, each column will not be displayed in Pabbly as a field to fill out. Select the appropriate Data Session Participants for your columns.
- After mapping the columns and data you want to save from the response, click on Save and Send Test Request button.
- Done. Congratulations! Now every time you end a booking session, the clientβs details will be saved in your spreadsheet.
Ex: If you have a FirstName column in the spreadsheet, you will select for it Data Session Participants User FirstName.
π Save your clients' details automatically in Google Drive with Zapier:
- Go to Zaps Dashboard.
- Create a new Zap.
- Click on Trigger then search and select Sessions app from the list.
- As a trigger Event, select βBooking endedβ then click Continue.
- Select your Sessions account then click Continue. If you donβt have an account, check how to generate a token and connect your Zapier account.
- Select Personal permission then click on Continue.
- Go to the Sessions home page and navigate to the Book me page.
- Book a slot with a test participant on your booking page.
- Start the test booking session, join with the test participant, and end it after a few seconds.
- Switch back to the Zapier browser tab and click on the Test button. Make sure that the Data Recording Download URL field has a value.
- Click on the Continue button.
- Go to Action settings.
- Search and select Google Sheets.
- As an Action event, select Add new row.
- Click on the Connect button to connect your Google Drive account to Zapier.
- Create a new connection or select an existing connection from the list. Then click on the Save button.
- For the Select Spreadsheet field, select the spreadsheet where you want to save the participant details.
- For the Worksheet, select the sheet where you want to save the participant details.
- Based on the columns added to your spreadsheet, each column will not be displayed in Zapier as a field to fill out. Select the appropriate Data Session Participants for your columns.
- After mapping the columns and data you want to save from the response, click on the Save and Send Test Request button.
Ex: If you have a FirstName column in the spreadsheet, you will select Data Session Participants User FirstName.