Developers are struggling to test custom Shopify Flow triggers using the flowTriggerReceive mutation, encountering “invalid trigger_id” or “invalid handle” errors despite following documentation.
Key Requirements Identified:
Trigger must have correct handle defined
App must be deployed/published and installed on test store
Active workflow must use the trigger
Must use OAuth access token from app installation (not admin API or custom app tokens)
Currently only works for Shopify Plus merchants when using partner custom apps
Common Issues & Solutions:
Wrong API token: Must use the OAuth token provided during app installation, not admin API keys or partner custom app tokens
Shopify Plus requirement: Custom triggers don’t work on non-Plus stores, causing silent failures without error messages
Extension-only apps: Remain unresolved—unclear how to trigger without OAuth flow
Public vs custom apps: Listed/unlisted public apps work for all merchant plans; partner custom apps require Plus
Open Questions:
How to trigger extension-only apps from backend processes
Whether triggers created via extensions work before app release
Specific setup for extension-only apps without OAuth
Summarized with AI on November 3.
AI used: claude-sonnet-4-5-20250929.
I can easily create a custom trigger but I can’t figure out how to test it once it has been created. I have tried multiple variations of using the flowTriggerReceive mutation on the GraphQL API but nothing is working.
Following the documentation, I tried the unstable API version where you pass in handle and payload. But I received an error saying that the handle was invalid. Then I tried the 2023-07 API version where you pass the trigger_id and properties. But then I got an error saying that the trigger_id was invalid. Additionally, if I create the extension using the CLI, it seems that I don’t have access to the trigger_id. I have doubled checked the handles and trigger_id (where available). I have also published the extensions and made them available in my development store. I can’t think of anything else to try.
I have been going in circles for days over this and I can’t seem to find consistent documentation. Can someone please help?
Hi, sorry about that. I would stick with the newer API as it’s the path going forward anyway.
For the trigger to work, I think you need the following to be true:
Trigger has handle correctly defined
App with trigger is deployed/published
App is installed on your test store
Workflow is built using that trigger and active
Mutation is called for that shop and for that specific trigger - sometimes partners grab the wrong API key here and it doesn’t have access to the specific shop.
You may have also run into a current limitation with handles in that you cannot change them after a certain point.
Any thoughts based on that? If not, it might help to share your TOML file with us, as well as the API mutation you are sending. You can also use flow-connectors-dev@shopify.com if you need to keep some details private.
Thank you for your response. If I created the app in the Shopify Partner Site, and I ALSO have an API key from the store Admin, can I use the Admin API? Or do I have to use oauth to validate?
I create the app using the CLI template which includes authentication
I need HMAC and access token in order to make calls to Shopify API
The only way to get that info is to do a redirect to my web server after the user installs the app. At that time, I can capture the required HMAC + token.
Hi there - sorry for the late reply. What you have there is right - you can then call the Admin API with the access token sent to your server during app installation.
Just to confirm, you are using the result of OAuth authentication as the value for the X-Shopify-Access-Token key for both 1. the app that the Flow trigger extension belongs to and 2. the shop that the token was generated for?
In my case, the issue was that the client that I was working with did not have Shopify plus. So even though it worked in my test store, it did not work on the live store due to the client not having a shopify plus account. I did not get any error message. I just eventually figured it out after several days of trying.
Yes, I am using the admin API access token. What I found out is that the flow created via extensions doesn’t work yet. We need to make this via the app portal only, and once we release them seems to work.
In order to build a Flow trigger you must call the API with the token provided to your app via OAuth and not another token. For example, if you are working with a merchant, you cannot create merchant custom app and use that token.
Assuming you have the right token, to Alicianu’s point, to create a Trigger or Action for all merchant plans you must use a listed or unlisted public app. If your app is a partner “custom” (meant for 1:1 partner to merchant), it is currently only enabled for Plus merchants.
Hi would like to know if this issue was resolved, if so what was the solutions? I have recently been upgraded ao shopify plus account but after deploying my extension-only app I am still unable to execute the trigger call from postman or shopify graphql app itself. Any ideas where am I am not doing the right thing?