These connections need no code. Someone in your firm signs in to the other service from Integrations, External systems, Connect, and approves access. This page is for whoever looks after those accounts and wants to know exactly what is granted and what goes across. The dashboard help article External systems covers the clicks.
Each connection is made by one person signing in, and uses that person's access. If they leave, or lose access to the calendar, sheet or ad account, connect again as someone else. Disconnecting is Revoke on the connection's page, and you can also remove Subcontext's access from the Google or Meta account's own security settings at any time.
Google Calendar#
What it does: agents check your free time and book appointments into the calendar during a conversation, and can move or cancel them.
What you grant when you sign in with Google:
| Permission | Why |
|---|---|
See your free and busy times (calendar.freebusy) |
To offer only free slots. Subcontext doesn't read the details of your other events. |
See the list of your calendars (calendar.calendarlist.readonly) |
So the connection's settings can offer your calendars to choose from. |
Add, change and delete events (calendar.events) |
To book, move and cancel appointments. This is the wider of Google's two event permissions because people often book into shared calendars they don't own. |
Your Google account's email address (openid, email) |
To show which account the connection uses. |
What's sent: each booking is a calendar event with a title and description, the start and end time, and the customer as a guest when their email address is known (Google then sends them an invitation). It can include a Google Meet link. A retried booking never creates a second event.
On your side: the account that signs in needs permission to make changes to the calendar you choose (its own calendar, or a shared one). Pick the calendar under Configure; it uses the account's main calendar until you do.
Google Sheets#
What it does: adds a row to a spreadsheet for each booking, or for lead events, from a workflow's Add a row to a spreadsheet action. Available on every plan.
What you grant: Google's narrowest Drive permission (drive.file), plus
your account's email address. It only reaches the spreadsheets you pick with
Choose from Google Drive on the connection, or that Subcontext creates for
you with Create spreadsheet. Subcontext can't see anything else in your
Drive.
What's sent: a header row the first time, then one row per event. The columns for workflow rows are:
Recorded at | Event | Name | Email | Phone | Stage | Status | Score | Campaign | Details | External system ID
Details is the event's own details as JSON. With Keep one row per person up to date ticked, the person's existing row (found by phone number) is rewritten instead of adding a new one.
Rows are entered as if typed, so dates and numbers become the sheet's own
dates and numbers. A value that would start a formula (one beginning =, +,
- or @, such as a name typed into a web form as =HYPERLINK(...)) is
written as plain text instead, with a hidden leading '. Plain numbers such as
-12.5 stay numbers.
Booking rows have these columns:
Recorded at | Event | Date | Start | End | Topic | Name | Email | Phone | Status | Notes | Diary
and there's a new row each time a booking is made, moved, changed or cancelled. Bookings are only added to the sheets ticked on the agent's booking tool.
On your side: don't reorder or delete the columns Subcontext writes. If you want other columns, add them on the right, or work from a second tab that reads this one. To change spreadsheet or tab, pick it again on the connection. Subcontext writes a new header row there.
Google Ads#
What it does: sends conversions (leads, bookings, sales, and any outcome you choose) back to Google Ads against the click the person arrived on, and reads each campaign's daily spend so campaign costs and profit are filled in. See Outcomes to ad platforms for exactly what's sent.
What you grant: the Google Ads permission (adwords), plus your account's
email address.
On your side:
- The person who signs in needs access to the ad account, directly or through a manager account. Choose the ad account under Configure (and the manager account, if access is through one).
- For each step you want sent, create a conversion action in Google Ads with the source Import from clicks (it must be enabled), then choose it for that step on the connection. Mark the steps you don't bid on as secondary in Google Ads.
- Turn on auto-tagging in Google Ads, so each click carries a
gclidfor Subcontext to capture.
Meta (Facebook and Instagram) ads#
What it does: sends conversions to your Meta Pixel through Meta's Conversions API, and reads each campaign's daily spend.
What you grant when you sign in with Facebook:
| Permission | Why |
|---|---|
ads_read |
To read campaign spend. |
ads_management |
To list your ad accounts and pixels, and send conversions to the pixel. |
business_management |
To reach ad accounts and pixels that belong to a Business Manager. |
On your side: the person who signs in needs access to the ad account and its pixel. Choose both under Configure, and switch on each step you want sent. Meta's sign-in lasts about 60 days and doesn't renew itself. Your owners and managers are told before it runs out, and connecting again renews it. If it stops working early (it expired, the password was changed, or the app was removed from the account), Meta reports it and the connection is marked as needing to be connected again, with your managers told.
Webhook endpoint#
The Webhook endpoint connection sends signed JSON to an address of yours. It's described in Webhooks Subcontext sends.