> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://stoqapp.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Send back-in-stock and preorder SMS alerts through Postscript

STOQ integrates with Postscript as an SMS provider for back-in-stock and preorder notifications. If you already use Postscript to manage your SMS marketing, you can connect it to STOQ so that restock alerts and preorder confirmations are sent through your existing Postscript account -  keeping all your messaging, compliance, and subscriber management in one place.

### What You Need Before You Start

Make sure you have the following ready before setting up the integration:

* A **paid STOQ plan** -  the Postscript SMS provider option is only available on paid plans.
* An **active Postscript account** with SMS sending enabled.
* A **Postscript private API key** -  found in your Postscript dashboard under Shop **Settings > API** (you will need to create a Security Key Pair).
* At least one **keyword** already created in your Postscript account under Acquisition**&#160;> Keywords**.

### Setting Up Postscript SMS Alerts

* To get started, open your STOQ app and go to **Back in stock alerts** in the sidebar menu. 
* Then In the **Settings** tab on the top, click on the **Notifications** section, and click **Customize SMS** on the notification template you want to configure. 

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_tq6pu6.png)

##### Step 1: Select Postscript as Your SMS Provider

1. In the **Send SMS through** panel. Select the **Postscript** radio button.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_hndkv.png)

##### Step 2: Connect Postscript

After selecting Postscript, you should see the **Connect Postscript** section.

* Now in your **Postscript dashboard**, go to Shop **Settings in the left menu > API**.
* On the top right corner, Click on Create a **Security Key Pair** and copy the **Private Key**.

|| Note: Please remember to hit 'Show' to reveal the key and copy the **Private Key **

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_16p7x03.png)
* Now **come Back to the STOQ app**, paste the private key into the **Private key** field.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_bxjgko.png)
* Click **Verify & connect**.

A green checkmark should appear next to the field if the key is valid. If you see an error, double-check that you copied the complete private key.

##### Step 3: Select a Keyword

Once your API key is verified, the **Select a keyword** section appears. Keywords in Postscript control which subscriber list your alert signups are associated with.

* If you have not already done so, create a keyword in your Postscript dashboard under **Acquisition in the left menu > Keywords**.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_1afwy3u.png)
* Now come back to STOQ and in the 'Select a keyword' section you should see the list of all your keywords from Postscript
* Choose a keyword from the dropdown. If your keyword does not appear, click **Refresh** to reload the list.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_7be4f9.png)
* The keyword saves automatically when you select it.

| **Tip:** Create a dedicated keyword in Postscript (for example, "RESTOCK") specifically for STOQ signups. This keeps your back-in-stock subscribers separate from other SMS audiences.


##### Step 4: Create a Flow in Postscript

After selecting a keyword, the **Create a Flow in Postscript** section appears. This is where you register STOQ's trigger event and build the actual SMS delivery flow.

* Click **Send test event** in STOQ. This registers the trigger event type (shown in the panel, for example `back_in_stock_sms_alert`) in your Postscript account so it is available as a Flow trigger.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_ecrzv5.png)

* Open your **Postscript dashboard** and go to Messaging from the left Menu. Select **Automations **
* Click on **Create Automation** on the top right Corner

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_wsjs9t.png)

* In the '**Choose where to start**' popup, select **' Create an Automation flow**'
* In the Trigger event properties, search for **stoq. **Choose the STOQ trigger depending on the flow you're setting up - back in stock SMS / reminder SMS / Preorder SMS

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_1avxgp.png)
|| **Note:** Each trigger requires its own separate flow.

* After selecting the property hit **Update**
* Under 'Actions' Drag the Message block and attach it below the trigger

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_1pdacw9.png)
* You can use event properties sent by STOQ to personalize the message (see[ Event Properties](#2-event-properties-available-in-postscript) below).
* You can also access the STOQ variables by clicking on the **'Merge Tags**' icon in the message editor.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_10o75jm.png)
* After you finalize the message, Click on ADD to update the content
* Click on 'Save' 

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_5geq64.png)
* **To Activate** the Flow - Click on **Schedule or Activate** on the top right
* You can choose to Activate the flow immediately or Schedule for a future date

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_1rkx4wd.png)
* Return to STOQ and click **I've created the Flow** to confirm the setup.

##### Step 5: Test Your Setup

With the Flow live, run an end-to-end test to make sure everything works.

1. Visit your storefront and sign up for a back-in-stock alert using your phone number.
2. Confirm the opt-in SMS from Postscript by replying **Y**.
3. Restock the product in Shopify or go to STOQ > Reports > Current waitlist > hit 'Send' 
4. Check your phone for the back-in-stock SMS alert delivered through Postscript.

