email_send
Send an email from the user's connected email account. to can be a single address or a comma-separated list. Provide bodyHtml (preferred), bodyText (plain), or both — at least one is required. Pass contactId when sending to a Groundbase contact so merge tags like {{first_name}} and {{cf.}} resolve and the message threads against that contact. Without accountId the message leaves from the oldest connected mailbox; call email_accounts_list and pass accountId to send from another. The signature of the mailbox that sends is appended automatically.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC list (comma-separated). | |
| to | Yes | Recipient email or comma-separated list. | |
| bcc | No | BCC list (comma-separated). | |
| subject | Yes | Subject line. Supports merge tags when contactId is provided. | |
| bodyHtml | No | HTML body (preferred). Supports merge tags. | |
| bodyText | No | Plain-text body. Sent alongside HTML if both given. | |
| fromName | No | Optional display name for the From header. Defaults to the alias's or mailbox's saved name. | |
| accountId | No | Optional mailbox UUID from email_accounts_list. Defaults to the oldest connected mailbox. | |
| contactId | No | Optional contact UUID. When set, merge tags resolve and the thread attaches to the contact. It does not pick the mailbox. | |
| fromEmail | No | Optional Send-as alias to send from, e.g. "adam@example.com". Must be the mailbox's own address or an alias registered on it under Settings → Email; anything else is refused with INVALID_FROM. Does not pick the mailbox — pair with accountId when there is more than one. | |
| trackOpens | No | When true, inject a 1x1 open-tracking pixel. Signal is approximate (Gmail proxies + Apple Mail Privacy interfere). | |
| scheduledSendAt | No | Optional future ISO 8601 timestamp. When set the message is queued and dispatched by the per-minute cron at that time. |