Connecting your Shopify store | IcloneU
Platform Integrations

Connecting your Shopify store

Connect your Shopify store so your clone can answer product, stock and order questions, send checkout links, and request a review after delivery.

7 min read Beginner Updated August 25, 2026

Connect your Shopify store so your clone can answer questions about products, stock and orders, send a checkout link for something the customer wants, and follow up after delivery with an automatic review request. You'll create an app in Shopify's Dev Dashboard, give it the right permissions, install it on your store, and paste two values into IcloneU.

Included with every paid plan

Step 1 — Create the app in the Dev Dashboard

Older store? You may already have a legacy token

Shopify retired in-admin custom apps on January 1, 2026. If your store still has an app created before then, its Admin API access token (shpat_...) keeps working — paste it into the connection's legacy token field and skip to Step 4. Stores created during or after 2026 follow the Dev Dashboard flow below.

  1. Open the Dev Dashboard

    Go to dev.shopify.com and sign in with the account that owns your store. Shopify has moved this entry point around inside the store admin, so going straight to the Dev Dashboard is the reliable route.

  2. Create the app

    Click Create app and give it a name, for example IcloneU. You'll land on the app's overview page, with Versions, Installs and Configuration in the left menu.

Step 2 — Grant the API scopes

  1. Open the scopes field

    In the app's left menu open Versions, then find the API access section and its Scopes field. Scopes are entered here as a comma-separated list, not ticked from a list of checkboxes.

  2. Add the five required scopes

    read_orders, read_customers, read_products, read_inventory, read_locations. These cover product and stock questions, order lookups, and knowing which locations can ship.

  3. Add the ones for the extras you want

    write_draft_orders lets your clone send a checkout link — add this one unless you specifically don't want that. write_price_rules lets it create discount codes. read_content lets you import your store's pages and blog articles into a Knowledge library.

  4. Save and release a version

    Save the configuration, then release a version of the app. Scope changes only take effect once a version is released.

A missing scope doesn't show an error — the ability just isn't there

Your clone only gets the abilities its permissions allow. When a scope is missing, IcloneU leaves that action out instead of showing an error, so the symptom is silence: without write_draft_orders your clone simply never offers a checkout link. Watch the discount one in particular — the scope is write_price_rules, and write_discounts is a different permission that will not work in its place. If you add a scope later, release a new version and then re-save the connection in IcloneU.

Step 3 — Install the app on your store

Creating the app and releasing a version does not install it. This step is easy to miss, and without it the connection has nothing to talk to.

  1. Go back to the app's main page

    Click the app's name (for example IcloneU) in the left menu to return to its overview.

  2. Install it

    In the Installs section click Install app, then pick your store. Shopify shows you the permissions the app is asking for before it installs.

  3. Copy the credentials

    Open the app's Configuration and copy the Client ID and Client Secret (use the eye icon to reveal the secret). Unlike the old tokens, you can come back and read these again later.

No access token to copy?

That's expected. Dev Dashboard apps don't show a permanent access token. IcloneU exchanges your Client ID and Client Secret for short-lived tokens and refreshes them on its own, so you never manage tokens yourself.

Step 4 — Connect the store in IcloneU

  1. Open the connector

    In IcloneU go to Automations → Connectors → Shopify → Connect.

  2. Shop Domain

    Your store's .myshopify.com domain, for example my-store.myshopify.com — not your custom domain.

  3. Client ID and Client Secret

    Paste both values from Step 3. A store still on a pre-2026 custom app pastes its shpat_... token into the legacy token field instead — one or the other, never both.

  4. Save

    Save the connection. IcloneU checks the credentials against your store straight away, so a mistake shows up here rather than later.

Turn it on for the clone that should use it

A saved connection isn't wired to anything yet. Open Clones, pick the clone that should sell, open its Skills tab and switch the Shopify connection on. You can also fine-tune it there — hide stock counts, choose the store locations the clone sells from, or turn individual abilities off.

Stock locations are an include-list

The Included stock locations control works by inclusion: the AI only sees stock at the checked locations — anywhere else is never counted as available, never offered for in-store pickup, and never mentioned by name. Leave every box unchecked to use all locations. Connections saved before this control switched from an exclusion list keep their old exclusions until you re-save the setting.

Order details require the customer to verify who they are

The clone answers general product and stock questions freely, but order and personal-data questions are only answered after the end customer verifies their identity — by a one-time code, or automatically on channels that already prove who's writing. A customer who hasn't verified gets a polite ask to do so first; that's the protection working, not a malfunction.

A store can only be connected once

