Google (Gmail + Calendar)

Connect a personal Google account to use Gmail and Google Calendar from your flows. One connection covers both APIs — Fainflow exchanges tokens once during sign-in and uses them on every flow run.


What you can do

After connecting, your flows can:

  • Send email via Gmail on your behalf.
  • Trigger a flow on a new email — the bot reads message metadata (subject, sender, snippet) only, not the body.
  • Create / read Calendar events on your primary calendar.

You can also scope down what a single connection is allowed to do: at the moment of connecting Fainflow asks Google only for the permissions you actually need (see below).


Setup (5 steps)

New Connection — Google

1
2
3
4
5
1Pick permissions

Inside Fainflow: choose what this connection is allowed to do.

Send email
Calendar events

Uncheck any capability to skip the corresponding scope.

2Pick Google account

Google: pick which Google account you want to grant access from. You can also use "Other account" to sign in with a different one.

3App-not-verified warning (Testing mode)

Google: while Fainflow is in OAuth Testing mode you'll see an "App not verified" screen. Click Continue / Advanced — this disappears after Google verification.

Test users registered in the OAuth consent screen pass through. Everyone else is blocked.

4Approve permissions

Google: review the exact list of scopes Fainflow is asking for and click Continue.

5Done — back in Fainflow

You land on a confirmation page inside Fainflow with the connected account email, the capabilities granted, and shortcuts to Connections / Flows.

From here the connection appears in your Connections list and is ready to use in flows.

Step 1 — Connect

  1. In the dashboard open Connections → + New Connection → choose Google.
  2. The wizard shows three checkboxes — pick what this connection should be allowed to do:
    • Send email — required for the Send Email action.
    • Receive new email events — required for the New Email trigger.
    • Manage Calendar events — required for any Calendar action.
  3. Click Continue with Google → you are redirected to Google's consent screen.
  4. Pick the Google account you want to connect, review the permissions, click Allow.
  5. Google sends you back to Fainflow, the connection is created and you see the card with your account email and the granted permissions.

💡 One connection per Google account. If you have multiple Google accounts (e.g. personal + work) — connect each one as a separate Fainflow connection. They live independently with their own tokens.

Step 2 — Use in a flow

Each Google action / event template appears in the flow editor under the Google category once you have at least one Google connection.

Pick a connection in the action card — Fainflow uses that account's tokens for the API call. If a flow uses a connection that doesn't have the required permission (e.g. the action is Send Email but you unchecked Send email in the wizard), the run fails with a clear error in History — open the connection card and click Reconnect Google with the missing permission re-checked.

Limiting access — granular permissions

Fainflow asks Google for only the OAuth scopes the user toggled on. The trade-off:

ScopeWhat it allowsGranted when
gmail.sendSend emails as you"Send email" is checked
gmail.metadataRead message subject / sender / snippet — not the body"Receive new email events" is checked
calendar.eventsCreate / read / update / delete events on the primary calendar"Manage Calendar events" is checked
openid email profileIdentify the connected accountalways

Notably, Fainflow never asks for full Gmail body access (gmail.readonly). Body content stays on Google's side.

What's stored on Fainflow's side

Per connection, in your account only:

  • The connected Google account email + display name (just for the connection card label).
  • An OAuth refresh_token — long-lived credential that lets Fainflow refresh API access tokens without bothering you again.
  • A short-lived access_token (~1 hour) — refreshed automatically when needed.
  • The list of scopes Google actually granted.

You can revoke this access at any time from Google: Google Account → Security → Third-party apps with account access → Fainflow → Remove Access. The next API call from Fainflow will fail and the connection card flips to error with a Reconnect button.

Troubleshooting

SymptomCause / Fix
"App not verified" warning on the consent screenFainflow's OAuth app is in Testing mode while we build the integration. Internal test users (you and the team) are pre-approved — click Continue through the warning. After Google verification this disappears.
Connection switched to error after a few days of not using itRefresh token from Testing-mode apps is invalidated after 7 days of inactivity. Click Reconnect Google to fix it.
Flow run fails: "missing scope" / 403The connection wasn't authorized for that capability. Reconnect the connection and re-check the missing checkbox in the wizard.
Wrong Google account connectedClick Reconnect Google on the card and pick the correct account. The old refresh token is replaced.

Privacy

  • Fainflow only ever accesses what you explicitly grant.
  • Email body is not requested or stored.
  • Tokens live only in your Fainflow account's database. Other users cannot read them.
  • Connection can be removed in one click from the connections list — Fainflow also revokes the refresh token from Google when you do so.