Use the companyCreate Admin GraphQL mutation to create a company record with the company name and any custom attributes; capture the returned company ID
Use the companyLocationCreate mutation to add a location to the company, supplying the billing and shipping address and associating it with the parent company ID
Use the companyContactCreate mutation to add a customer as a contact on the company, then use companyContactAssignRoles to assign the appropriate role (buyer, admin, or a custom role) to the contact
Set payment terms on the company location using the companyLocationAssignAddress or paymentTermsCreate approach; use the paymentTermsTemplate query to look up the available templates such as net-30 before creating terms
Verify the company configuration by querying the company node and checking that location, contact, and payment terms are all associated correctly
Test B2B checkout behavior by logging in as the assigned contact on a development store and verifying that B2B pricing and terms are applied at checkout
Known gotchas
B2B features require that the Shopify store is on a plan that includes B2B; attempting B2B mutations on an ineligible store returns an access-denied or feature-unavailable error
Payment terms must reference an existing payment terms template; creating terms with an arbitrary net-days value is not supported and the mutation will fail without a valid template ID
Company contacts must already exist as Shopify customer records before they can be assigned to a company; create the customer first if they do not exist
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp