Shopify Connector with OAuth Client Credentials - Unauthorized Error

Geoffrey SOUQUIÈRE 71 Reputation points
2026-01-16T09:29:26.51+00:00

Hi There,

Hope life is good

Current situation:

  • My Shopify integration works perfectly using WebActivity with OAuth client credentials flow (client_id + client_secret)
  • I successfully obtain an access token via POST to /admin/oauth/access_token
  • This token works for all GraphQL API calls in my pipeline

Performance issue:

  • The WebActivity approach is not performant - it takes more than 10 minutes to retrieve 200 orders, each containing 200 items

Question: How can I use the native Shopify connector efficiently?

Important note: Since January 1st, 2026, it's no longer possible to create Custom Apps with permanent tokens (shpat_xxx) in the Shopify admin. Shopify now requires using the Dev Dashboard with OAuth client credentials flow.

https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/generate-app-access-tokens-admin

Ideal solution: It would be amazing to be able to pass the OAuth token directly into the linked service (e.g., from a pipeline variable or Key Vault reference), rather than requiring a permanent token.

Let me know,
Have a nice day,

Azure Data Factory
Azure Data Factory

An Azure service for ingesting, preparing, and transforming data at scale.

0 comments No comments

Answer accepted by question author
Pilladi Padma Sai Manisha 11,705 Reputation points Microsoft External Staff Moderator
2026-01-16T10:33:39.8533333+00:00

Hi Geoffrey SOUQUIÈRE,
At this time, the native Shopify connector cannot be used with OAuth client-credentials authentication, which is why it cannot be made efficient for your scenario. The connector only supports a static, permanent access token configured directly in the linked service. It does not support dynamically generated OAuth tokens, token refresh, or injecting tokens from pipeline variables or Key Vault.

OAuth tokens obtained from /admin/oauth/access_token work correctly when calling Shopify APIs through Web or REST activities, but the native connector cannot consume these tokens. Since Shopify no longer allows creating new permanent tokens for custom apps as of January 1, 2026, this creates a compatibility gap between the connector and Shopify’s current authentication model.

Given this limitation, the recommended and supported approach is to continue using Web or REST activities with OAuth client credentials and switch to Shopify GraphQL bulk operations. Bulk operations allow you to retrieve orders and line items in a single export job, then download the generated result file once processing completes. This approach is significantly more performant and avoids the overhead of thousands of individual API calls.

the native Shopify connector does not currently support OAuth-based authentication, permanent tokens are no longer an option for new apps, and WebActivity combined with Shopify GraphQL bulk APIs is the most scalable and future-proof solution until native OAuth support is added to the connector.

Was this answer helpful?

1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-01-16T09:29:36.56+00:00

    To use the native Shopify connector efficiently, especially considering the performance issues you're facing with the WebActivity approach, you can follow these guidelines:

    1. Request Access for Full Order History: Ensure that your app has the necessary permissions to read all orders. You need to request access for your app through the Shopify Partner dashboard. This will allow you to retrieve the complete order history, which can improve performance.
    2. Optimize API Calls: Instead of fetching all orders at once, consider paginating your requests. This can help reduce the load and improve response times. Shopify's API supports pagination, allowing you to retrieve orders in smaller batches.
    3. Use the Latest Connector Updates: Stay updated with the latest changes in the Shopify connector. The updates often include performance enhancements and new features that can help streamline your integration.
    4. Implement Efficient Error Handling: If you encounter unauthorized errors, ensure that your OAuth token is valid and has the required scopes. If your token is not working, you may need to request a new access token, especially if the connector has been updated to require more permissions.
    5. Consider Development Store for Testing: If you haven't already, create a development store for testing your integration. This allows you to experiment with different configurations without affecting your production environment.

    By following these steps, you should be able to enhance the performance of your Shopify integration using the native connector.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.