| name | cold-email-outreach |
| description | Run a cold email outreach campaign via Gmail. Use when the user wants to send personalized cold emails to a list of prospects, draft outbound sequences, or launch a small outreach batch from a CSV/sheet of leads. Proactively invoke when the user mentions "send cold emails", "outreach campaign", or "blast my leads". |
| allowed-tools | ["Bash","Read","Write","Edit","AskUserQuestion"] |
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:
composio execute GMAIL_SEND_EMAIL --get-schema
If it reports the toolkit is not connected, run:
composio 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 run or call composio execute per 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 email
GMAIL_CREATE_EMAIL_DRAFT — save drafts for manual review
GMAIL_REPLY_TO_THREAD — follow-ups on existing thread
- If a slug is unclear, run:
composio search "send personalized email" --toolkits gmail