Triggering a Zap when a new order is placed

With the Zapier integration, you can start a Zap automatically every time a new order is placed in your Purplepass account. Each order sends the customer's contact details, the order totals, and a line item for every ticket type purchased, including the event, pricing, fees, and seat details.

Some popular ways to use the New Order trigger:

  • Add ticket buyers to your email marketing list
  • Create or update contacts in your CRM
  • Log every order in a Google Sheet for reporting
  • Post a message in Slack when tickets are sold
  • Send a text message to customers who opted in to SMS

When the trigger fires

The New Order trigger is instant. Purplepass sends each order to Zapier as soon as it's placed, for every event in the connected Purplepass account. This includes:

  • Online orders placed through checkout (Order Type CHECKOUT)
  • Box office sales (Order Type BOXOFFICE)
  • Guest list orders (Order Type GUESTLIST)

To run your Zap for only some orders (for example, one event or online orders only), add a filter step. See Helpful tips below.

Before you start

  • You need a Zapier account and your Purplepass organizer login.
  • If this is your first time using Purplepass with Zapier, see Connecting your account to Zapier to build zaps.
  • Depending on your Zapier plan, some tools mentioned in this article (like filters and looping) may not be available.

Set up the Zap

  • Log in to your Zapier dashboard
  • Select + Create Zap on the main page

Create Zap button on the Zapier dashboard

  1. In the trigger step, search for and select the Purplepass app.

    Searching for the Purplepass app in Zapier

    Animated walkthrough of adding the Purplepass app to a new Zap

  2. Choose New Order as the trigger event and select Continue.

    Selecting New Order as the Purplepass trigger event in Zapier

  3. If your Purplepass account isn't connected yet, select Sign in and log in with your Purplepass account to authorize Zapier. Zapier can read your events and orders, but it can't make changes to your Purplepass account.

    Prompt to sign in and connect your Purplepass account to Zapier

  4. Select Test trigger. Zapier pulls in a recent order so you can see real values for each field. If your account doesn't have any orders yet, place a test order first and then test again.
  5. Add your action step. Choose the app you want to send the order data to (for example, Mailchimp, HubSpot, Google Sheets, or Slack), then map the Purplepass fields listed below into that app's fields.
  6. Test your action, then select Publish to turn on your Zap.

Order data sent to Zapier

Each order includes three groups of fields:

  • Order fields: customer details and totals for the whole order (one value per order).
  • Line item fields: one line item for each ticket type per event in the order. For example, an order with 2 General Admission tickets and 1 VIP ticket has two line items.
  • Seat fields: one entry per seat for assigned seating tickets.

The tables below list each field by the name you'll see in Zapier, along with its key. You'll only need the key for technical steps like Code by Zapier or Webhooks by Zapier.

Order details

