SporelineSporeline
Sign InStart free

Getting Started

  • Help Center
  • Getting Started

Operations

  • Dashboard
  • Scan
  • Blocks
  • Batches
  • Recipes

Printing

  • Label Templates

Lab

  • Cultures
  • Cryo Storage
  • Agar Plates
  • Liquid Cultures
  • Trials
  • Strains

Analytics

  • KPIs
  • Data Health
  • AI Insights

Logistics

  • Locations
  • Customers
  • Deliveries

Admin

  • Team
  • Settings
  • Billing
  • API Keys
  • Configuration
  • Enumerables
  • Integrations
  • Notifications
  • Import
  • Brand Profile
  • Products
  • Traceability
  • Compliance
  • Reports
  • Log Transcription
  • Switchboard

Guides

  • Your First Batch
  • Moving Blocks
  • Import from Spreadsheets
  • Lots and Spawn
  • Room Readings
  • The New Sporeline Look
  • Lots on Orders
  • Lot Transactions and Lot Audits
  • The Sterilization Log
  • Reports and Their Numbers
  • Auto-assign Lots and Pick Lists
  • Recipes and Planning a NOC Day
  • Stage Schedules and Due Today
  • Planning
  • Notification Rules
  • QC Checkpoints and Release
  • The Lab: Cultures, Cryo, Plates and Liquid Cultures
  • Traceability and Recall
  • Sporeline: Explore Your Lineage
  • Scanning on the Floor
  • Counts by Scan
  • Shared Handhelds
  • Zebra Handhelds
  • Orders and Packing Slips
  • QuickBooks Customers and Products
  • Accounting Export
  • Site Transfers
  • Raw Materials
  • Optional Features
  • Approve AI Changes
  • Configuration Tabs
  • Harvest Workflow
  • Contamination Alerts and the Weekly Digest
  • Label Printing
  • Team Setup
  • The Free Plan
  • Usage Recording
  • Signing Up and Farmhand on Free
  • Start Your Farm from an AI Assistant
  • Privacy and Your Data
  • Connect an AI Assistant
  • Ask Your Assistant
  • Appearance and Dark Mode
  • API Quickstart
  • Shopify Setup
  • Shopify Troubleshooting
  • Migrate With an AI Assistant
  • Spreadsheet Templates for Importing
  • Photos and Files

API

  • Reference
  • Authentication
  • Rate Limits
  • Error Codes

Shopify Setup

Connect your Shopify store so online orders arrive in Sporeline as planned deliveries.

admin

Shopify Setup

Sporeline imports your Shopify orders as deliveries, with their customers, every 15 minutes. You create a private app for your own store in Shopify, give it access to customer data, and paste its credentials into Sporeline. Setup takes about 10 minutes.

Sporeline only reads orders, customers and products. It never changes anything in Shopify.

If a step fails, see Shopify Troubleshooting.

Prerequisites

  • In Shopify, you are the store owner, or a staff member with the App development > Develop permission.
  • The app and the store belong to the same Shopify organization.
  • In Sporeline, you have the Manager or Owner role.

Regular stores and development stores both work.

Two Shopify Sites

Setup uses two different Shopify sites. If you can’t find a setting, check which site you’re on.

SiteAddressWhat you do there
Dev Dashboarddev.shopify.comCreate and release the app, install it, copy its credentials (steps 1 to 4)
Shopify Partnerspartners.shopify.comGrant protected customer data access (step 5)

Step 1: Create the App

  1. In your Shopify admin, go to Settings > Apps.
  2. Click Develop apps, then Build apps in Dev Dashboard.
  3. Click Create app. Under Start from Dev Dashboard, name it “Sporeline” and click Create.

Step 2: Set the Access Scopes and Release

  1. On the version screen, find the Access section.
  2. Add exactly these three scopes: read_orders, read_customers, read_products.
  3. Leave everything else at its default.
  4. Click Release, then Release again to confirm.

Only a released version counts. If you add a scope later, release a new version.


Step 3: Install the App on Your Store

  1. In the app’s Installs section, click Install app.
  2. Choose your store.
  3. Shopify shows what the app can access: View store data (Customers, products, orders). Click Install.

Step 4: Copy the Client ID and Secret

Open the app’s Settings page and copy the Client ID and Client secret. You paste them into Sporeline in step 6.

No redirect URL

