# Google Calendar

### Step 1: Create an event

For the chatbot to be able to book events on your calendar, you need to create an event.&#x20;

To do this, click the "+Create event" button, give it an event name, and choose the teammates/team whose availability needs to be shown.&#x20;

{% hint style="info" %}
When an event is booked, the availability of all user's calendars will be shown to the visitor. And when an event is booked, it is only with one user based on whose schedule was available.&#x20;
{% endhint %}

{% hint style="warning" %}
You will only be able to see the users and teams who have connected their Google calendars. To connect your calendar, go to Settings > Calendar > Connect Google Calendar
{% endhint %}

### Step 2: Configure the general configurations for your event

After creating your event, customize the configurations of your event. The following options can be customized,

<table><thead><tr><th width="227">Configurations</th><th>Description</th></tr></thead><tbody><tr><td>Slot duration</td><td>Length of the event. From 5 mins to 120 mins</td></tr><tr><td>Buffer time</td><td>Gap that will always be maintained between two events booked from the chatbot. From 5 mins to 120 mins.</td></tr><tr><td>Notice time</td><td>Meetings will only be booked X minutes in advance.  </td></tr><tr><td>Limit future bookings</td><td>The calendar will only show these many days in the future. Also, you can choose to show weekends or only business days.</td></tr></tbody></table>

<figure><img src="https://2580337444-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsrMxU8nO3RjusUiYuXBB%2Fuploads%2FazDhGmBBYgfwopYgPEbX%2FCleanShot%202023-10-09%20at%2016.31.41.png?alt=media&#x26;token=b13ee428-4c77-4d1e-825a-af2c2eb43642" alt=""><figcaption><p>Configurations for an event</p></figcaption></figure>

### Step 3: Define the copy for your event&#x20;

Once the meeting is booked, a calendar event will be sent to the attendee and the host. You can define the copy of that meeting here.

<figure><img src="https://2580337444-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsrMxU8nO3RjusUiYuXBB%2Fuploads%2FqNqQV3EIn2eWmfHiFZPY%2FCleanShot%202023-10-09%20at%2016.43.25.png?alt=media&#x26;token=d74adcfb-2348-460f-bd29-587994e5ec73" alt=""><figcaption><p>Defining copy for the event</p></figcaption></figure>

<table><thead><tr><th width="248">Configuration</th><th>Description</th></tr></thead><tbody><tr><td>Subject</td><td>Subject of the meeting invite sent to the attendee. You can  use variables to personalize the event name like "Meeting with #name#" </td></tr><tr><td>Description</td><td>Define the description in the field, providing little more information about what the scheduled meeting is about. <br></td></tr><tr><td>Location</td><td>Usually used to share the place of meeting. There is an option to enable Google Meet link, if not selected, you can type in your location manually. </td></tr></tbody></table>

### Step 4: Collect contact details to book the meeting

To book the event, it is mandatory to collect the name and email of the attendee.

You can customize this form to include other fields by creating new fields.&#x20;

Also, you can enable the "Skip form" configuration which will automatically skip this screen if data is available in the variables defined.&#x20;

As users who speak with your bot may have previously provided their contact details, the chatbot will smartly skip asking for the details again if it already knows the answer.&#x20;

<figure><img src="https://2580337444-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsrMxU8nO3RjusUiYuXBB%2Fuploads%2Fvyk7rQVvPDdkep5L9EII%2FCleanShot%202023-10-09%20at%2016.42.52.png?alt=media&#x26;token=fdafeaaf-8c3f-49a7-bbd6-71e709f4a519" alt=""><figcaption><p>Contact details</p></figcaption></figure>

### Step 5: Define the message copy (If used on WhatsApp / SMS channel)

If you are using Google Calendar on WhatsApp or SMS, you can change the copy of the message used in collecting the date and timeslot.

Copy that can be changed:

<table><thead><tr><th width="157">Type<select><option value="6654e5f0cfe444058ce6147f8e354b08" label="Date selection" color="blue"></option><option value="ee8a587b63964216bd594fd3e6999ba2" label="Timeslot selection" color="blue"></option><option value="0687a69c12684b04a6b030cf0409b507" label="Confirmation" color="blue"></option></select></th><th width="146">Field</th><th>Description</th></tr></thead><tbody><tr><td><span data-option="6654e5f0cfe444058ce6147f8e354b08">Date selection</span></td><td>Question</td><td>Question asked while showing the list of dates</td></tr><tr><td><span data-option="6654e5f0cfe444058ce6147f8e354b08">Date selection</span></td><td>Button text</td><td>On WA, clicking on this button will show the list of dates in a drawer.</td></tr><tr><td><span data-option="6654e5f0cfe444058ce6147f8e354b08">Date selection</span></td><td>Error message</td><td>Error message when a invalid selection is made</td></tr><tr><td><span data-option="ee8a587b63964216bd594fd3e6999ba2">Timeslot selection</span></td><td>Question</td><td>Question asked while showing the list of timeslots</td></tr><tr><td><span data-option="ee8a587b63964216bd594fd3e6999ba2">Timeslot selection</span></td><td>Button text</td><td>On WA, clicking on this button will show the list of timeslot in a drawer.</td></tr><tr><td><span data-option="ee8a587b63964216bd594fd3e6999ba2">Timeslot selection</span></td><td>Error message</td><td>Error message when a invalid selection is made</td></tr><tr><td><span data-option="0687a69c12684b04a6b030cf0409b507">Confirmation</span></td><td>Confirmation message</td><td>Message sent once meeting is booked. </td></tr></tbody></table>

You can use the following system variables to post the booked date and time in the message:

* gcal\_selected\_slot\_time
* gcal\_selected\_slot\_date
* gcal\_selected\_slot\_day

{% hint style="info" %}
Click 'Save' on every section of the action panel to save your changes for that event.&#x20;
{% endhint %}

{% hint style="warning" %}
Choosing a different event from the event dropdown will show its configurations.&#x20;
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.swiftsell.biz/integrations/google-calendar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