A store's webhooks only ever reach one connection, so IcloneU checks the shop domain against every other Shopify connection before it saves. If the store is already connected on another IcloneU account, the save is blocked outright: "Each store's webhooks only reach one connection, so this store's events would not arrive here. Disconnect the store from the other account first, or contact support if you don't recognize it." If it is already connected in this account you get a Store already connected confirmation instead — "Each store's webhooks only reach one connection, so a duplicate can leave the other connection without events. Connect it anyway?" — and the choice is yours. The check runs on the normalised domain, so https://My-Store.myshopify.com/ and my-store.myshopify.com count as the same store. An agency running a client's store from a second workspace hits the first message, and the fix is to disconnect it where it lives now.

Step 5 — Order notifications (for automatic review requests)

Automatic review requests need IcloneU to hear from your store when an order is fulfilled. Review requests are scheduled on fulfilment, not on payment — a paid order that hasn't shipped won't trigger one.

Connected with a Client ID and Secret? There's nothing to set up

IcloneU registers the order notifications for you each time you save the connection, and verifies them with the same Client Secret. Leave the Webhook Signing Secret field empty. If review requests never arrive, re-save the Shopify connection in IcloneU — that makes it check and register anything missing.

Legacy shpat_... connections only. Automatic registration needs a Client Secret, so a store still on an old token creates the notification by hand:

  1. Open webhook settings

    Store admin → Settings → Notifications → scroll to the Webhooks section.

  2. Create it

    Click Create webhook. Choose the event for order fulfilment being created — Shopify's wording for this varies by language and changes from time to time, so pick the fulfilment-creation event rather than looking for an exact label. Format: JSON. URL: your IcloneU address followed by /api/ShopifyWebhook.

  3. Copy the signing secret

    At the bottom of the same Webhooks section Shopify shows "All your webhooks will be signed with …" followed by a key. Copy it.

  4. Paste it into IcloneU

    Edit your Shopify connection and paste it into Webhook Signing Secret. Without it, IcloneU ignores your store's notifications for safety.

Two different secrets — don't mix them up

The Client Secret comes from your app's Configuration in the Dev Dashboard and goes in the connection's Client Secret field. The webhook signing secret is a different key that lives on the store admin's Notifications page and goes in the Webhook Signing Secret field.

Step 6 — Test it end to end

  1. Ask your clone about a product

    The fastest check. In the Playground or from a connected channel, ask about something you sell. A working connection answers with the real product, its variants and whether they can ship — not with something invented.

  2. Enable automatic requests

    In IcloneU open Reviews → Settings and set up the WhatsApp review requests card first — a WhatsApp number, a Template and a Review link variable — because until those are chosen the automatic card offers no WhatsApp channel at all. Then on Automatic review requests turn on Send review requests automatically after a purchase, pick WhatsApp as the Channel, and set Days after purchase to 0 for a quick test.

  3. Create a test order

    In Shopify: Orders → Create order → add a product → create a customer with your own WhatsApp number in international format → mark as paid.

  4. Fulfil it

    Open the order and click Fulfil items. Fulfilment is the trigger — marking it paid is not enough.

  5. Check the result

    Within about a minute (with delay 0) the WhatsApp template arrives naming the product from the order. The buyer appears under Contacts and the request under Reviews → Requests.

Nothing arrived?

Work through it in this order. Re-save the Shopify connection in IcloneU, which re-registers the order notifications. Confirm the automation toggle is on in Reviews → Settings and the order's customer has a phone number. If you connected with a legacy shpat_... token, check the signing secret is saved on the connection and open Settings → Notifications → Webhooks in Shopify to see your webhook's recent deliveries — a 200 response means IcloneU received it.

Bringing your store's customers in as contacts

A connected store is also a customer list. Open Contacts, then Import Contacts, and use Import from Shopify — its own hint reads "Pulls your store's customers in as contacts, enriched with purchase history and stitched to their existing profiles." There is no column mapping to do; the fields are already known.

  • Each customer arrives carrying their email and phone, so the identity matcher can stitch them onto the same person's existing Facebook, Instagram, WhatsApp, web-chat and email contacts instead of creating a duplicate. They are tagged Imported and Shopify.
  • Lifetime spend and order count come straight from Shopify's own customer record, and the same run backfills recent paid orders into the contact's purchase history — three months by default, which is the window the purchase follow-up actually reads.
  • After that it stays current on its own: every Order paid event writes that order onto the buyer's contact, so there is no need to re-import.
  • On a contact that came from the store, the profile menu carries View in Shopify for the full picture.
Importing is not permission to message them

The import exists to enrich and unify contacts, not to build a send list. Someone who bought from your store has not agreed to be messaged on WhatsApp, and each platform's own consent rules still decide who you may write to. Use it so you recognise the person when they write to you, and so your clone can talk about their real order history.

Was this guide helpful?
Thanks for the feedback!

Last updated August 25, 2026 · Platform Integrations

Reconnecting to the server… Reload
🗙
Connecting…
Connection lost
Reconnecting to the server…
We couldn't reconnect automatically.