Pull contact and deal context from HubSpot, generate personalized emails with your AI agent, and deliver through MultiMail with recipient-level oversight and full audit trails.
HubSpot stores the contact lifecycle data your AI agents need to personalize outbound email: deal stage, last activity, lifecycle stage, company size, and custom properties. The gap is execution — HubSpot's native automation runs static sequences, not dynamic agent-generated content tailored to each contact in real time.
MultiMail fills that gap. Your agent reads CRM context from HubSpot, composes email via the MultiMail API, and sends through managed mailboxes with full oversight controls. Every send is logged, every approval request is auditable, and every bounce or reply flows back as a webhook you can act on.
This pattern is particularly useful for outbound prospecting, post-demo follow-up, and renewal sequences where the right message depends on context that only exists at send time — not when you built the workflow template.
HubSpot workflows can trigger thousands of contacts simultaneously. MultiMail's gated_send mode queues each AI-generated email for human review before delivery, so a bad prompt or stale CRM data doesn't produce a mass send error.
MultiMail logs every send attempt, approval decision, delivery status, and reply event against the mailbox — not inside HubSpot's activity feed. This matters for SOC 2 compliance and post-incident review when you need to reconstruct exactly what your agent sent and when.
MultiMail enforces unsubscribe handling at the API layer. Agents cannot send to contacts who have opted out, and every outbound message includes required headers. This runs independently of HubSpot's suppression lists so you have defense in depth.
When a prospect replies to an agent-sent email, MultiMail fires a webhook to your backend. Your agent can read the reply via GET /v1/mailboxes/{mailbox_id}/emails/{email_id}, update the HubSpot contact via their API, and decide whether to respond or escalate — closing the loop without manual handoff.
Run gated_all for cold outbound where every message needs review, monitored for warm pipeline follow-ups, and autonomous for transactional notifications like meeting confirmations. Different HubSpot lists can map to different MultiMail oversight modes.
No code, no dashboard. Paste this to your AI agent — it connects MultiMail, creates an inbox, and builds the flow for you.
Sign up at multimail.dev and create a mailbox for outbound use. You can use a @multimail.dev address immediately or add a custom domain via DNS records in your account settings. Creating a mailbox requires an admin-scope key.
In HubSpot, go to Settings → Integrations → Private Apps and create an app with scopes: crm.objects.contacts.read, crm.objects.deals.read, crm.objects.tasks.write. Copy the generated access token — this is your HUBSPOT_TOKEN for CRM API calls.
In HubSpot Workflows, create an enrollment trigger (e.g., deal stage changes to 'Proposal Sent') and add a webhook action pointing to your backend endpoint. The webhook payload will include the object ID your agent uses to fetch CRM context.
In your MultiMail account settings, add a webhook endpoint for the email.received event type. Point it to your backend handler that reads the reply and updates the HubSpot contact record.
Set each mailbox's oversight mode based on the risk profile of the workflow (it is a per-mailbox setting, not a per-send parameter). Cold outbound sequences should use a mailbox in gated_send or gated_all. Warm follow-ups after a demo can use a monitored mailbox. Transactional confirmations (meeting links, document receipts) can use an autonomous mailbox.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a hosted MCP server. Formally verified in Lean 4.