Reply to Gmail thread
Input
body requiredPlain-text reply body (newlines preserved). Long bodies are fine.
cc optionalOptional Cc address(es) added to the reply. A single string or an array of strings.
sendAt optionalOptional. Schedule the reply instead of sending it now: a local date and time with no offset (e.g. 2026-10-09T09:00), read in the browser's time zone. Must be at least a few minutes ahead.
account optionalGoogle account email to act as. Without it Gmail picks the first signed-in account, which may not be the one you expect if several accounts share the browser.
replyAll optionalReply to all recipients instead of just the sender.
Default: falsethreadId optionalHex thread id as returned by search_emails, e.g. "19f2817451c27480". Give this or threadUrl.
threadUrl optionalThe Gmail address of the conversation, as copied from the browser (e.g. https://mail.google.com/mail/u/0/#inbox/FMfcgz...). Give this or threadId.
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.
attachmentName optionalFilename the recipient sees, with its extension. Defaults to the file's own name.
Output
sent requiredTrue when the reply went out now. False when it was scheduled instead.
replyAll requiredthreadId requiredHex id of the conversation the reply was added to.
cc optionalsubject optionalSubject of the conversation the reply joined.
scheduled optionalattachment optionalscheduledFor optionalThe send date and time as Gmail shows it on the Scheduled list, in the account's language.
foundInScheduled optional