Calendar & scheduling
Google Calendar setup guide
Read and manage Google calendars. Agents check availability, find events, add holds, schedule meetings with Google Meet links, reply to invitations and keep meetings up to date.
Agents check availability and keep calendars up to date for the people they work with.
Ways to connect
Company admins connect apps, on the Integrations page in Everdeck: open Google Calendar, choose one of the ways below, follow its steps and fill in its fields. Everdeck checks what you enter before it saves anything, and asks you to confirm it’s you (your second factor) before you type any secret. How connecting works.
Google Calendar can be connected 2 ways. Where there’s a key or token to paste, that’s usually the quickest.
Your Google OAuth client
Your OAuth app.
This way signs in with an OAuth app you create for Google Calendar, as its steps describe: Everdeck never uses an app of its own. Register this redirect URI with your app:
https://everdeck.io/api/oauth/callback
Then save the app’s client ID and secret in Everdeck, on the connect page or under OAuth apps, and sign in.
- Open https://console.cloud.google.com, pick or create a project, and enable the Google Calendar API under APIs & Services > Library.
- Open Google Auth Platform > Branding and enter an app name and support email.
- Under Audience choose Internal if every calendar belongs to your Google Workspace domain. Otherwise choose External and publish the app to production: while it stays in Testing, Google expires its tokens after 7 days.
- Under Data Access add the three scopes listed below.
- Under Clients create a client of type Web application and add the authorized redirect URI https://everdeck.io/api/oauth/callback.
- Copy the client ID and client secret into the form, then sign in with the Google account whose calendar the agent should use.
The scopes Everdeck asks for:
https://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/calendar.calendarlist.readonlyhttps://www.googleapis.com/auth/calendar.events.freebusy
When you disconnect, Everdeck asks Google Calendar to revoke the sign-in, then deletes the tokens it saved.
Google Workspace service account (domain-wide delegation)
Service account.
- In https://console.cloud.google.com enable the Google Calendar API, then open IAM & Admin > Service Accounts and create a service account.
- On the service account open Keys > Add key > Create new key > JSON and keep the downloaded file. Note the account's numeric client ID.
- A Google Workspace super administrator opens the Admin console > Security > Access and data control > API controls > Manage Domain Wide Delegation, selects Add new, pastes the client ID and adds the three scopes listed below, separated by commas. It can take up to 24 hours to apply.
- Paste the whole JSON key into the form and enter the Workspace user whose calendar the agent should use.
| Field | What to enter |
|---|---|
| Service account key (JSON) | A secret: Everdeck saves it encrypted and never shows it again. Where to find it. |
| Workspace user the agent acts as | Email address. For example [email protected]. |
The scopes Everdeck asks for:
https://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/calendar.calendarlist.readonlyhttps://www.googleapis.com/auth/calendar.events.freebusy
Disconnecting deletes the credentials Everdeck saved, but Everdeck can't revoke them: the key, token or password itself keeps working at Google Calendar until you delete or rotate it there.
What agents can do
An agent uses an action only when its charter grants it, on the agent’s Tools tab, where you choose whether each one runs by itself (Auto), asks first or never runs. Each action has a risk tier: tier 3 actions, which customers or the public see, ask first unless you choose otherwise, and tier 4 actions (money, deleting things, access) always need a person. How tools and tiers work.
Actions marked Reads outside content return things people outside your company may have written. Agents treat what they read as information, never as instructions, and their riskier actions later in the same session need approval.
-
List calendarsTier 0 · ReadReads outside content
google_calendar_list_calendarsList the calendars this account can see, with each calendar's id, name, time zone and your access role. Use the id with the other calendar tools; "primary" always means the account's main calendar.
-
Find eventsTier 0 · ReadReads outside content
google_calendar_list_eventsList events on a calendar that end after time_min (and start before time_max), soonest first, with recurring events expanded into single occurrences. Add query to search titles, descriptions, locations and guest names or emails. Returns each event's id, title, start, end, status, location, organizer, guests with their replies, and the Meet link.
-
Read an eventTier 0 · ReadReads outside content
google_calendar_get_eventRead one event with its description, guests and their replies, conference links and recurrence rules.
-
Check availabilityTier 0 · ReadReads outside content
google_calendar_find_free_busyReturn the busy time ranges of one or more calendars or people between two times. Use it before proposing or booking a meeting time. A calendar you are not allowed to see comes back with an error for that calendar instead of busy times.
-
Add a private eventTier 2 · ReversibleReads outside content
google_calendar_create_eventAdd an event without guests, such as a focus block, a reminder or a hold. Nobody is invited or emailed. To invite people use create_meeting.
-
Schedule a meetingTier 3 · ExternalReads outside content
google_calendar_create_meetingCreate an event with guests and email them the invitation, with a Google Meet link unless add_meet_link is false. Check availability with find_free_busy first.
-
Update an eventTier 3 · ExternalReads outside content
google_calendar_update_eventChange an event's title, description, location, time or guest list; send only the fields to change. Guests are emailed about the change. attendees replaces the whole guest list, so read the event first and include everyone who should stay invited.
-
Reply to an invitationTier 3 · ExternalReads outside content
google_calendar_respond_to_inviteAccept, decline or tentatively accept an event you were invited to, with an optional note. The organizer sees your reply.
-
Delete an eventTier 4 · Money or irreversibleReads outside content
google_calendar_delete_eventDelete an event. If you organized it and it has guests, they are emailed that it was cancelled.
Testing, problems and disconnecting
Everdeck checks the connection when you save it. On the connection’s page in Integrations, Test checks it again at any time.
If Google Calendar later refuses the connection, for example because a key was deleted or a sign-in expired, the connection shows Needs attention on the Integrations page and the people who manage connections are told. Agents can’t use it until a company admin fixes it with Edit or Reconnect.
To stop agents using Google Calendar, open the connection and select Disconnect. Agents stop using it at once and its saved credentials are deleted. What else happens depends on how it was connected: each way above says.
Still stuck?
Email [email protected] and say what you were trying to do. Or browse every guide.