doc-site
Runbooks

A booking is missing in Zoho

A Shopify order is paid but its booking, participants or confirmation email did not appear.

Use this runbook when an order exists in Shopify but Zoho has no booking for it, the booking is incomplete, or the customer did not receive their confirmation email.

The order passes through Zapier and then shopify-zoho-integration before it reaches Zoho. Find the step where it stopped before re-sending anything, because a partial run may already have created some records.

Diagnose

1. Confirm the order

In Shopify Admin, open the order. Record the order number, for example S1234, and check:

CheckExpected
Payment statusPaid
Camp line's product tagsIncludes sport
Physical product line's tagsIncludes ecommerce-product
Order metafield EnvironmentBlank or production

Lines without either tag are ignored by the integration. An order with another Environment value is skipped on purpose.

2. Search Zoho

In Zoho CRM, search Bookings for the order number.

ResultGo to
No bookingStep 3
Booking exists, but participants or family details are missingStep 5
Booking exists and is complete, but no email arrivedStep 6

3. Check Zapier

In Zapier, open the zap history for "Shopify → Zoho via API" and find a run for the order.

ResultMeaning
No runThe zap was off, or the trigger did not fire
Run with an error at the API stepThe integration returned an error. Note the message and go to step 4
Run succeededThe integration accepted the order. Go to step 4

4. Check the integration

When order processing fails, the integration emails a status report to the developer address, and for some errors to ASC. Search both inboxes for the order number.

A developer can also search the shopify-zoho-integration logs in Google Cloud for the order number. Common messages:

MessageCause
"Order not processable by this version of the API"The order's Environment is not in the service's allowed list
Early bird dates not foundNo Early Bird Dates entry matches the camp variant's Season and Year
Zoho authentication or token errorsZoho credentials expired or were revoked
"No booking found"Order number format did not match Order_Id in Zoho

5. Check the camp's data

Open the camp variant in Shopify Admin.

CheckWhy
Season and Year metafields setUsed to find the Early Bird Dates entry
Early Bird Dates entry exists with handle such as spring-2026Needed to calculate the early bird flag
SKU setCarried into the Zoho records
Participant details on the order lineName, date of birth and school are needed for Zoho participant records

6. Check the email

The confirmation email is a separate zap, "Confirmation Emails via API". Check its history for the order.

ResultCause
No run or an errorZap off or failed
Run succeededCheck the customer's spam folder and the email address on the order. A developer can check Mailgun for bounces
Email arrived but content is blankThe product's or variant's Email Templates metafields are empty

The integration does not send the same email for the same order twice, so a replayed zap does not send a duplicate.

Repair

CauseFix
Zap offTurn it on, then replay the failed or missed runs from zap history
Early Bird Dates missingCreate the entry, see Pricing and early bird, then replay the run
Variant Season or Year missingSet them, then replay
Zoho credentials expiredA developer renews the Zoho OAuth details in the service and in the zap
Environment skipped a real orderClear the order's Environment metafield, then replay

Before replaying, search Zoho again for the order number. If some records were created, remove them first, or ask a developer to finish the booking by hand. Replaying over a partial booking can create duplicate families, children or participants.

The integration repository has developer scripts for re-sending orders, such as src/repush-orders.ts. They write to live Zoho. Read the script before running it.

Verify

  1. In Zoho, the booking exists with the right camp, participants and family.
  2. The participant count matches the camp lines on the Shopify order.
  3. The customer has received the confirmation email.

Escalate

For Zoho data corrections that cannot be made from the booking record, contact ASC's Zoho administrator. For integration faults, contact the developer who maintains asc-api-src-zoho-integration.

On this page