> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SupportMacro

> A saved reply. Agents insert its body into replies, and applying it can also change the ticket.

**Required scopes:** [`support_config_read`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-support_config_read)

**addsInternalNote** `String`

Plain-text internal note the macro adds. Null adds none.

**addsTagNames** `[String!]!` *required*

Names of the tags the macro adds when applied. A name with no matching tag in the store is skipped.

**attachments** `[\[SupportMacroAttachment!\]!](/docs/api-reference/v3/reference/support/support-macro-attachment)` *required*

Files the macro attaches to a reply. Inline body images are part of bodyHtml and aren't listed here.

**fields**

**description** `String`

File description as shown in the app. Null when none was saved.

**id** `ID!` *required*

The id of this attachment.

**mimeType** `String`

MIME type, such as image/png. Null for some imported files.

**url** `String`

Signed download link, valid for one hour. Null when it can't be signed right now; the attachment still exists.

**body** `String!` *required*

Reply body as plain text. A variable appears as its bare name, such as customer\_first\_name, and the app fills it in from the ticket when the macro is used. This field returns variables unfilled. Variable names: current\_date, customer\_first\_name, customer\_full\_name, customer\_last\_name, customer\_email, agent\_first\_name, agent\_full\_name, agent\_last\_name, recent\_claim\_created\_date, recent\_claim\_processed\_date, recent\_claim\_status, recent\_order\_date, recent\_order\_delivery\_status, recent\_order\_fulfillment\_status, recent\_return\_status, recent\_order\_price, recent\_order\_returned\_date, recent\_order\_shipping\_address, recent\_order\_shipping\_date, recent\_order\_tracking\_number, recent\_order\_tracking\_url\_link, recent\_order\_number, recent\_return\_created\_date, recent\_return\_processed\_date, store\_name.

**bodyHtml** `String!` *required*

Reply body as HTML, with the same unfilled variables, each as \<span data-variable="customer\_first\_name">customer\_first\_name\</span>. Inline images use signed links that expire after one hour; query again for fresh ones.

**createdAt** `[DateTime!](/docs/api-reference/v3/reference/common/date-time)` *required*

When the macro was created.

**id** `ID!` *required*

The id of this macro.

**name** `String!` *required*

Name shown in the macro picker. Unique within the store.

**setsEmailSubject** `String`

Email subject the macro sets on the thread. Null leaves it unchanged.

**setsStatus** `[SupportMacroStatus](/docs/api-reference/v3/reference/support/support-macro-status)`

Status the macro sets when applied. Null leaves the status unchanged.

**snoozeDuration** `[SupportMacroSnoozeDuration](/docs/api-reference/v3/reference/support/support-macro-snooze-duration)`

How long the ticket is snoozed. Set only when setsStatus is SNOOZED.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.