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

# Trigger Shopify Flow workflows

> Use Shopify Flow triggers in Firmhouse to start Shopify Flow workflows from outgoing webhook events for subscription lifecycle automations.

Shopify Flow Triggers let you trigger Shopify Flow workflows from Firmhouse outgoing webhook events.

This is useful when you want to automate actions in Shopify without relying on timing-based workarounds in Flow.

## Enable the feature in New Features

Before this webhook type can be used, enable it in your project:

1. In Firmhouse, open your project.
2. Go to **New Features** in the sidebar.
3. Find **Shopify Flow Triggers**.
4. Enable the feature toggle.

After enabling, you can create outgoing webhooks with the **Shopify Flow trigger** content type.

## Create a Shopify Flow trigger webhook

1. Go to **Apps** in the sidebar.
2. Open **Webhooks** and click **Configure**.
3. Click **New outgoing webhook**.
4. Enter a **Name**.
5. Set **Content type** to **Shopify Flow trigger**.
6. Choose an **Event**.
7. Add your payload template (see below).
8. Click **Save**.

## Template format

The template must render valid JSON using the `custom_payload` key.

* `custom_payload` is expected to be an array of key/value objects.
* `key` must be a string.
* `value` must be a string.
* If the template renders blank, Firmhouse sends an empty `custom_payload` array.

Example:

```json theme={null}
{
  "custom_payload": [
    {
      "key": "plan_name",
      "value": "{{ subscription.active_plan.name }}"
    },
    {
      "key": "status",
      "value": "{{ subscription.status }}"
    },
    {
      "key": "full_name",
      "value": "{{ subscription.full_name }}"
    },
    {
      "key": "next_billing_date",
      "value": "{{ subscription.next_billing_date }}"
    }
  ]
}
```

## Why this is more reliable

A common workaround was to start from Shopify’s **order created** trigger and add a fixed delay before checking for Firmhouse tags or metadata.

With Shopify Flow Triggers in Firmhouse, you can trigger Flow directly from Firmhouse events instead. This is easier to configure and less brittle, because it does not depend on fixed wait times.

## How delivery works

For **Shopify Flow trigger** webhooks:

* Firmhouse sends a `flowTriggerReceive` mutation to Shopify Admin GraphQL.
* The request is sent as `application/json`.
* `X-Shopify-Access-Token` is added automatically.
* `Http-Firmhouse-Signature` is included like other outgoing webhooks.
* Failed responses are retried automatically (up to 3 attempts).

## Verify and troubleshoot

Open the webhook detail page and inspect **Webhook event log**:

* Request body
* Response code
* Response body

If a request fails, update your template and use **Resend**.

## Related articles

* [Adding, managing, and removing webhooks](/configure/integrations/webhooks)
* [Use Shopify Admin Webhooks](/configure/integrations/shopify-admin-webhooks)
* [Shopify Flow documentation](https://help.shopify.com/en/manual/shopify-flow)
