CiteFlow publishes to Shopify through the Admin REST Blog & Article API, choose a blog handle, CiteFlow handles the rest.
Shopify publishing
The Shopify adapter creates unpublished blog articles in your store through the Shopify Admin REST API. It works with any Shopify plan that allows custom apps (all current paid plans).
How does Shopify publishing work?
CiteFlow authenticates with a custom app's Admin API access token and
calls POST /admin/api/2024-10/blogs/{blog_id}/articles.json. Articles
are created with published: false so they stay out of your storefront
until you publish them from Shopify admin.
What do you need before setting it up?
- A Shopify store on a current paid plan.
- Permission to create custom apps in your store.
- At least one blog in Online Store → Blog posts → Manage blogs.
How do you set up Shopify publishing?
1. Create the custom app
- In Shopify admin go to Settings → Apps and sales channels.
- Click Develop apps. If this is your first custom app, accept the developer terms.
- Click Create an app and name it (for example
CiteFlow). - Open the app and click Configure Admin API scopes.
- Enable the
write_contentscope. This is the only scope CiteFlow needs. Save. - Click Install app at the top right, then confirm.
2. Copy the Admin API access token
After installation Shopify shows the Admin API access token once. It
starts with shpat_. Copy it now; you cannot retrieve it later (you can
only regenerate, which invalidates the previous token).
The Admin API access token grants write access to your blog content. Treat it like a password. If you need to rotate it, install a new custom app and delete the old one.
3. Find your blog ID
- In Shopify admin go to Online Store → Blog posts.
- Click Manage blogs (top right).
- Click into the blog you want CiteFlow to publish to.
- The URL contains the numeric blog ID, for example
/admin/blogs/123456789012. The 12-digit number is yourblog_id.
4. Add the endpoint in CiteFlow
- Dashboard → Settings → Publishing destinations → Add endpoint.
- Pick Shopify.
- Fill in:
- Store domain: your
.myshopify.comdomain, for exampleexample-store.myshopify.com. Do not use a custom storefront domain. - Admin API access token: the
shpat_...value from step 2. - Blog ID: the numeric ID from step 3.
- Store domain: your
- Save.
5. Test the connection
Click Test connection. CiteFlow calls
GET /admin/api/2024-10/shop.json to verify the token, then
GET /admin/api/2024-10/blogs/{blog_id}.json to confirm the blog exists
on this store. Both must succeed.
How do fields map to Shopify?
| CiteFlow field | Shopify field |
|---|---|
title | article.title |
body_html + JSON-LD schema | article.body_html |
meta_description | article.summary_html |
target_keywords (joined with commas) | article.tags |
slug | article.handle |
Always "CiteFlow Content Team" | article.author |
hero_image_url (when present) | article.image.src |
Always false | article.published |
CiteFlow appends the article's JSON-LD schema as a
<script type="application/ld+json"> block inside body_html because
Shopify does not expose a dedicated structured-data field.
What are the tier limitations?
Endpoints (any mix of webhook and platform adapters) count against the overall publishing endpoint cap:
| Tier | Publishing endpoints |
|---|---|
| Trial | 1 endpoint |
| Standard | 3 endpoints |
| Enhanced | 10 endpoints |
| Marketplace | Unlimited (soft cap 50) |
How do you troubleshoot Shopify publishing?
401 [API] Invalid API key or access token. The token is wrong or
the app was uninstalled. Re-install the custom app, copy the new
shpat_... token, and update the endpoint.
403 forbidden when publishing. The custom app does not have
write_content. Open the app, click Configure Admin API scopes, add
write_content, save, then Install app again.
404 Not Found for the blog ID. The blog ID does not exist on this
store, or it was deleted. Look it up again from
Online Store → Blog posts → Manage blogs.
Article appears in admin but not on the storefront. This is
expected. CiteFlow creates articles with published: false. Open the
article in Shopify admin, review it, and toggle Visibility → Visible
when ready.
Images are missing. Shopify ingests the hero image asynchronously from the URL CiteFlow provides. If the URL becomes unreachable before Shopify fetches it, the image fails silently. Check the admin's article view a few minutes after publish.
Need help?
Copy the Shopify error shown in your CiteFlow dashboard and contact support if the test passes but real publishes fail.
References
- Shopify Admin REST: Blog & Article, Shopify
- Schema.org Article specification, Schema.org
- Google Search Central: structured data guidelines, Google
Related
- OverviewPick the adapter that matches your stack. All adapters create drafts so your team reviews before publishing.