Connecting your inbox
Last updated: 25 April 2026
Tendo sends approved replies from your inbox — never a Tendo-branded address. You connect once during setup; from then on every approved reply ships from your address with your domain reputation. This page covers the three connection options.
Which to pick
- Gmail / Google Workspace — easiest if you run on Google. OAuth, no passwords. Recommended.
- Microsoft 365 / Outlook — easiest if you run on Microsoft. OAuth, multi-tenant.
- SMTP — for Fastmail, Zoho, ProtonMail Bridge, custom mail servers, or Workspace accounts whose admin policy blocks OAuth. Requires a username + password (often an "app password" — see below).
Gmail / Google Workspace
- Open Tendo in your Shopify admin → Email in the left nav.
- Click Connect Gmail. A new tab opens with Google's consent screen.
-
Sign in with the Google account you want to send from.
Approve the requested scopes:
-
gmail.send— send mail. We never read your inbox. -
gmail.metadata— read message headers (only) of mail Tendo just sent, so customer replies thread correctly. -
email,openid— confirm which address you authorized.
-
- You'll land on a Tendo confirmation page. Click{" "} Return to Tendo — the Email settings page will now show "Connected — sending from you@yourstore.com".
If your Workspace admin blocks third-party OAuth: ask them to allowlist Tendo, or use the SMTP option below with an app-password.
Microsoft 365 / Outlook
- Open Email in Tendo, click{" "} Connect Microsoft 365.
- Sign in with the Microsoft account you want to send from (work, school, or personal Outlook all work).
-
Approve the requested scopes:
Mail.Send— send mail. We never read your inbox.-
offline_access— refresh tokens so we don't prompt you to re-auth every hour.
- If your tenant requires admin consent, Microsoft will route you through that flow automatically.
SMTP
Use this for Fastmail, Zoho, ProtonMail Bridge, custom mail servers, or Google Workspace / M365 setups where OAuth isn't an option. Tendo verifies your credentials against the SMTP server before saving — if the credentials are wrong, the save fails immediately rather than at send time.
- Open Email in Tendo, click{" "} Set up SMTP.
-
Fill in the form using your provider's SMTP settings:
-
Host — usually{" "}
smtp.your-provider.com. - Port — 587 for STARTTLS (most common) or 465 for implicit TLS. Tick "Use implicit TLS" only for port 465.
- Username — usually your full email address.
- Password — your account password,{" "} or an app-specific password if your provider requires one.
- From address — the address customers will see in the From: header. Must match what your SMTP provider allows you to send as.
-
Host — usually{" "}
- Click Verify and save. Tendo opens an SMTP connection, tries to authenticate, then closes it. Bad credentials show a clear error so you know to fix them before any real mail is queued.
App-password notes
- Gmail — generate at{" "} myaccount.google.com/apppasswords . Requires 2FA enabled on the account. Some Workspace accounts disable this entirely; use OAuth instead.
- iCloud / Apple Mail — generate at{" "} account.apple.com{" "} → Sign-In and Security → App-Specific Passwords.
- Yahoo — Account Security → Generate app-password.
- Most other providers — search "[provider] app password" and paste here.
Disconnecting
Open Email in Tendo and click{" "} Disconnect. We revoke OAuth tokens at the provider where possible (Gmail), then delete our local copy. Approved-but-not-yet-sent drafts remain queued; they'll deliver once you reconnect.
What customers see
Outbound replies show:
- From: your connected address — you@yourstore.com.
- Reply-To: a per-store Tendo inbound address. When the customer hits Reply, their mail client targets that address; the reply lands in Postmark and threads back to the same Tendo ticket. Customers never see anything Tendo-branded in their primary view.
-
Subject:
Re: original subject.
Troubleshooting
- "Email authorization expired" banner — your provider revoked the token. Disconnect + reconnect from the Email page.
- "No sending address connected" on a ticket{" "} — the inbox was disconnected after the draft was created. Reconnect, then click Retry send on the failed action.
- Reply landing as a new ticket instead of threading{" "} — if you're on Gmail and have an old connection, disconnect and reconnect to grant the gmail.metadata scope (added April 2026). Threading via subject-fallback handles older connections, but the canonical path is more reliable.