Shopify Flow
Last updated: April 16, 2026
B2B Registration Form & Approval fires three Shopify Flow triggers. The app does not send emails itself - use Flow to send notifications, update external systems, or build multi-step approval chains.
Setting up a workflow
- In Shopify admin, go to Flow
- Click Create workflow
- Set the trigger to one of the three B2B Registration Form & Approval triggers below
- Add your actions (Send email, HTTP request, etc.)
- Turn the workflow on
Trigger: B2B Customer Applied
Fires when a customer submits the registration form.
Payload fields:
| Field | Type | Description |
|---|---|---|
registrationId | number | Internal registration ID |
customer_id | number or null | Shopify numeric customer ID. Null if “Create customer on submit” is off |
customerEmail | string | Email from the form |
companyName | string | Company name from the form |
vatId | string | VAT/Tax ID submitted. Empty string if not provided |
countryCode | string | ISO 3166-1 alpha-2 country code. Empty string if not provided |
Common uses:
- Notify your team that a new application is waiting for review
- Log the application to a spreadsheet or CRM via an HTTP request
Trigger: B2B Customer Approved
Fires when an application is approved, either manually from the dashboard or via auto-approve.
Payload fields:
| Field | Type | Description |
|---|---|---|
registrationId | number | Internal registration ID |
customer_id | number | Shopify numeric customer ID |
customerEmail | string | Customer email |
companyName | string | Company name |
vatId | string | Validated VAT/Tax ID. Empty string if not provided |
companyShopifyId | string | Shopify B2B Company GID if “Create B2B Company” is enabled. Empty string otherwise |
Common uses:
- Send a welcome email to the approved customer
- Add the customer to a CRM or mailing list
- Trigger a Slack or Teams notification to your sales team
Trigger: B2B Customer Rejected
Fires when an application is denied from the dashboard.
Payload fields:
| Field | Type | Description |
|---|---|---|
registrationId | number | Internal registration ID |
customer_id | number or null | Shopify numeric customer ID. May be null if the customer was never created |
customerEmail | string | Customer email |
companyName | string | Company name |
Common uses:
- Send a polite denial email to the applicant
- Archive the application in an external system
Sending emails with customer data
In a Flow Send email action, you can reference payload fields using double-brace syntax. The field names depend on which trigger you’re using.
Example email body for the approved trigger:
Hi {{customerEmail}},
Your application for {{companyName}} has been approved. You can now log in and access wholesale pricing.
Welcome aboard.
All string fields from the payload are available as template variables.
Using Flow Actions
B2B Registration Form & Approval also exposes two Flow actions you can call from other workflows:
- Approve B2B registration - approves a pending application by
registrationId - Deny B2B registration - denies a pending application by
registrationId
These are useful if you want to build a multi-step approval chain. For example: trigger on B2B Customer Applied, send an internal email with a link to the admin, then have a manual approval step that calls the action.