Docs /Shopify Integration Dashboard →

Shopify Integration

Automatically deliver digital products through Continuata when customers complete purchases in your Shopify store.

Overview

The Shopify integration uses webhooks to automatically create download tokens when customers purchase digital products. When a customer completes an order, Shopify sends a webhook to Continuata, which generates a secure download link and emails it to the customer.

Prerequisites: You'll need a Shopify store with digital products and admin access to configure webhooks.

Step 1: Configure Products in Continuata

First, upload your digital products to Continuata and note their Product IDs. You'll need these to map Shopify products to Continuata products.

  1. Go to your Continuata dashboard
  2. Upload your digital products (sample packs, plugins, etc.)
  3. Note the Product ID for each product (found in the URL or product settings)
  4. Ensure products are published and have active versions

Step 2: Set Up SKU Mapping

External SKU mappings live on each product, not in Settings. For every Continuata product you sell on Shopify:

  1. Open the product in your Continuata dashboard
  2. Find the External Mappings panel in the right column
  3. Add a mapping with vendor Shopify and the Shopify product SKU as the external key
  4. Save — the webhook handler will route any Shopify order with that SKU to this Continuata product
SHOPIFY_SKU          →  CONTINUATA_PRODUCT (slug)
epic-drum-kit-v2     →  audio-imperia-drums-2024
ambient-textures     →  soundscapes-ambient-v1
vocal-chops-pack     →  vocal-elements-collection

Step 3: Configure Webhook in Shopify

Set up a webhook in your Shopify admin to notify Continuata of new orders:

  1. In your Shopify admin, go to Settings → Notifications
  2. Scroll down to Webhooks
  3. Click Create webhook
  4. Configure the webhook with the values below

Event

Order payment

Format

JSON

URL

https://continuata.io/webhooks/{YOUR_ORG_ID}/shopify

Replace {YOUR_ORG_ID} with your organisation ID from Continuata.

Step 4: Configure Webhook Secret

For security, Continuata verifies every webhook against your store's signing secret:

  1. After creating the webhook, stay in Shopify's Settings → Notifications → Webhooks section — Shopify displays the signing secret there ("All your webhooks will be signed with…"). Copy it.
  2. In your Continuata dashboard, go to Settings → Integrations
  3. Select Shopify from the provider dropdown in the Add Integration panel
  4. Paste the signing secret from Shopify and Save

Step 5: Test the Integration

Test the integration with a small purchase:

  1. Create a test order in Shopify with a mapped digital product
  2. Complete the purchase flow
  3. Check the Continuata dashboard for new download tokens
  4. Verify the download link works correctly

Email Delivery

Continuata automatically emails each customer their download link as soon as the order webhook is processed — immediate delivery, professional branded templates, automatic retries. Customers can also retrieve all their purchases any time at continuata.io/my.

Download Links

Download links are valid for 48 hours. Expired links refresh automatically when the customer opens them, and customers can always re-request a fresh link at continuata.io/my. Links are unlimited-use within their validity window.

Troubleshooting

Webhook not triggering

  • Check webhook URL is correct and includes your organisation ID
  • Verify webhook is configured for "Order payment" event
  • Test webhook delivery in Shopify admin
  • Check Continuata webhook logs in dashboard

SKU not found errors

  • Ensure SKU mapping is configured in Continuata dashboard
  • SKU matching is case-insensitive — check for typos or extra whitespace in the mapping instead
  • Check that mapped Continuata products are published

Download links not working

  • Check token hasn't expired
  • Verify product version is active and published
  • Ensure files were uploaded successfully to Continuata

Need Help? Contact support at support@continuata.com or check our webhook documentation for more details.