Field (in Zapier) Key Description
Order Id id Purplepass order number (the Order # shown on the receipt)
Order Type (CHECKOUT, BOXOFFICE, GUESTLIST) type Where the order came from: CHECKOUT (online checkout), BOXOFFICE (box office), or GUESTLIST (guest list)
Order Date order_date Date and time the order was placed, in ISO 8601 format with time zone offset (e.g., 2026-10-13T09:15:00-07:00)
Payment Method payment_method How the order was paid (e.g., CASH, CHECK, OTHER)
Email email Customer email address. May be blank on box office and guest list orders
First Name first_name Customer first name
Last Name last_name Customer last name
Phone phone Customer phone number, digits only (e.g., 5555555555)
Zip zip Customer billing zip code, if collected
SMS consent sms_optin true if text messaging is enabled for the event and the customer opted in to receive texts
Contains SeasonPass containsSeasonPass true if the order includes a season pass or other pass/package
Contains Donation containsDonation true if the order includes a donation

Order totals

Field (in Zapier) Key Description
Items Face Value Total items_face_value_total Face value of all tickets/items before discounts (no taxes, fees, or shipping)
Facility Fees Total facility_fees_total Total facility fees on the order
Service Fees Total service_fees_total Total service fees paid by the customer (facility fees are listed separately)
Taxes Total taxes_total Total sales tax on the order
Discount Total discount_total Total of all discounts and coupon codes applied
Shipping Total shipping_total Total shipping charged on the order (shipping is only reported at the order level)
Gift Cards Total gift_cards_total Total amount paid with gift cards
Gift Cards Quantity gift_cards_quantity Number of gift cards used on the order
Transaction Total transaction_total Total amount paid by the customer for the order

How the totals add up: Transaction Total = Items Face Value Total + Facility Fees Total + Service Fees Total + Taxes Total + Shipping Total − Discount Total

Line item fields

These fields repeat for every line item in the order. Their keys start with suborders[] (for example, suborders[]event_name).

  • Item Price is the price of one ticket. Every field ending in Total, plus Item Subtotal, covers the whole line (all tickets on that line).
  • Season passes, flex passes, and packages are broken out into one line item per included ticket, and each one shows the pass name in Pass/Package Name.
  • Shipping is only reported at the order level (Shipping Total).
Field (in Zapier) Key Description
Suborder Id id Purplepass ID for this line item
Event Id event_id Purplepass event ID
Event Name event_name Name of the event
Event Start Date event_start_date Event start date in m/d/yyyy format (e.g., 5/14/2027)
Event Start Time event_start_time Event start time in 12-hour format (e.g., 7:30PM)
Event Start event_start_datetime Event start date and time in ISO 8601 format with the event's time zone offset (e.g., 2027-05-14T19:30:00-07:00)
Venue Name venue_name Venue name
Venue Address venue_address_line Full venue address on one line (street, city, state, zip, country)
Ticket Type ticket_type_name Name of the ticket type or item (e.g., General Admission, Parking Pass). For assigned seats with multiple prices, this is the price option (e.g., Adult, Senior)
Quantity quantity Number of tickets/items on this line
Pass/Package Name item_pass_package_name Name of the season pass, flex pass, or package this ticket was purchased in. Blank if not part of one
Item Price item_price Face value of one ticket/item (no taxes, fees, or discounts). For pass/package tickets, this is the ticket's share of the pass price
Item Facility Fees Total item_facility_fees_total Total facility fees for this line
Item Taxes Total item_taxes_total Total tax for this line
Item Service Fees Total item_service_fees_total Total service fees for this line (facility fees are listed separately)
Item Discount Total item_discount_total Total discount applied to this line
Item Subtotal item_subtotal Total for this line including fees and taxes, after discounts (shipping not included)
Delivery Method item_delivery_method Delivery option shown to the customer (e.g., Print-at-Home, Will Call, Live Stream)
Coupon Codes item_coupon_codes Coupon code(s) applied to this line. Multiple codes are comma separated (e.g., code1,code2)

How a line item adds up: Item Subtotal = (Item Price × Quantity) + Item Facility Fees Total + Item Service Fees Total + Item Taxes Total − Item Discount Total. For example, 2 tickets at $25.00 with $1.50 in facility fees, $3.00 in service fees, and $0.50 in tax come to $55.00.

Seat fields (assigned seating)

For assigned seating, each line item includes one entry per seat. Seat keys start with suborders[]item_seats[]. The list is empty for general admission tickets.

Field (in Zapier) Key Description
Seat Number number Seat number (e.g., Seat 9)
Seat Row/Table row_table Row or table label (e.g., Row 21, Table 2)
Seat Section section_name Section the seat is in (e.g., Left Section). Always included, even when it matches the price level name
Seat Price Level price_level_name Price level of the seat (e.g., Yellow - Standard). Always included

Example: A Senior seat in the Left Section at the Yellow - Standard price level sends Ticket Type = Senior, Seat Section = Left Section, and Seat Price Level = Yellow - Standard. If the seat has only one price, Ticket Type is the price level name (e.g., Red - Standard).

Working with line items

Orders can contain several line items, and each line item can contain several seats. How Zapier handles them depends on the action field you map them into.

  • Fields that support line items: Some actions (like invoices, sales receipts, or deals with products) accept line items directly. Map each Purplepass line item field to the matching line item field in the action.
  • Fields that don't support line items: Zapier combines the values from every line item into one comma separated list. For example, Ticket Type becomes General Admission,Parking Pass.
  • One row or record per line item: Use the Google Sheets Create Multiple Spreadsheet Rows action, or Looping by Zapier (Create Loop From Line Items) to run the rest of your Zap once for each line item.

Helpful tips

  • Only run for one event: Add a Filter by Zapier step with Event Name (Text) Contains your event name. Use Contains rather than Exactly matches, since one order can include tickets to several events.
  • Only run for online orders: Add a filter with Order Type (Text) Exactly matches CHECKOUT.
  • Skip orders without an email: Box office and guest list orders may not include customer details. Add a filter with Email (Text) Exists.
  • Only text customers who opted in: Before any SMS action, add a filter with SMS consent (Boolean) Is true.
  • Dates and times: Use Event Start or Order Date (ISO format) for apps that need a real date, like calendars and CRMs. Use Event Start Date and Event Start Time for display text in emails and messages.

Example order data

Most Zaps only need the field names above. For technical setups like Code by Zapier or Webhooks by Zapier, here is an example of the data Purplepass sends for an order with one line item and two assigned seats:

{
  "id": 2981257,
  "type": "CHECKOUT",
  "order_date": "2026-10-13T09:15:00-07:00",
  "payment_method": "CASH",
  "email": "john.doe@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "phone": "5555555555",
  "zip": "90210",
  "sms_optin": false,
  "containsSeasonPass": false,
  "containsDonation": false,
  "items_face_value_total": 50,
  "facility_fees_total": 1.5,
  "service_fees_total": 3,
  "taxes_total": 0.5,
  "discount_total": 0,
  "shipping_total": 0,
  "gift_cards_total": 0,
  "gift_cards_quantity": 0,
  "transaction_total": 55,
  "suborders": [
    {
      "id": 2995082,
      "event_id": 260891,
      "event_name": "Spring Showcase",
      "event_start_date": "5/14/2027",
      "event_start_time": "7:30PM",
      "event_start_datetime": "2027-05-14T19:30:00-07:00",
      "venue_name": "Main Street Theater",
      "venue_address_line": "1234 Main St., Los Angeles, CA 90210, United States",
      "item_pass_package_name": "",
      "ticket_type_name": "Adult",
      "quantity": 2,
      "item_price": 25,
      "item_facility_fees_total": 1.5,
      "item_taxes_total": 0.5,
      "item_service_fees_total": 3,
      "item_discount_total": 0,
      "item_subtotal": 55,
      "item_delivery_method": "Print-at-Home",
      "item_coupon_codes": "",
      "item_seats": [
        {
          "number": "Seat 5",
          "row_table": "Row G",
          "section_name": "Orchestra",
          "price_level_name": "Gold"
        },
        {
          "number": "Seat 6",
          "row_table": "Row G",
          "section_name": "Orchestra",
          "price_level_name": "Gold"
        }
      ]
    }
  ]
}

Troubleshooting

My Zap isn't triggering

  • Make sure your Zap is published and turned on.
  • The trigger only fires for orders on events in the Purplepass account you signed in with. If you manage more than one account, check that the Zap is connected to the right one.
  • Check your Zap history in Zapier. If a run shows as filtered, the order didn't match your filter step.

Some of the fields in this article are missing in Zapier

Zapier only shows the fields included in the sample order it pulled when you tested the trigger. If your Zap was built a while ago, open the trigger step and select Test trigger again (or choose a newer order) to load the latest fields. If they still don't appear, create a new Zap with the New Order trigger.

Several values are combined into one field

This happens when an order has more than one line item or seat and you map those fields into a field that doesn't support line items. See Working with line items above.

Email, name, or phone is blank

Box office and guest list orders may not collect customer details. Add a filter so your Zap skips orders without an email.

The totals don't match what I expected

  • Item Price is the price of one ticket, not the line total. Use Item Subtotal for the line total.
  • Items Face Value Total is before discounts. Use Transaction Total for the amount the customer paid.
  • Shipping is only included in the order totals, not in line items.

To start a Zap when a new event is created instead, see Triggering a Zap when a new event is created.

Still need help? Reach our support team through the Contact Us page.