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

# Set up Gorgias

> Every ticket shows the subscriber and their subscriptions in the sidebar, with actions agents run in place.

OPENSUBS PLATFORM

15 min

Once running, Gorgias calls your store when a ticket opens and renders the reply as the sidebar widget; OpenSubs never calls Gorgias.

**1. Save the shared secret**

* Open **Settings > Integrations** and find **Gorgias** under **Support**. Click **Connect**.
* In **Shared secret**, click **Generate** (or paste your own), then click **Connect**. Gorgias sends this secret as its authorization header; it isn't shown again after saving.

> [!TIP]
>
> **Checkpoint:** the Gorgias card reads Connected.

**2. Let it build Gorgias for you**

* In the **Gorgias account** box, enter your **Gorgias subdomain**, **Gorgias account email**, and a **Gorgias REST API key** (created in Gorgias under **Settings > REST API**).
* Click **Create integration and widget**: OpenSubs creates the HTTP integration and the sidebar widget in your Gorgias account.
* Credentials are stored; **Edit credentials** swaps them out. After setup the button reads **Resync widget**: click it to update the installed widget in place.
* When a newer widget is available, the card shows an **Update available** badge and an **Update to latest** button.

> [!TIP]
>
> **Checkpoint:** a ticket in Gorgias shows the widget.

![The Connect Gorgias modal: the shared secret saved, the Gorgias account fields filled in, and the one-click setup button.](https://mintcdn.com/opensubs-docs/T6NpYT9MdOxqnOk5/images/platform-v2/run/34-gorgias-modal.png?fit=max\&auto=format\&n=T6NpYT9MdOxqnOk5\&q=85\&s=d94d07d655c806d0a9a4bfc5d44123e4)

**3. Read the sidebar**

* The widget loads when a ticket is created, updated, or gets a new message, looked up by the ticket customer's email.
* The top card is the subscriber: status, subscription counts, first subscribed date, recurring revenue and orders, and lifetime spend and orders. **Log in as customer** opens their portal; the card's title opens them in your admin.
* Below, three lists: **Active subscriptions** (the first three), **Paused subscriptions**, and **Cancelled subscriptions**. Each card is titled with its subscription ID (opens it in your admin), lists products under **Items** (rows expand to quantity and price), and shows what fits its status: next order and payment issues for active, pause date for paused, date and reason for cancelled.
* Cards carry your store's logo, copied from your branding at setup; no logo means Gorgias's default icons.
* A ticket from someone who never subscribed renders the widget empty, without error.

> [!TIP]
>
> **Checkpoint:** a real subscriber's ticket sorts their subscriptions into the right lists.

**4. Know the buttons**

Each list carries only the actions that make sense there:

| On | Button | What it does |
| - | - | - |
| Active | **Ship now** | Bills and ships the next order today; asks the agent to type YES first |
| Active | **Skip next order** | Moves the next order out by one full interval |
| Active | **Change frequency** | One plain-language field: "30 days", "2 weeks", "1 month" |
| Active | **Set next billing date** | Asks for the date (YYYY-MM-DD) |
| Active | **Pause** | Pauses until someone resumes it |
| Active or paused | **Cancel** | Cancels, with an optional reason box |
| Paused | **Resume** | Restarts billing on the next date the original rhythm would have hit |
| Cancelled | **Reactivate** | Restarts a cancelled subscription, same date behavior as Resume |

* Buttons with a field open a small dialog first; the rest run on one click.
* A click on a stale widget gets a plain "refresh the ticket" message.
* Every button runs the same machinery as the admin: the Shopify contract updates, the subscription's **History** gets its row, and the usual notifications send. The History row and **Analytics > Activity** name Gorgias as the source.
* **Cancel** here is an admin-style cancel and skips your cancellation flow's save offers, so the login-link habit from [When a subscriber asks for help](https://docs.opensubs.com/platform-v2/run/when-a-subscriber-asks.md) still applies.

> [!TIP]
>
> **Checkpoint:** a test action's History row names Gorgias.

> [!NOTE]
>
> **Building it by hand instead.** **Manual setup** at the bottom of the modal unfolds the two endpoint URLs: the HTTP integration uses the data URL, method GET, the three ticket triggers, and an Authorization header of "Bearer " plus your secret; action buttons POST to the action URL.

> [!WARNING]
>
> **Rotating the secret is a two-step move.** A new secret changes what your store accepts, but Gorgias sends the old one until you click **Resync widget** (or edit the header in Gorgias). Between the steps every call fails as unauthorized, so do them back to back.

> [!NOTE]
>
> **Disconnecting cleans up both sides.** With your REST API key on file, **Disconnect** deletes the widget and HTTP integration from Gorgias, then removes the shared secret and setup state here.

> [!NOTE]
>
> **When the sidebar is empty**, check the ticket's email first (no subscriptions renders it empty by design), then **Settings > Operational health**: the **Integration connections** panel verifies the integration and widget still exist in Gorgias, counts failed calls over the last day, and quotes the latest errors, and the integration's **Events** tab in Gorgias logs every request and status. Unauthorized means the secret doesn't match, the shop parameter is wrong, or the card was disconnected; Gorgias waits five seconds, doesn't retry, and disables the integration after 500 consecutive failures, so re-enable it there after a long-broken secret.


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