> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.lido.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Connect Gmail or Outlook

Connect a Gmail or Outlook account to Lido so workflows can send emails (Send Gmail / Send Outlook nodes), trigger on incoming emails (Outlook Trigger), and use email-related formulas (`SENDGMAIL`, `SENDOUTLOOK`, `FORWARDOUTLOOK`, `MOVEOUTLOOKMESSAGE`).

---

## When to connect Gmail vs. Outlook

| You use… | Connect… |
| --- | --- |
| Gmail / Google Workspace | **Gmail** |
| Microsoft 365 / Office 365 / Outlook.com | **Outlook** |
| A personal email service (iCloud, Yahoo, ProtonMail, etc.) | Neither — use the **Lido Mailbox** instead, or `SENDEMAIL` (no credential required) |

You can connect both Gmail and Outlook in the same workspace if different teams use different providers.

---

## Before you start

You need:

- The Gmail or Microsoft account you want to send from / receive to.
- For work accounts: admin approval may be required in your tenant.
- Admin rights to add integrations to your Lido workspace.

---

## Step-by-step: connect Gmail

1. Open workspace settings → **Integrations**.
2. Click **Add Integration → Gmail**.
3. Sign in to the Google account, review the requested scopes (Lido needs send + read for incoming triggers), and approve.
4. The Gmail credential appears in workspace settings and is selectable in **Send Gmail** nodes and `SENDGMAIL` formulas.

---

## Step-by-step: connect Outlook

1. Open workspace settings → **Integrations**.
2. Click **Add Integration → Outlook**.
3. Sign in to the Microsoft account, review scopes, and approve. (Microsoft 365 work accounts may require tenant admin approval.)
4. The Outlook credential appears and is selectable in **Send Outlook**, **Outlook Trigger**, and Outlook formulas (`SENDOUTLOOK`, `FORWARDOUTLOOK`, `MOVEOUTLOOKMESSAGE`).

---

## Sending emails: workflow node vs. formula

| Where the work happens | Use… |
| --- | --- |
| Inside a workflow | **Send Gmail** or **Send Outlook** node |
| Inside a spreadsheet (per-row, on demand or on schedule) | `=SENDGMAIL(...)` or `=SENDOUTLOOK(...)` formula |
| One-off, no credential available | `=SENDEMAIL(...)` (built-in service, no credential required) |

The node and the formula take the same parameters. Pick based on where the rest of your work lives. See **Send extracted data to email or Slack** for usage patterns.

---

## Receiving emails: trigger options

| You want to… | Use… |
| --- | --- |
| Trigger when emails arrive in your real Outlook inbox | **Outlook Trigger** |
| Trigger when emails arrive at a Lido-hosted address (no Outlook needed) | **Lido Mailbox Trigger** |
| Trigger when emails arrive in Gmail | Use **Lido Mailbox Trigger** with email forwarding from Gmail |

Note: Gmail-direct triggering is not currently a built-in node. The standard workaround is to forward Gmail incoming mail (or a filtered subset) to a Lido Mailbox address.

---

## What goes in the Send node parameters

| Parameter | What to put in it |
| --- | --- |
| `credential` | The Gmail or Outlook credential ID (auto-filled when you pick the credential) |
| `recipient` | One or more email addresses; use expressions like `{{$item.data.email}}` for per-item recipients |
| `subject` | Subject line; supports expressions |
| `body` | Body text; supports HTML and expressions |
| `cc` / `bcc` | Optional carbon copy / blind carbon copy recipients |
| `file_url` | URL of a file to attach (e.g., `{{$item.data.file.url}}`) |
| `attachment_files` | Multiple files to attach |
| `status_ref` | Cell reference to write send status (formulas only) |
| `signature_id` | Email signature to use |
| `in_reply_to` | Message ID to reply to (for threading) |
| `reply_to` | Reply-to address |

---

## Tips

- **Send to yourself first** before sending to customers. Confirm formatting, attachments, and that expressions resolved correctly.
- **Use HTML for tables and links.** Plain text is fine for simple notifications.
- **Use signatures.** Connect your email signature in workspace settings; reference it via `signature_id` so all sent mail looks consistent.
- **Watch your provider's daily send limits.** Gmail and Outlook both throttle. For high-volume sending, use a transactional email API (like SendGrid) via the API Request node.
- **For replies:** set `in_reply_to` to the original message ID so the email threads correctly in the recipient's client.

---

## Common mistakes

- **Sending from a personal account at production volume.** Hits limits, lands in spam.
- **Forgetting to handle the Send node's error output.** A failed email is much worse than an obvious one.
- **Hardcoding recipients.** Use a column or workspace setting so you can change recipients without editing the workflow.
- **HTML body with raw `{{$item.data...}}` because the parameter is in literal mode.** Toggle to expression mode.
- **No `status_ref` on bulk sends.** You won't know which sends succeeded until you have a complaint.
- **Tenant admin hasn't approved Lido for Outlook.** OAuth fails partway through; talk to IT.

---

## Disconnecting

Open workspace settings → Integrations → find the Gmail/Outlook credential → **Remove**. Workflows and formulas using the credential will fail until you reconnect or point them elsewhere.

---

## Related articles

- Send extracted data to email or Slack
- Triggers: how workflows start (Outlook Trigger, Lido Mailbox Trigger)
- Lido Mailbox (Wave 2)
- Build your first workflow
- Actions: how spreadsheet automation works