Shopify
Shopify Integration
Publish your AI-generated content directly to Shopify as blog articles, static pages, or both. Connect your Shopify store and push content with one click.
What You Can Do
One-click publish articles to your Shopify blog
Create static pages for landing pages and evergreen content
Publish as draft or live: you control the default
Featured images are included automatically
Auto-publish articles as soon as they're generated
Bulk export entire projects to Shopify at once
Choose content type: blog article, page, or both simultaneously
Prerequisites
Before connecting, you'll need:
A Shopify store with admin access
An app created in the Shopify Dev Dashboard (see setup below)
A Cuppa account on Power plan or higher
Step 1: Create an App in the Shopify Dev Dashboard
As of January 2026, Shopify requires new apps to be created in the Dev Dashboard instead of the Shopify admin.
Go to dev.shopify.com/dashboard and sign in
Click Create app
Name it something like "Cuppa Publishing"
Under Configuration, create a new App version
Add the following Admin API scopes:
write_content(for blog articles and pages)read_content
Save the version
Install the App on Your Store (Required)
This step is easy to miss, but the integration will not work without it.
In the Dev Dashboard, go to your app's Overview page
Click the "Install app" button (top right)
Select your store and confirm the installation
You should see Installations: 1 (or more) on the Overview page
Important: If the app is not installed, Shopify will reject all API requests with a 400 error. You must install the app before connecting in Cuppa.
Copy Your Credentials
Go to your app's Settings page in the Dev Dashboard
Copy the Client ID and Client Secret
Tip: Unlike legacy custom apps, Dev Dashboard apps use OAuth with rotating tokens. Cuppa handles the token refresh automatically. You just need the Client ID and Client Secret.
Step 2: Connect in Cuppa
Go to Team Settings > Integrations
Find Shopify and click Connect
Enter your:
Store URL: Your
mystore.myshopify.comdomainClient ID: From your Dev Dashboard app
Client Secret: From your Dev Dashboard app
Click Test Connection to verify
Click Load Blogs to select which blog to publish to
Configure your defaults (see Step 3)
Click Connect
Step 3: Configure Defaults
After connecting, set your preferences:
Content Type
Article
Creates blog articles (requires selecting a blog)
Page
Creates static pages
Both
Creates both an article and a page from the same Cuppa content
Blog Selection
If publishing as articles, select which Shopify blog to publish to. Cuppa loads your available blogs automatically.
Publish Status
Draft: Content saved as draft in Shopify (recommended to start)
Published: Content goes live immediately
Auto-Publishing
ON: Articles auto-publish to Shopify when generated
OFF: Manual publishing only
Publishing Content
Single Article
Open any article in Cuppa
Click Send to > Shopify
Content publishes with your configured defaults
From a Project
Open your project
Use the Publish options to send to Shopify
Choose which articles to publish
Bulk Export
Select multiple articles
Choose Export to Shopify
Articles are processed in the background (15 at a time with rate limiting)
Track progress in the bulk publishing status
What Gets Published
Title
Article title
Page title
Content
Article body (HTML)
Page body (HTML)
Slug
URL handle
URL handle
Excerpt
Article excerpt
N/A
Featured Image
Article image
N/A
Author
Article author (if configured)
N/A
Rate Limiting
Shopify's GraphQL API uses cost-based throttling. Cuppa handles this automatically:
Single publishes: instant
Bulk exports: processed in chunks of 15 with 1.5-second delays
Progress is tracked and visible during bulk operations
Legacy Custom Apps
If you connected Shopify before January 2026 using a static Admin API access token from a custom app created in the Shopify admin, your connection will continue to work. No action is needed.
If you need to reconnect or set up a new connection, use the Dev Dashboard flow described above. The legacy token option is still available in Cuppa under "Using a legacy custom app with a static token?" in the connection dialog.
Note: Shopify no longer allows creating new legacy custom apps in the admin panel as of January 1, 2026.
Troubleshooting
"Request failed with status code 400"
This almost always means the app is not installed on your store.
Go to your app in the Dev Dashboard
Check the Overview page for Installations
If it shows 0, click "Install app" and select your store
Try connecting again in Cuppa
"Connection failed"
Check your store URL:
Use your
.myshopify.comdomain (e.g.,mystore.myshopify.com)Don't include
https://or a trailing slashDon't use a custom domain
Check your credentials (Dev Dashboard app):
Verify the Client ID and Client Secret are correct
Make sure the app is installed on your store (see above)
Confirm the app has
read_contentandwrite_contentscopes
Check your credentials (legacy custom app):
Copy the complete access token (it's only shown once when created)
Make sure the custom app is still installed
Verify the token hasn't been revoked
"Publishing failed"
Verify your app has
write_contentscopeCheck that the selected blog still exists in Shopify
Very long articles may hit Shopify's API limits
Ensure featured images are publicly accessible URLs
Articles not appearing in Shopify
Check Blog posts > Drafts (may be saved as draft)
Verify the correct blog is selected in Cuppa settings
Check Online Store > Pages if publishing as pages
Bulk export seems slow
Shopify rate limits are handled automatically
15 articles per chunk with pauses between
Large exports (100+ articles) may take several minutes
Progress updates are shown during the export
FAQ
Can I publish to multiple Shopify stores? Each Cuppa team connects to one Shopify store. If you manage multiple stores, set up separate teams.
Does it update existing articles? Currently creates new content. Delete in Shopify and republish to update.
Can I use this with Shopify's blog SEO features? Content publishes as standard blog articles/pages. Shopify's built-in SEO fields (title, description) use the content you've set in Cuppa.
Does it work with Shopify themes? Articles and pages publish as standard Shopify content. Your theme controls how they're displayed.
What about product descriptions? This integration is for blog articles and pages. Product content is not supported at this time.
Can I schedule posts? Posts publish with your configured status (draft or published). Use Shopify's built-in scheduling for timed releases.
What's the difference between OAuth and legacy token auth? Dev Dashboard apps (Jan 2026+) use OAuth with auto-rotating tokens that Cuppa refreshes automatically. Legacy custom apps use a static token that never expires but can no longer be created for new apps.
Disconnecting
Go to Team Settings > Integrations
Click Disconnect on Shopify
Your existing content remains in Shopify. You can optionally delete the app from the Shopify Dev Dashboard.
Related Docs
WordPress Integration
Ghost Integration
Webflow Integration
Last updated
Was this helpful?