gmail.send API
Send email from an existing Gmail or Google Workspace mailbox connected with gmail.account. Pass in_reply_to from gmail.messages to reply in a thread. This does not provision an AgentMail inbox.
Unipile:
all inputs
✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.
| Provider | Status |
|---|---|
Unipile |
live |
Unit: per_message · unmatched results billed: no
Charged per successful send; text or html required. Gmail sending limits apply. Use a RouterGrowth Idempotency-Key for retries. Tracking IDs are not email message IDs.
The exact quote is returned by /v1/inspect before every call and held with headroom on execution. The quote is the price floor: if the provider's actual cost overruns it, the run bills the overrun at the same rate, never above the hold. The unused part of every hold is released.
curl https://api.routergrowth.com/v1/run \ -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \ -d '{ "capability": "gmail.send", "input": { "to": "..." }, "routing": {"provider": "auto"} }'
{
"properties": {
"account_id": {
"description": "Account name or ID from gmail.accounts. Optional when exactly one account is connected.",
"type": "string"
},
"bcc": {
"description": "Email addresses. At most 50 recipients total across to, cc and bcc.",
"items": {
"type": "string"
},
"type": "array"
},
"cc": {
"description": "Email addresses. At most 50 recipients total across to, cc and bcc.",
"items": {
"type": "string"
},
"type": "array"
},
"html": {
"description": "HTML body; takes precedence over text when both are supplied.",
"type": "string"
},
"in_reply_to": {
"description": "message_id from gmail.messages in the selected mailbox. The original subject is reused if omitted.",
"type": "string"
},
"subject": {
"type": "string"
},
"text": {
"type": "string"
},
"to": {
"description": "Email addresses. At most 50 recipients total across to, cc and bcc.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"to"
],
"type": "object"
}
tracking_id · provider_id · note