How to fix my Automation in Shopify With a Sidekick App

BBSC Membership Manager — Intended Functionality The goal is a fully automated membership system for the Big Bud Smokers Club that requires zero manual intervention after a customer completes a purchase. When a customer purchases the BBSC Free Membership (Tier 1) product, the system should automatically: Assign the next sequential member number in a custom format (04XXX20 where XXX increments with each new member) Derive the member’s chapter number from their phone area code Create a member record storing: member number, name, email, phone, tier, chapter, join date, expiration date, order ID, and status Write the assigned member number to the customer’s Shopify metafield (membership.member_number) Trigger a PDF membership card to be generated via PDFMonkey with the member’s correct data Deliver the membership card to the customer via a Klaviyo email automatically The full intended automation chain: Order Paid → Member number auto-assigned → Member record created → Customer metafield updated → PDF card generated → Email delivered to customer Current tools in use: Shopify (metafields + metaobjects), Make (automation), PDFMonkey (card generation), Klaviyo (email delivery) The core need: A reliable trigger that fires on order paid, assigns the member number, and writes it to the customer metafield so downstream automation (Make → PDFMonkey → Klaviyo) can execute correctly.

Hi @Michael_Montford

The architecture you’ve described is solid — here’s how to wire it up reliably.

Trigger: orders/paid webhook

Use Make.com’s Shopify “Watch Events” module set to orders/paid. It fires once per confirmed payment and includes the customer ID you need downstream. This is more reliable than polling and is the right trigger for your use case.

Writing the member number to a customer metafield

Use the metafieldsSet Admin GraphQL mutation via Make.com’s HTTP or GraphQL module:

mutation {
  metafieldsSet(metafields: [
    {
      key: "member_number",
      namespace: "membership",
      ownerId: "gid://shopify/Customer/{{CUSTOMER_ID}}",
      type: "single_line_text_field",
      value: "{{MEMBER_NUMBER}}"
    }
  ]) {
    metafields { id value }
    userErrors { field message }
  }
}

Your app needs write_customers scope for this.

Sequential member numbers

Shopify doesn’t have native auto-increment for metafields, so manage the counter in Make.com using a Data Store — read, increment, format as 04XXX20, then write it back.

Full Make.com scenario chain:

  1. Shopify trigger: orders/paid
  2. Get customer details (area code → chapter number)
  3. Read + increment counter from Data Store
  4. Format member number
  5. metafieldsSet mutation → write to Shopify customer
  6. metaobjectCreate mutation → create member record
  7. PDFMonkey → generate card
  8. Klaviyo → send email

Add error handling between steps so a PDFMonkey failure doesn’t silently skip the metafield write.

Docs:

Thank you so much I am gonna try that now. I wish you could be there with me. I’ve already logged over 100 hours just trying to fix this one thing lol.

Are you using the Dev MCP: Shopify AI Toolkit

Having this available in your IDE will really help when building out apps.

Yes I’ve just been using the shopify ai. I have no clue of coding or anything like this so I’ve just followed the direction it gave me. And it’s been a never ending circle lol. I finally got the email, with the pdf, but the information in it was wrong lol.