Connect Shopify

Publish a released blog as an article in one of your Shopify store’s blogs. Re-publishing the same blog updates the existing article rather than creating a duplicate. Essel talks to the Shopify Admin GraphQL API using a custom-app Admin API access token.

Requirements

  • A Shopify store where you can create a custom app (staff account with the Apps and Develop apps permissions, or the store owner).
  • At least one blog in the store. Shopify articles live inside a blog — create one under Online Store → Blog posts → Manage blogs if you have none.

1. Create a custom app and get a token

Follow Shopify’s guide for creating and installing a custom app:

  1. In Shopify admin, go to Settings → Apps and sales channels → Develop apps.
  2. If prompted, click Allow custom app development.
  3. Click Create an app, name it (e.g. Essel), and create it.
  4. Open Configuration → Admin API integration → Configure and grant these Admin API access scopes:
    • write_content — create and update blog articles.
    • read_content — list your store’s blogs during setup.
  5. Save, then open the API credentials tab and click Install app.
  6. Under Admin API access token, click Reveal token once and copy it. It starts with shpat_ and is shown only once.

The token doesn’t expire, but it stops working if you uninstall the app.

2. Connect in Essel

  1. Open Settings → Integrations → Shopify.
  2. Enter your store domain — the your-store.myshopify.com address (Essel normalizes a full URL or bare handle for you).
  3. Paste the Admin API access token and click Continue. Essel lists your store’s blogs, which also verifies the token.
  4. Pick the blog to publish into, an optional author byline, a default article status, and toggles (below), then Connect & verify.

Settings

  • Default article statusPublish (visible on your storefront immediately) or Hidden (created unpublished for review in Shopify).
  • Publish automatically on release — push released blogs to Shopify with no manual step. Enabling this makes Shopify your workspace’s single automatic destination.
  • Use the cover image as the article image — sends the blog’s cover image URL; Shopify fetches and re-hosts it on its CDN. No separate upload needed.

How publishing works

  • Essel calls the articleCreate / articleUpdate GraphQL mutations against a pinned Admin API version, so a future Shopify deprecation is a version bump, not a rewrite.
  • The article id is stored, so re-publishing performs an idempotent update.
  • Published articles get a public URL of the form https://your-store.myshopify.com/blogs/<blog-handle>/<article-handle> (or on your primary domain if you’ve set one). Hidden articles have no public URL until you publish them.
  • The token is stored encrypted and is never returned by any read endpoint.

Troubleshooting

  • “Authentication failed … write_content scope” — the token is wrong, the app was uninstalled, or the scope wasn’t granted. Re-check step 1 and reconnect.
  • “This store has no blogs” — create a blog under Online Store → Blog posts first, then retry.
  • Article not visible — the default status is set to Hidden, or the article is published but your theme doesn’t surface the blog. Switch the status to Publish and confirm the blog is linked in your storefront navigation.