## TL;DR
A Gorgias macro is a bundle of actions, and each action assumes things about the ticket: a channel, a customer, a set of fields. Tickets created through the HTTP integration often lack what email and chat tickets have by default, so the macro's actions have nothing to act on and the apply fails or half-applies. Audit the macro's actions against what an HTTP ticket actually carries, and make the actions conditional.

## The query

```text
gorgias macro failed to apply on http integration
```

## Use this when

- A Gorgias macro fails on HTTP integration tickets but works elsewhere
- Macro actions silently do nothing on some tickets
- The failure started right after a macro was edited


## Not for

- Gorgias API authentication errors
- Gorgias rule (not macro) failures
- Macro permission or visibility issues


## Steps

### 1. Reproduce with a real HTTP ticket

Apply the macro manually to a ticket that came in through the HTTP integration and watch which step fails. Don't test on an email ticket; the whole point is that HTTP tickets are shaped differently.

Expected output: the exact macro action that fails, on the right ticket type.

### 2. Check each action's assumptions

Walk the macro's actions one by one: reply actions need a replyable channel, tag actions need the tag to exist, field updates need the field on the ticket. HTTP tickets may lack a customer email, a channel, or custom fields your actions reference.

Expected output: a list of actions whose prerequisites the HTTP ticket doesn't meet.

### 3. Make actions conditional or split the macro

Either guard the fragile actions with conditions (only reply if a channel exists), or split into two macros: one for rich tickets, one for bare HTTP tickets. One macro pretending all tickets are alike is what broke.

Expected output: the macro applying cleanly to HTTP tickets with no failed actions.

### 4. Fix the integration payload going forward

If the macro needs fields the HTTP integration never sends, add them at creation time: customer email, channel, and the custom fields your macros expect. Fix the source so every ticket arrives macro-ready.

Expected output: new HTTP tickets arriving with the fields macros expect.

## Variant phrasings

### gorgias macro actions not working

Step 2's action-by-action audit finds the broken assumption.

### gorgias http integration ticket missing fields

Step 4 fixes the payload so macros stop tripping.

## Why it happens

Macros are recorded against the ticket type the author had open, usually a rich email ticket. HTTP integration tickets are minimal by default: no customer record, no channel, sometimes no subject. The macro replays its actions blindly, and the first action that needs something missing kills the apply.

## Edge cases

- Macro variables referencing missing fields render as blanks, not errors. Check rendered output.
- Bulk-applying a broken macro to old tickets multiplies the damage. Fix on one ticket first.
- Gorgias updates macro behavior occasionally; re-test macros after platform updates.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_HRDbCclMbDrG-M6PngbJHg
