connector-googlemail
Build Gmail Connections for Caffeine Apps
Gmail integrations require careful OAuth, token storage, and callback handling. This skill provides a complete Motoko and frontend recipe for connecting accounts and sending email.
Stop for confirmation before installing.
Review the plan and obtain explicit user consent before changing files.
Install with my Agent
Copy this request to your Agent. It includes the canonical Skill page and manifest.
Review the Skillstore skill "connector-googlemail" from https://skillstore.io/skills/caffeinelabs-connector-googlemail.md and its manifest at https://skillstore.io/api/skills/caffeinelabs-connector-googlemail/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.Your Agent should still show its plan and request any confirmation required by the security policy.
Agent-readable resources
Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.
Test it
Using "connector-googlemail". Build a send-only Gmail connector for signed-in users.
Expected outcome:
- Dependencies use the documented Gmail, OAuth, and authorization package versions.
- Each user completes a PKCE flow and receives caller-keyed backend token storage.
- The send operation uses the Gmail send scope and one refresh attempt after HTTP 401.
- The frontend includes reachable settings and callback routes.
Using "connector-googlemail". Combine Gmail sending with Google Calendar access.
Expected outcome:
- One admin credential set serves both Google services.
- One callback exchanges the authorization code for a shared per-user connection.
- The consent request contains the union of required Gmail and Calendar scopes.
- Each API creates its own non-replicated client configuration from the shared token.
Security Audit
High RiskAll 255 static findings are false positives caused by Markdown backticks, documented Google and Mops URLs, fixed relative links/imports, ellipses, and Gmail or OIDC terminology. Semantic review found unvalidated RFC 5322 headers and a disconnect flow that deletes local state without revoking Google's refresh token.
Confirmed security concerns (2)
Risk Factors
⚙️ External commands (50)
🌐 Network access (20)
📁 Filesystem access (8)
Share & cite this report
Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.
Copy report link
https://skillstore.io/skills/caffeinelabs-connector-googlemail/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown badge
[](https://skillstore.io/skills/caffeinelabs-connector-googlemail?utm_source=security_passport_badge)HTML badge
<a href="https://skillstore.io/skills/caffeinelabs-connector-googlemail?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/caffeinelabs-connector-googlemail/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Embed card
<iframe src="https://skillstore.io/embed/skills/caffeinelabs-connector-googlemail.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Academic citations (APA · BibTeX · CFF)
APA citation
caffeinelabs. (2026). connector-googlemail security audit report (audit version 1) [Author version 0.2.3]. Skillstore. https://skillstore.io/skills/caffeinelabs-connector-googlemail/audits/1BibTeX citation
@techreport{caffeinelabs-caffeinelabs-connector-googlemail-2026,
author = {caffeinelabs},
title = {connector-googlemail security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/caffeinelabs-connector-googlemail/audits/1},
note = {Author version 0.2.3}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "connector-googlemail security audit report (audit version 1)"
version: "0.2.3"
type: report
authors:
- name: "caffeinelabs"
date-released: "2026-07-23"
url: "https://skillstore.io/skills/caffeinelabs-connector-googlemail/audits/1"
identifiers:
- type: other
value: "skillstore:caffeinelabs-connector-googlemail:audit:1"
description: "Skillstore immutable audit report identifier"
Skillstore Score
Why this score Evidence Confidence: MediumWhat You Can Build
Add Gmail Sending
Implement authenticated email sending from each user's Gmail account with minimal scopes and automatic token refresh.
Build OAuth Screens
Create reachable credential settings and callback routes that preserve OAuth state and wait for actor readiness.
Combine Google Services
Share one OAuth connection, credential set, and union scope across Gmail and Google Calendar features.
Try These Prompts
Build a send-only Gmail connector for my Caffeine app. Use the documented Mops versions, per-user PKCE, and the smallest required scopes.
Add admin Gmail settings and a real /connect/gmail callback route. Show the exact redirect URI and wait for authenticated actor readiness.
Extend the connector to list Gmail messages. Request gmail.readonly only for reading, preserve non-replicated calls, and retry once after a 401.
Create one shared Google OAuth flow for Gmail and Calendar. Use union scopes, one connection map, and separate non-replicated client configurations.
Best Practices
- Request only the Gmail scopes required by implemented operations.
- Keep client secrets and bearer tokens in the canister behind caller and admin checks.
- Use one exact callback URI, generate state on the backend, and validate it before token exchange.
Avoid
- Do not hand-roll Google HTTP requests when the documented OAuth and Gmail packages provide the operation.
- Do not return client secrets, access tokens, refresh tokens, or complete connection records to the frontend.
- Do not create separate OAuth flows for Gmail and Calendar when both use the same Google account.
Frequently Asked Questions
Which applications does this skill support?
Whose address sends the email?
Which scopes are required for sending?
Can the frontend access OAuth tokens?
Does disconnect revoke Google access?
How should Gmail and Calendar share OAuth?
Developer Details
Author
caffeinelabsLicense
MIT
Author version
v0.2.3
Skillstore revision
r1
Ref
f32f934280aa94e399d875d7cf7b2ed16d1b82a3
Maintenance freshness
7/23/2026
Usage
0 downloads · 0 views
File structure
📄 SKILL.md