Connect Shopify to Foundry
Sync orders, inventory, images, and listings between your Shopify store and Foundry IMS. Set up a custom app on Shopify, paste two values into Foundry — total time about 8 minutes.
What you'll get
- • New Shopify orders appear in Foundry within seconds (via webhooks)
- • Fulfillment status, refunds, and cancellations sync both ways
- • Inventory updates in Foundry push to Shopify automatically
- • Listings created in Foundry publish to Shopify with media, variants, and metafields
- • Image edits in Foundry can mirror to Shopify product media (Replace or Append)
Prerequisites
Two things to have ready before you start:
A Shopify store on a plan that allows custom apps
Custom apps are available on Basic and above. You'll need Store owner or a staff account with the "Develop apps" permission enabled. If you're not the owner, ask them to either grant you access or generate the credentials for you.
A Foundry account at app.foundryims.com
If you don't have one yet, sign up free. OWNER or ADMIN role is needed to create channels.
Shopify side: create a custom app
Foundry connects to Shopify as a custom app that you own and install on your own store. No App Store submission needed.
Enable custom-app development (one-time)
In Shopify admin, go to Settings → Apps and sales channels → Develop apps. If you see an Allow custom app development button, click it and confirm. This unlocks the create-app dialog.
Create the app
Click Create an app, name it "Foundry IMS" (or whatever's recognizable), and pick yourself as the developer.
Grant the API scopes Foundry needs
On the app page, click Configure Admin API scopes and enable these:
- • Products — read & write
- • Product listings — read & write
- • Inventory — read & write
- • Orders — read & write
- • Fulfillments — read & write
- • Locations — read
- • Shipping — read
Click Save. Then go back to the app's overview tab and click Install app. Confirm the install in the modal.
Copy the Admin API access token
Right after install, Shopify shows the Admin API access token — starts with shpat_. This is shown once. Click Reveal token once, copy it somewhere safe. You'll also want your store domain — the your-store.myshopify.com URL from your address bar.
Foundry side: create the channel
Add a Shopify channel
In Foundry, go to Sales Channels → Add Channel. Name it (e.g., "My Shopify Store"), pick Shopify as the platform, set direction to Outbound, and click Create.
Paste the credentials
On the channel's Settings page, fill in:
- Shop Domain — the full
your-store.myshopify.comURL (nohttps://, no trailing slash). - Access Token — the
shpat_…value from step 2.
Click Save Credentials. Foundry validates the connection on save and will tell you immediately if anything's off.
Webhooks register automatically
Once credentials save successfully, Foundry registers the Shopify webhooks it needs (orders/create, orders/updated, orders/cancelled, fulfillments/create). No manual setup needed. The Webhook Health card shows current status.
Turn on the sync options you want
Same settings page:
- Auto-Sync — push inventory changes to Shopify automatically.
- Order Sync — import new Shopify orders into Foundry.
- Image Sync mode — pick Off, Append, or Replace. Replace mirrors Foundry's variant images to Shopify product media every time you edit them.
Verify the connection
Pull existing products
Click Pull Products on the channel page. Foundry imports your Shopify catalog as Channel SKUs (including variants for multi-option products). From there you can link them to existing Foundry products or promote them into new ones.
Place a test order
Place an order on your Shopify storefront. Within ~5 seconds it should appear in Foundry's Orders page tagged with the channel name. Reservations get created so inventory math stays right across all your channels.
List a Foundry product to Shopify
Open any Foundry product, click List, pick the Shopify channel, and confirm. Within a few seconds the product is live on Shopify with its media, variants, price, and inventory. Multi-variant Foundry products list as Shopify products with variant options preserved.
Troubleshooting
"Invalid credentials" on save
Make sure the Shop Domain is the full .myshopify.com URL (not a custom domain) with no https:// prefix or trailing slash. Confirm the access token starts with shpat_ — if it starts with anything else, you may have grabbed a Storefront API token by mistake.
Listings fail with "Required scope is missing"
The custom app was created with too few scopes. Go back to the Shopify app page, click Configure Admin API scopes, enable any missing ones from the list in step 2, then re-install the app (Shopify requires re-install when scopes change). The access token stays the same.
Inventory pushes but lands in the wrong location
Foundry pushes inventory to your default Shopify location. If you have multiple locations and want to use a specific one, contact support — multi-location routing is configurable on a per-channel basis.
Images aren't appearing on a listing
Shopify fetches images at listing-create time. If your Foundry variants don't have images yet, the listing publishes without them. Add images to the variant, then either re-list the product or flip the channel's Image Sync mode to Replace and click Sync images now to backfill all currently-listed products in one shot.
Stuck? Email support with your shop domain and we'll trace it on our side.