shopShopify

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:

  1. A Shopify store with admin access

  2. An app created in the Shopify Dev Dashboard (see setup below)

  3. 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 Dashboardarrow-up-right instead of the Shopify admin.

  1. Click Create app

  2. Name it something like "Cuppa Publishing"

  3. Under Configuration, create a new App version

  4. Add the following Admin API scopes:

    • write_content (for blog articles and pages)

    • read_content

  5. Save the version

Install the App on Your Store (Required)

This step is easy to miss, but the integration will not work without it.

  1. In the Dev Dashboard, go to your app's Overview page

  2. Click the "Install app" button (top right)

  3. Select your store and confirm the installation

  4. 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

  1. Go to your app's Settings page in the Dev Dashboard

  2. 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

  1. Go to Team Settings > Integrations

  2. Find Shopify and click Connect

  3. Enter your:

    • Store URL: Your mystore.myshopify.com domain

    • Client ID: From your Dev Dashboard app

    • Client Secret: From your Dev Dashboard app

  4. Click Test Connection to verify

  5. Click Load Blogs to select which blog to publish to

  6. Configure your defaults (see Step 3)

  7. Click Connect


Step 3: Configure Defaults

After connecting, set your preferences:

Content Type

Option
What It Does

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

  1. Open any article in Cuppa

  2. Click Send to > Shopify

  3. Content publishes with your configured defaults

From a Project

  1. Open your project

  2. Use the Publish options to send to Shopify

  3. Choose which articles to publish

Bulk Export

  1. Select multiple articles

  2. Choose Export to Shopify

  3. Articles are processed in the background (15 at a time with rate limiting)

  4. Track progress in the bulk publishing status


What Gets Published

From Cuppa
To Shopify Article
To Shopify Page

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.

  1. Go to your app in the Dev Dashboardarrow-up-right

  2. Check the Overview page for Installations

  3. If it shows 0, click "Install app" and select your store

  4. Try connecting again in Cuppa

"Connection failed"

Check your store URL:

  • Use your .myshopify.com domain (e.g., mystore.myshopify.com)

  • Don't include https:// or a trailing slash

  • Don'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_content and write_content scopes

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_content scope

  • Check 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

  1. Go to Team Settings > Integrations

  2. Click Disconnect on Shopify

Your existing content remains in Shopify. You can optionally delete the app from the Shopify Dev Dashboard.


  • WordPress Integration

  • Ghost Integration

  • Webflow Integration

Last updated

Was this helpful?