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

# Permissions

> All Shopify permissions required by Galantis, what each enables, and what stops working if a permission is missing.

Galantis requests a defined set of Shopify permissions during installation. Each permission unlocks a specific category of data access or action capability. No permissions are requested speculatively — every permission maps directly to a platform feature. If a permission is not granted, the feature that depends on it will not function.

## What this covers

* All required Shopify permissions
* What each permission enables in Galantis
* What breaks if a permission is missing or revoked
* How to verify permission status

## Required permissions

<Tabs>
  <Tab title="Customers">
    **`read_customers`** — Allows Galantis to read customer records from Shopify.
    **Enables:**

    * Initial customer import at installation — populates the Galantis contact database with your existing customers
    * Processing of `customers/create`, `customers/update`, and `customers/delete` webhooks — keeps customer profiles current
    * Reading customer phone numbers, names, emails, tags, and locale for contact profiles
    * Audience targeting — lists and segments draw from synced customer data

    **`write_customers`** — Allows Galantis to write to customer records in Shopify.

    **Enables:**

    * Updating marketing consent state on the Shopify customer record when changes originate in Galantis

    **If missing:** Customer profiles will not sync. Campaigns and automations targeting customers will have stale or empty audience data. Consent state will not update.
  </Tab>

  <Tab title="Orders">
    **`read_orders`** — Allows Galantis to read order records from Shopify.

    **Enables:**

    * Processing of `orders/create`, `orders/cancelled`, and `orders/updated` webhooks — powers `ORDER_PLACED`, `ORDER_CANCELLED`, and `ORDER_SHIPPED` automation triggers
    * Order data availability in automation condition evaluation (`ORDER_VALUE`, `ITEM_COUNT_IN_ORDER`, `ORDER_RECENCY`)
    * Order history display in the Inbox customer context panel
    * Segment rules based on purchase history (total spent, order count, days since last order, purchased collection)
    * Template variable mapping for `order.order_number`, `order.total_price`, `order.product_name`

    **`read_fulfillments`** — Allows Galantis to read fulfillment data from Shopify.

    **Enables:**

    * Detecting when an order has been fulfilled and shipped
    * Powering the `ORDER_SHIPPED` automation trigger via the `orders/updated` webhook with fulfillment data

    **If missing:** Order-based automation triggers (`ORDER_PLACED`, `ORDER_CANCELLED`, `ORDER_SHIPPED`) will not fire. Segment rules based on purchase history will not evaluate correctly. Order context will not appear in the Inbox.
  </Tab>

  <Tab title="Products & Collections">
    **`read_products`** — Allows Galantis to read product and collection records from Shopify.

    **Enables:**

    * Processing of `products/create`, `products/update`, and `products/delete` webhooks — keeps the Galantis product catalog current
    * Processing of `collections/create`, `collections/update`, and `collections/delete` webhooks — keeps collection data current
    * Catalog module functionality — product data synced into Galantis and available for Meta push
    * Back-in-Stock module — inventory quantity monitoring per variant
    * Segment rules based on purchased collection or purchased brand
    * Automation condition evaluation using `PRODUCT_IN_ORDER_HAS_TAG`

    **If missing:** The Catalog module will not function. Back-in-Stock inventory monitoring will not work. Product-based segment rules will not evaluate. Catalog message formats (SPM, MPM, Whole Catalog) will be unavailable.
  </Tab>

  <Tab title="Checkouts">
    **`read_checkouts`** — Allows Galantis to read checkout records from Shopify via the Admin GraphQL API.

    **Enables:**

    * The abandoned checkout polling mechanism — Galantis queries the Shopify Admin API every 10 minutes for incomplete checkouts
    * The `ABANDONED_CHECKOUT` automation trigger

    **If missing:** The `ABANDONED_CHECKOUT` trigger will not fire. Abandoned checkout recovery automations will be inactive even if configured and activated.

    <Note>
      Shopify does not provide a real-time webhook for abandoned checkouts. The `read_checkouts` permission enables polling rather than event-driven detection. See [Abandoned Checkout](./abandoned-checkout) for how the polling mechanism works.
    </Note>
  </Tab>

  <Tab title="Script Tags">
    **`read_script_tags`** — Allows Galantis to read the script tags currently installed on your Shopify store.

    **`write_script_tags`** — Allows Galantis to write, update, and delete script tags on your Shopify store.

    **Enables:**

    * Injecting the Inbox storefront chat widget into your theme
    * Injecting the Back-in-Stock subscription widget into your theme
    * Updating widget scripts when configuration changes are saved in the Galantis dashboard

    **If missing:** Neither the Inbox widget nor the Back-in-Stock widget will appear on your storefront. Widget configuration saved in Galantis will have no effect on the live store.

    <Warning>
      If `write_script_tags` is revoked after installation, existing injected scripts may continue to load from cache temporarily, but any configuration changes made in Galantis will not deploy to the storefront. Re-granting the permission and saving widget settings will re-establish the injection.
    </Warning>
  </Tab>
</Tabs>

## Permission summary

| Permission          | Required for                               | Blocks if missing                            |
| ------------------- | ------------------------------------------ | -------------------------------------------- |
| `read_customers`    | Customer sync, audience targeting          | Contact profiles, campaigns, automations     |
| `write_customers`   | Consent state writeback                    | Consent sync                                 |
| `read_orders`       | Order triggers, segments, Inbox context    | Order automations, purchase-based segments   |
| `read_fulfillments` | ORDER\_SHIPPED trigger                     | Shipping automation trigger                  |
| `read_products`     | Catalog, Back-in-Stock, product conditions | Catalog module, BIS module, product segments |
| `read_checkouts`    | Abandoned checkout trigger                 | ABANDONED\_CHECKOUT automation               |
| `read_script_tags`  | Widget management                          | Widget deployment                            |
| `write_script_tags` | Widget injection                           | Inbox widget, Back-in-Stock widget           |

## Verifying permissions

Permissions are granted during app installation and displayed in **Shopify Admin → Settings → Apps and sales channels → Galantis → Permissions**.

If a feature is not working as expected and data issues are suspected, verifying the permission set is a quick first diagnostic step — particularly for script tag permissions, which can be affected by certain Shopify plan changes or reinstallation flows.

## Related guides

* [Getting Started — Shopify Installation](/whatsapp/getting-started/shopify-installation) — How permissions are granted during installation
* [Webhooks](./webhooks) — How individual webhooks depend on these permissions
* [Support — Widget Not Displaying](/whatsapp/support/troubleshooting/widget-not-displaying) — Troubleshooting script tag permission issues