If you’ve built apps with the older Shopify Partners model: this app uses the client credentials flow. There is no OAuth redirect URL and no callback to set up. Sporeline trades the client ID and secret for an access token directly.


Step 5: Grant Protected Customer Data Access

Shopify keeps customer names, emails and phone numbers behind a separate approval called Protected Customer Data. Without it, Test connection fails at step 5, Read orders.

This step happens in Shopify Partners, not the Dev Dashboard.

  1. Go to partners.shopify.com and open your app.
  2. Go to API access requests, then Protected customer data access.
  3. Click Select next to Protected customer data and choose a reason. Store management is the closest match.
  4. Under Protected customer fields (optional), click Select on Name, Email and Phone, each with the same reason.

You don’t need Address. Sporeline doesn’t read addresses.

No review for your own store

Only apps listed on the Shopify App Store go through Shopify’s review. For a custom app on your own store, access is granted as soon as you select your data use. Skip the Provide your data protection details questionnaire; this setup doesn’t need it.

This is a different consent from the install screen in step 3. Step 3 grants the access scopes. This step grants access to the customer data inside them.


Step 6: Connect in Sporeline

  1. In Sporeline, go to Settings > Integrations and click Manage on the Shopify card.

  2. Fill in:

    • Store domain: your store’s .myshopify.com domain, for example your-store.myshopify.com. It’s in your Shopify admin under Settings > Domains. A custom storefront domain won’t work.
    • Client ID and Client secret from step 4.
  3. On a development store with test orders (for example, orders placed with Shopify’s Bogus Gateway), tick Also import test orders (only for a development store). On a live store, leave it unticked.

  4. Click Test connection. Sporeline runs five checks:

    1. Check the store domain and credentials
    2. Get an access token from Shopify
    3. Confirm the store matches the domain
    4. Check the app’s access scopes
    5. Read orders

    All five should show a green check under Connection works. If one fails, find it in Shopify Troubleshooting.

  5. Click Connect.


Step 7: Map Your Product Variants

Sporeline needs to know what each product variant is before it can turn an order line into a delivery item.

  1. Under Variant map, click Load variants from Shopify. Sporeline lists every variant in your store. After the first load the button reads Reload variants. A large catalog loads in batches; click Load more variants for the next one.
  2. For each variant you sell as produce, fill in:
    • Species, for example Lion’s Mane
    • Strain (optional)
    • Grade, for example A
    • Weight per unit: the weight of one unit sold, with its unit (g, oz, lb or kg). For an 8 oz bag, enter 8 and choose oz.
  3. Tick Skip only for lines that aren’t produce: gift cards, shipping protection, packaging or supply items.
  4. Click Save variant map.

You can leave a variant blank and map it later. Orders that contain it wait, then import on the next sync after you map it.

Skip only what isn't produce

If every line on an order is skipped, Sporeline creates no delivery for it and lists it under Orders without a delivery on the Shopify page. If you skipped a variant by mistake, untick Skip, fill it in and click Save variant map: those orders import on the next sync. If you’re not sure what a variant is, leave it unmapped instead. See Every Line Skipped.


Step 8: Sync Your Orders

Sporeline syncs automatically every 15 minutes. To import right away, click Sync now.

  • The first sync imports orders from the last 7 days.
  • For older orders, next to Import older orders: choose Last 30 days or Last 60 days and click Import.
  • Shopify’s read_orders scope only covers the last 60 days, and Sporeline imports at most 60 days back.

Check the Result

After a sync, the Shopify page shows Last sync completed, the time, and how many orders were read, how many deliveries are new, and how many were updated. Other counts appear only when they apply: waiting on variant mapping, with every item skipped, with only custom items, with nothing left to deliver (every line refunded or removed), test orders skipped, cancelled before import, failed.

Orders that didn’t become deliveries and need something from you are listed under Orders without a delivery, each with the reason and what to do. See An Order Doesn’t Appear in Deliveries.

New orders appear under Deliveries as Planned, with a Shopify badge showing the order number (for example Shopify #1234). An order that was already fulfilled in Shopify when Sporeline first read it arrives as Shipped.


Related Pages

  • Shopify Troubleshooting: fix a failed Test connection, or find a missing order
  • Integrations: webhooks and other integrations

Try this on your own farm. Free for up to 100 blocks a month.

Start free

© 2026 Sporeline · Built by a mushroom farmer, for mushroom farmers.

iPhone app on the App StoreWhat's newSupportNeed help? Email chase@sporeline.com