Cold Email Outreach (Gmail via Composio)
Send personalized 1:1 cold emails to a prospect list using composio execute with Gmail.
Workflow
- Collect inputs. Ask the user for: (a) path to the prospect CSV/list (name, email, company, hook), (b) the offer/angle in one sentence, (c) sender's name and calendar link.
- Check Gmail connection:
If it reports the toolkit is not connected, run:composio execute GMAIL_SEND_EMAIL --get-schemacomposio link gmail - Draft a template with 3-4 sentence body: personalized opener referencing the hook, one-line problem, one-line proof, soft CTA. Keep subject under 45 chars.
- Dry-run the first recipient before sending anything real:
composio execute GMAIL_SEND_EMAIL --dry-run -d '{ "recipient_email": "jane@acme.com", "subject": "Quick idea for Acme", "body": "Hi Jane, noticed Acme just ..." }' - Send the batch. Loop the CSV in
composio runor callcomposio executeper row. Pause 5–15s between sends to avoid Gmail rate limits.composio run --file ./outreach.ts -- --csv ./prospects.csv - Log sent to a local
sent.csv(email, timestamp, message_id) so follow-ups can reference it.
Guardrails
- Never send to more than 50 recipients per day from a single Gmail account without warning the user about deliverability risk.
- Each email must reference something specific from the prospect row — no generic spray.
- Include an opt-out line ("Happy to stop if not relevant").
- Show the user the final template and ask for approval before sending batch > 5.
Related Composio slugs
GMAIL_SEND_EMAIL— send single emailGMAIL_CREATE_EMAIL_DRAFT— save drafts for manual reviewGMAIL_REPLY_TO_THREAD— follow-ups on existing thread- If a slug is unclear, run:
composio search "send personalized email" --toolkits gmail