Skip to main content

Shopflo Custom App — Manual Setup Guide

Set up the Shopflo custom app manually in your Shopify Dev Dashboard — without the Operator extension. Requires Shopflo support to complete.

Written by Swapnil Sangal

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

  1. Go to Shopify Admin → Settings → Apps and sales channels → Develop apps, or open dev.shopify.com/dashboard

  2. Select Apps → Create app → Start from Dev Dashboard

  3. 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."

  1. Open Distribution (or Choose distribution) within the app

  2. Select Custom distribution and click Select

  3. Enter your store domain (e.g. your-store.myshopify.com)

  4. If you operate multiple Shopify Plus stores, enable Allow multi-store installs for one Plus organization

  5. Click Save

Step 4 — Share credentials with Shopflo

  1. Open Settings within the app and copy:

    • App ID

    • Client ID (API Key)

    • Client Secret (API Secret Key)

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

  1. Shopflo support will send you a signed authorization URL.

  2. Open the URL while signed into your Shopify admin.

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

Did this answer your question?