Google Calendar
Create events, check availability, and manage your Google Calendar.
On this page
Connect
Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.
Scopes requested: https://www.googleapis.com/auth/calendar.events
OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("google_calendar", "delete_event", {
"calendar_id": "<calendar_id>",
"eventId": "<event id>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Google Calendar answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "google-calendar-delete-event",
name: "Google Calendar: Delete Event",
description: "Calls Google Calendar when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("google_calendar", {
"action": "delete_event",
"calendar_id": "<calendar_id>",
"eventId": "<event id>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/google_calendar/delete_event" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"calendar_id":"<calendar_id>","eventId":"<event id>"}}'Actions
delete_eventin catalog
Delete Event. Deletes an event from Google Calendar.
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
eventIdrequired | text | Event ID |
update_eventin catalog
Update Event. Updates an event in Google Calendar.
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
eventIdrequired | text | Event ID |
titleoptional | text | Title of the event |
start_date_timeoptional | date-time (ISO) | Start date time of the event |
end_date_timeoptional | date-time (ISO) | End date time of the event |
locationoptional | text | Location |
descriptionoptional | long text | Description of the event. You can use HTML tags here. |
colorIdoptional | id (picked from your account) | Color |
attendeesoptional | array | Emails of the attendees (guests) |
guests_can_modifyoptional | boolean | Guests can modify |
guests_can_invite_othersoptional | boolean | Guests can invite others |
guests_can_see_other_guestsoptional | boolean | Guests can see other guests |
create_google_calendar_event
Create Event. Add Event
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
titlerequired | text | Title of the event |
start_date_timerequired | date-time (ISO) | Start date time of the event |
end_date_timeoptional | date-time (ISO) | By default it'll be 30 min post start time |
locationoptional | text | Location |
descriptionoptional | long text | Description of the event. You can use HTML tags here. |
colorIdoptional | id (picked from your account) | Color |
attendeesoptional | array | Emails of the attendees (guests) |
guests_can_modifyoptional | boolean | Guests can modify |
guests_can_invite_othersoptional | boolean | Guests can invite others |
guests_can_see_other_guestsoptional | boolean | Guests can see other guests |
send_notificationsrequired | one of "all" | "externalOnly" | "none" | Send Notifications |
create_meet_linkoptional | boolean | Automatically create a Google Meet video conference link for this event |
create_quick_event
Create Quick Event. Add Quick Calendar Event
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
textrequired | long text | The text describing the event to be created |
send_updatesoptional | one of "all" | "externalOnly" | "none" | Guests who should receive notifications about the creation of the new event. |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
google_calendar_find_busy_free_periods
Find Busy/Free Periods in Calendar. Finds free/busy calendar details from Google Calendar.
| Input | Type | Description |
|---|---|---|
calendar_idsrequired | ids (picked from your account) | Select the calendars to check for busy periods. |
start_daterequired | date-time (ISO) | The start of the time range to check. |
end_daterequired | date-time (ISO) | The end of the time range to check. |
google_calendar_get_event_by_id
Get Event by ID. Fetch event details by its unique ID from Google Calendar.
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
event_idrequired | text | The unique ID of the event (e.g., "abc123def456"). You can find this in the event URL or from other calendar actions. |
max_attendeesoptional | number | Maximum number of attendees to include in the response. If there are more attendees, only the participant is returned. |
time_zoneoptional | text | Time zone for the response (e.g., "America/New_York", "Europe/London"). Defaults to the calendar's time zone if not specified. |
google_calendar_get_events
Get all Events. Get Events
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
event_typesrequired | list of | Select event types |
searchoptional | text | Search Term |
start_dateoptional | date-time (ISO) | Date from |
end_dateoptional | date-time (ISO) | Date to |
singleEventsrequired | boolean | Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. |
google-calendar-add-attendees
Add Attendees to Event. Add one or more person to existing event.
| Input | Type | Description |
|---|---|---|
calendar_idrequired | id (picked from your account) | Calendar |
eventIdrequired | text | Event ID |
attendeesrequired | array | Emails of the attendees (guests) |
Details
- Id
google_calendar- Category
- Productivity
- Tags
- google, calendar, events, scheduling
- Package
@activepieces/piece-google-calendar@0.9.0- Tier
- Built in