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
Inside Fainflow: choose what this connection is allowed to do.
Uncheck any capability to skip the corresponding scope.
Google: pick which Google account you want to grant access from. You can also use "Other account" to sign in with a different one.
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.
Google: review the exact list of scopes Fainflow is asking for and click Continue.
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
- In the dashboard open Connections → + New Connection → choose Google.
- 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.
- Click Continue with Google → you are redirected to Google's consent screen.
- Pick the Google account you want to connect, review the permissions, click Allow.
- 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:
| Scope | What it allows | Granted when |
|---|---|---|
gmail.send | Send emails as you | "Send email" is checked |
gmail.metadata | Read message subject / sender / snippet — not the body | "Receive new email events" is checked |
calendar.events | Create / read / update / delete events on the primary calendar | "Manage Calendar events" is checked |
openid email profile | Identify the connected account | always |
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
| Symptom | Cause / Fix |
|---|---|
| "App not verified" warning on the consent screen | Fainflow'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 it | Refresh token from Testing-mode apps is invalidated after 7 days of inactivity. Click Reconnect Google to fix it. |
| Flow run fails: "missing scope" / 403 | The connection wasn't authorized for that capability. Reconnect the connection and re-check the missing checkbox in the wizard. |
| Wrong Google account connected | Click 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.