Google Calendar
The Google Calendar integration enables your AI Employee to automatically schedule meetings with customers during real-time conversations.
Note
You do not connect a personal/business Google account. Newo.ai uses its own Google Calendar API account to create events and then assigns participants (including the business manager) to each meeting.
This integration cannot check available slots, it can only schedule a meeting at the time requested by a user.
If the manager’s email (from the attribute project_business_manager_email) belongs to a valid Google account, the event will appear automatically in the calendar. If it is not a Google account, the invitation will arrive by email and can be added manually.
Verify the manager’s email
In the Portal, navigate to Settings.
Confirm the Email to Manager - Email Address attribute (
project_business_manager_email) is set to the address that should receive calendar invitations. This address is automatically included as the organizer in scheduled events.
Enable the Google Calendar integration
In the Portal, navigate to Settings.
Search for the Appointment - Calendar Event Integration (
project_attributes_setting_calendar_event_integration) attribute.Ensure the dropdown value is set to google_integration.
Click Save and Apply if changes were made.
Trigger the Google Calendar integration
For an AI Employee to trigger the Google Calendar integration, all that is required is a user's email, a date/time, and for the AI Employee to state explicitly that it will set up an appointment/booking.
For example, on the Widgets page, the following Intent Type library item identifies when a user is requesting an appointment:
## **[L] Closing via Appointment**The user shows a clear intent to purchase a specific product, interested in a Demo, talking to a human expert or is ready to take the next step and schedule a meeting with a consultant. ConvoAgent starts the scenario: **"Appointment Setting via Calendar Invite"**
The Appointment Setting via Calendar Invite scenario library item is then started (see Full scenario template). This scenario gathers the following information from the user:
Phone number
Email address
Full name
Date and time of requested appointment
Once this information has been confirmed, the scenario says the code phrase "I will send the calendar invite right now." Example scenario step:
### **Step 3.7:** **CRITICAL STEP!!!** Say the **code-phrase**: "Fantastic! I will send the calendar invite right now. Give me a moment...". You must remain on this step until you receive the result of the meeting creation.
The AI Employee will monitor the progress of the appointment setting request and inform the user when it is successful.
Additional attribute settings
The following attributes can be adjusted if needed (available in the Builder only; toggle Show Hidden on the Attributes page):
Appointment - Google Calendar Meeting - Duration: The duration (in minutes) of the events created by the AI Employee.
Appointment - Google Calendar Meeting - Setup Phrase: Specify the phrase the AI Employee needs to say to schedule a meeting in the calendar.
Appointment - Google Calendar Meeting - Working Hours Validation - Enabled: If you want the AI Employee to validate the requested timeslot to be within the working hours, set this attribute to
True. Otherwise, set it toFalse.
Test the Integration
Assuming you have set up the correct Intent Type and Scenario (as described above), follow the steps below to test the integration:
Initiate a voice or chat conversation with your AI Employee.
Ask to schedule a meeting (e.g., “Can we book a demo tomorrow at 10 AM?”).
Confirm that the AI Employee collects the required information:
After the AI Employee confirms the appointment, check:
The manager’s inbox for a Google Calendar invite.
The customer’s inbox for a matching invite.
The manager’s Google Calendar (if the address is a Google account, the event will typically appear automatically).
Full scenario template
If your AI Employee industry doesn't contain the Appointment Setting via Calendar Invite scenario library item, create a new scenario with the following template:
Title:
## **Scenario 3:** "Appointment Setting via Calendar Invite"
Body:
### **Step 3.1:** **CRITICAL STEP!!!** Ask to provide phone number or reconfirm if it's detected by following **Reconfirming or Gathering Phone Number** procedure.### **Step 3.2:** **CRITICAL STEP!!!** If the User's Email Address is not known get it by following the **Reconfirming or Gathering Email Address** procedure. If the User's Email Address is known proceed to the next step.### **Step 3.4:** If the User's Full Name is not known get it by following the **Reconfirming or Gathering User Name** procedure. If the User's Full Name are known proceed to the next step.### **Step 3.5:** **CRITICAL STEP!!!** Say the **code-phrase**: "Will [mention the nearest upcoming working date and time, excluding today, according to <WorkingSchedule>]+[mention the time zone according to `conversation.timezone` specified in <ConversationMeta>] work for you?". Then get User's Preferred Date and Time: follow **Gathering Preferred Date and Time** procedure.### **Step 3.6:** **CRITICAL STEP!!!** Reconfirm the details as follows - e.g.: "Ok! Just to summarize: You would like to schedule a meeting on [user-preferred date], at [mention user-preferred time and the time zone 'conversation.timezone' ex: "Pacific Time", "Central European Time"]. Is that correct?".### **Step 3.7:** **CRITICAL STEP!!!** Say the **code-phrase**: "Fantastic! I will send the calendar invite right now. Give me a moment...". You must remain on this step until you receive the result of the meeting creation.### **Step 3.8:** If you see in the `<ActionsStates>` section that the meeting was successfully scheduled, say that we're looking forward to the meeting. If the meeting could not be scheduled, say that due to technical reasons it wasn't possible to book it right now, but our team will follow up with you shortly.### **Step 3.9:** - **If you see in the `<ActionsStates>` section that the meeting is successfully created**, express excitement about the upcoming meeting. [[project_attributes_sales_after_appointment_notes]]- **If you see in the `<ActionsStates>` section that the meeting creation fails:**, apologize, inform the User that due to technical issues, the meeting could not be created and one of the colleagues will follow up with the User as soon as possible.### **Step 3.10:** Follow **Finish Conversation** scenario.
