Send Gmail email
Input
to requiredRecipient email address(es). A single string or an array of strings.
subject requiredEmail subject line.
cc optionalOptional Cc address(es). A single string or an array of strings.
bcc optionalOptional Bcc address(es). A single string or an array of strings.
body optionalPlain-text message body.
Default: ""sendAt optionalOptional. Schedule the email instead of sending it now: a local date and time with no offset (e.g. 2026-10-06T09:00), read in the browser's time zone. Must be at least a few minutes ahead. The email then waits in Gmail's Scheduled folder, where it can still be edited or cancelled.
account optionalGoogle account email to send as. Without it, Gmail uses the first signed-in account, which may not be the one you expect if several accounts share the browser.
attachment optionalOptional file to attach. From an agent: files: { attachment: { relativePath: "invoice.pdf" } }, a name inside the reduck folder on the Desktop. From the CLI: file:attachment=/path/to/file. Omit it to send without an attachment.
attachmentName optionalFilename the recipient sees, with its extension (e.g. 'invoice.pdf'). Defaults to the file's own name, which a file named by relativePath keeps. Pass it when sending bytes from the CLI, where the file otherwise arrives named 'attachment'.
Output
to requiredsent requiredTrue when the email went out now. False when it was scheduled instead.
subject requiredcc optionalbcc optionalthreadId optionalConversation id of the scheduled email, as listed in the Scheduled folder.
scheduled optionalTrue when the email was scheduled for later with sendAt.
attachment optionalThe filename the attachment was sent under, when one was attached.
scheduledFor optionalThe send date and time as Gmail displays it on the Scheduled list, in the account's language.
foundInScheduled optionalWhether the email was found on the Scheduled list after scheduling.
