Macros

Access control
Section titled “Access control”- Required permission: canManageMacros
- Fallback behavior: Users without permission see access denied message and cannot create/update/delete macros.
Core features
Section titled “Core features”- Default macro seeding
- Description: On first visit (or first macro usage), the app seeds built-in starter macros if shop has none.
- Macro editor
- Description: Create or edit macro name + template body from the L1 page.
- Saved macros list
- Description: Lists all macros with updated timestamp, preview, edit, and delete controls.
Template tokens
Section titled “Template tokens”Supported tokens
Section titled “Supported tokens”- {{customer_name}}- {{order_number}}- {{ticket_number}}- Where resolved: Tokens are resolved when macro content is sent from ticket detail page, using customer/order lookups.
- Owner note: Macros themselves store raw token text; replacement happens at send time.
Default macro catalog
Section titled “Default macro catalog”- Order delayed follow-up
- Refund approved
- Replacement approved
- Need more details
- Return instructions
- Resolved confirmation
Data model
Section titled “Data model”- Table: Macro
- Unique key: shop + name
Fields
Section titled “Fields”- name- content- createdAt- updatedAtOwner best practices
Section titled “Owner best practices”- Keep macro names action-oriented (e.g., ‘Refund approved’).
- Use tokens instead of hardcoded names/order numbers.
- Review macro tone quarterly to keep responses consistent.
- Avoid legal promises in macros unless reviewed by counsel.
Common issues
Section titled “Common issues”- Cannot save macro
- Cause: Missing name/content or duplicate name in same shop.
- Fix: Provide both fields and use a unique name.
- Token not replaced
- Cause: Message sent outside token-resolution flow or missing customer/order context.
- Fix: Send macros through ticket detail reply composer and verify ticket links to customer/order.