If the alert does not arrive, see the [Troubleshooting](#troubleshooting) section below.

### Postscript SMS for Preorder Notifications

The Postscript integration also works for preorder SMS confirmations. When Postscript is selected as your SMS provider, preorder confirmation messages are sent through Postscript the same way — via custom events that trigger Flows.

* You can check this by going to STOQ > Preorders > Notifications > Customize SMS

The SMS provider setting is shared across notification types. If you already selected Postscript for back-in-stock alerts, it also applies to preorder notifications.

To configure the preorder Flow:

1. The preorder event type (`preorder_sms_confirmed`) is separate from the back-in-stock event. Follow the same steps in Step 4 — click **Send test event** for the preorder template to register the preorder trigger.
2. Create a second Flow in Postscript triggered by `preorder_sms_confirmed`.
3. Add an SMS action with your preorder confirmation message and activate the Flow.

| **Tip:** Keep separate Flows in Postscript for back-in-stock alerts and preorder confirmations so you can tailor the message content for each scenario.

### Event Properties Available in Postscript

When STOQ fires an event to Postscript, it includes properties you can use to personalize your SMS in the Postscript Flow Builder. The properties differ depending on whether the event is a back-in-stock alert or a preorder confirmation.

##### Back-in-Stock Event Properties

* **product_title** — Product name
* **variant_title** — Variant name (e.g., "Medium / Blue")
* **title_incl_variant** — Full product name including variant
* **vendor** — Product vendor
* **price** — Product price
* **currency** — Price currency code (e.g., "USD")
* **purchase_link** — Direct link to buy the product
* **image_url** — Product image URL
* **shop_name** — Your store name
* **customer_name** — Customer's name
* **customer_phone** — Customer's phone number

##### Preorder Event Properties

* **order_name** — Order number (e.g., "#1001")
* **products** — Comma-separated list of preorder products
* **first_product** — Name of the first preorder product
* **products_count** — Total number of preorder products
* **shipping_timeline** — Expected shipping date
* **shop_name** — Your store name
* **customer_name** — Customer's name

### Known Limitations

Keep these constraints in mind when using Postscript as your SMS provider:

* **Keywords must already exist in Postscript.** STOQ cannot create keywords for you. Set them up in your Postscript dashboard under **Subscribers > Keywords** before connecting.
* **SMS content is managed in Postscript, not STOQ.** When using Postscript, you write and customize the SMS message inside the Postscript Flow Builder. The STOQ SMS content editor is not used for delivery.
* **Subscriber compliance is handled by Postscript.** Customers must opt in through Postscript's compliance flow (for example, replying Y to a confirmation message). STOQ syncs the subscriber to Postscript, but Postscript manages consent and delivery.
* **One SMS provider at a time.** You can only have one active SMS provider — STOQ, Klaviyo, or Postscript. Switching does not delete your previous configuration, but only the active provider sends alerts.
* **Postscript API rate limits apply.** If you restock many products at the same time, some events may be delayed by Postscript's rate limits.

### Troubleshooting

If something is not working as expected, use the table below to identify the issue and resolve it.

| Symptom | Likely Cause | Fix |
| ---- |
| "Invalid Postscript API key" error when verifying | The private key is incorrect or expired | Generate a new Security Key Pair in your Postscript dashboard under **Settings > API** and paste the new private key in STOQ |
| No keywords appear in the dropdown | No keywords have been created in Postscript | Create a keyword in your Postscript dashboard under **Subscribers > Keywords**, then click **Refresh** in STOQ |
| Test event sent but Flow does not trigger | The Flow trigger does not match the STOQ event type | Check that your Flow's trigger is set to the exact event name shown in STOQ (e.g., `back_in_stock_sms_alert`) |
| Customer signed up but did not receive SMS | Customer has not confirmed opt-in | The customer must reply **Y** to the Postscript opt-in message before they can receive alerts |
| SMS works for back-in-stock but not preorder | Preorder Flow not created or not active | Create a separate Flow in Postscript triggered by `preorder_sms_confirmed` and make sure it is activated |
| "Postscript rate limit exceeded" error | Too many API calls sent in a short window | Wait and retry. If restocking many products at once, space them out to stay within Postscript's rate limits |
| Setup appears incomplete (missing green checkmarks) | One or more setup steps were skipped | Open the **Send SMS through** panel and complete each step that does not show a green checkmark |
