Prefer the automated route? Most merchants re-authorise using the Shopflo Operator browser extension — it handles everything automatically in under 5 minutes. Use the extension instead →
This guide walks you through creating and configuring the Shopflo custom app directly in your Shopify account — without the Operator extension, and without granting Shopflo access to your Shopify login. You stay in control at every step.
Contact support before you begin. You'll need specific URLs and scopes from Shopflo to complete this setup, and Shopflo will handle Step 5 (authorization) on your behalf. Write to support@shopflo.com before starting.
How it works
You create the app, you define the permissions, and you authorize the final installation. Shopflo never receives your Shopify login credentials.
Step | Who | What |
1 | You | Create the custom app in the Shopify Dev Dashboard |
2 | You | Configure scopes, URLs, and set distribution to Custom |
3 | You → Shopflo | Share App ID, Client ID, and Client Secret securely |
4 | Shopflo | Generate a signed OAuth authorization URL and send it to you |
5 | You | Open the URL, review Shopify's permission screen, and click Install |
What you'll need from Shopflo
Contact support@shopflo.com before starting to get:
App URL (app home URL)
Allowed redirection URL(s) (OAuth callback URL)
Confirmation of which scopes apply to your store
Step 1 — Create the app
Go to Shopify Admin → Settings → Apps and sales channels → Develop apps, or open dev.shopify.com/dashboard
Select Apps → Create app → Start from Dev Dashboard
Enter a name (e.g. Shopflo Checkout) and click Create
Step 2 — Configure scopes and URLs
Open the app and go to the Versions tab. Fill in:
App URL — provided by Shopflo
Allowed redirection URL(s) — provided by Shopflo
Webhooks API version — select the latest available
Access scopes — add all scopes below
Admin API scopes
write_customers write_discounts read_gift_cards write_gift_cards write_draft_orders write_inventory write_order_edits write_orders write_price_rules write_products write_script_tags write_themes write_shipping read_shipping write_assigned_fulfillment_orders read_assigned_fulfillment_orders write_fulfillments read_fulfillments write_merchant_managed_fulfillment_orders read_merchant_managed_fulfillment_orders write_third_party_fulfillment_orders read_third_party_fulfillment_orders write_custom_fulfillment_services read_custom_fulfillment_services write_fulfillment_constraint_rules read_fulfillment_constraint_rules read_store_credit_accounts write_store_credit_account_transactions read_store_credit_account_transactions
Storefront API scopes
unauthenticated_read_product_pickup_locations unauthenticated_read_checkouts unauthenticated_write_checkouts unauthenticated_read_product_tags unauthenticated_write_bulk_operations unauthenticated_read_bulk_operations unauthenticated_read_product_listings unauthenticated_read_customers unauthenticated_write_customers unauthenticated_read_content unauthenticated_read_metaobjects unauthenticated_read_selling_plans unauthenticated_read_customer_tags unauthenticated_read_product_inventory
Click Release to publish the version.
Step 3 — Enable Custom Distribution
Do not skip this step. Without it, Shopify will show: "This app can't be installed yet — the app developer needs to select a distribution method first."
Open Distribution (or Choose distribution) within the app
Select Custom distribution and click Select
Enter your store domain (e.g. your-store.myshopify.com)
If you operate multiple Shopify Plus stores, enable Allow multi-store installs for one Plus organization
Click Save
Step 4 — Share credentials with Shopflo
Open Settings within the app and copy:
App ID
Client ID (API Key)
Client Secret (API Secret Key)
Send these to Shopflo support via a secure channel — a secret manager, password-protected file, or a one-time secret sharing service. Do not send via plain email or chat.
Treat the Client Secret like a password. If it is ever exposed, rotate it immediately in the app settings — this invalidates the old secret.
Step 5 — Authorize and install
Shopflo support will send you a signed authorization URL.
Open the URL while signed into your Shopify admin.
Review the permissions on Shopify's consent screen and click Install.
You're done. Shopflo now has access to your store under the scopes you reviewed and approved.
Revoking access
To uninstall at any time: Shopify Admin → Settings → Apps and sales channels → [App Name] → Uninstall. This immediately invalidates Shopflo's access token.
Why each permission is needed
Orders, carts and checkout
Scope | Why |
unauthenticated_read_checkouts, unauthenticated_write_checkouts | Create and update customer carts and checkout sessions |
write_orders | Convert completed checkouts into Shopify orders |
write_draft_orders | Create draft orders for custom carts and recovery flows |
write_order_edits | Support post-purchase order modifications |
unauthenticated_read_bulk_operations, unauthenticated_write_bulk_operations | Improve performance on large stores |
Products, inventory and pricing
Scope | Why |
write_products | Access product and variant information |
unauthenticated_read_product_listings, unauthenticated_read_product_tags, unauthenticated_read_product_inventory, unauthenticated_read_product_pickup_locations | Display accurate product information and availability |
write_inventory | Adjust inventory and prevent overselling |
unauthenticated_read_selling_plans | Support subscriptions |
unauthenticated_read_metaobjects, unauthenticated_read_content | Access custom content used in checkout |
Discounts and promotions
Scope | Why |
write_discounts, write_price_rules | Create and apply discounts at checkout |
read_gift_cards, write_gift_cards | Validate and issue gift cards |
Shipping
Scope | Why |
read_shipping, write_shipping | Retrieve and manage shipping options |
Fulfillment
Scope | Why |
read_fulfillments, write_fulfillments | Create and manage fulfillment records |
read/write_assigned_fulfillment_orders | Support assigned fulfillment workflows |
read/write_merchant_managed_fulfillment_orders | Support merchant-managed fulfillment |
read/write_third_party_fulfillment_orders | Support 3PL fulfillment |
read/write_custom_fulfillment_services | Integrate custom fulfillment providers |
read/write_fulfillment_constraint_rules | Respect routing and fulfillment constraints |
Customers
Scope | Why |
write_customers | Create and update customer records |
unauthenticated_read_customers, unauthenticated_write_customers, unauthenticated_read_customer_tags | Support customer recognition and personalisation |
Store credit
Scope | Why |
read_store_credit_accounts | View customer store credit balances |
read/write_store_credit_account_transactions | Apply and record store credit usage |
Theme and scripts
Scope | Why |
write_themes | Insert Shopflo checkout assets into storefront themes. Changes are auditable through Shopify theme history. |
write_script_tags | Load Shopflo checkout and analytics scripts. Scripts can be reviewed in Shopify admin. |
Optional scopes
The following scopes are only needed if your store uses these features. If you don't, contact support@shopflo.com to remove them before setup:
Store credit
Gift cards
Subscriptions (selling plans)
Post-purchase order edits
