You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We use the Send Email workflow action for stage-change emails and need to attach a document that lives on the triggering record (e.g. a contract file stored on an Opportunity), so each email carries that record's own file. This ticket covers the Send Email node's Attachments field only.
Current behavior
In the Send Email workflow action, the Attachments field (WorkflowSendEmailAttachments) only allows static file uploads. It has no VariablePicker, unlike the To / Subject / Body fields in the same node, which already accept workflow variables. So the same fixed file is attached on every run; you cannot attach a file that lives on the triggering record.
[screenshot of the Attachments field with no variable option]
Expected behavior
The Attachments field should accept a workflow variable (e.g. a record Files field), alongside static uploads, so the per-record file(s) are attached at runtime.
Note: the backend already supports this end to end, only the UI can't express it:
ToolBackedWorkflowAction.execute() runs resolveInput(input, context) over the whole input, including files.
The tool input schema accepts files (EmailToolInputZodSchema).
Setting files to a variable via the API / workflow:push already works; only the node editor can't bind one.
The resolved value must conform to workflowFileSchema ({ id, name, size, type, createdAt }) so existing backend validation passes.
Verify: bind Attachments to a record Files field variable -> email sends with that record's file(s); empty field -> email sends with no attachment and no error; static upload still works.
This discussion was converted from issue #21352 on June 15, 2026 12:50.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Scope & Context
We use the Send Email workflow action for stage-change emails and need to attach a document that lives on the triggering record (e.g. a contract file stored on an Opportunity), so each email carries that record's own file. This ticket covers the Send Email node's Attachments field only.
Current behavior
In the Send Email workflow action, the Attachments field (
WorkflowSendEmailAttachments) only allows static file uploads. It has no VariablePicker, unlike the To / Subject / Body fields in the same node, which already accept workflow variables. So the same fixed file is attached on every run; you cannot attach a file that lives on the triggering record.[screenshot of the Attachments field with no variable option]Expected behavior
The Attachments field should accept a workflow variable (e.g. a record
Filesfield), alongside static uploads, so the per-record file(s) are attached at runtime.Note: the backend already supports this end to end, only the UI can't express it:
ToolBackedWorkflowAction.execute()runsresolveInput(input, context)over the whole input, includingfiles.files(EmailToolInputZodSchema).filesto a variable via the API /workflow:pushalready works; only the node editor can't bind one.Technical inputs
WorkflowEditActionEmailBase.tsx(theWorkflowSendEmailAttachmentsusage), and extendWorkflowSendEmailAttachments.tsxto allow a variable as an alternative to a static upload.workflowFileSchema({ id, name, size, type, createdAt }) so existing backend validation passes.Filesfield variable -> email sends with that record's file(s); empty field -> email sends with no attachment and no error; static upload still works.All reactions