Creating Zaps is easy with Event Automator and Zapier.
But what if you need to customize your automation so that it matches your workflow?
We built 2 Zapier Apps to help you achieve just that:
- The Events Calendar Zapier App
- Event Tickets Zapier App
Let’s take a closer look at what each of these apps has to offer.
The Events Calendar Zapier App
Triggers:
- New Event (triggers when a new event is created)
- Updated Event (triggers when an event is updated – does not trigger on new event creation)
- Canceled Event (triggers when the status of an event is changed to canceled)
Action:
- Create Event (creates an event)
*No searches for now
Zap Templates
Check out the Zap Templates (aka recipes) we have created to give you a headstart.
You can tweak those to your liking or simply use them as inspiration to create your own Zaps.
New and Updated Event Trigger Available fields:
- id (integer)
- title (string)
- description (string)
- excerpt (string)
- permalink (URL)
- event_status (string)
- featured (boolean)
- sticky (boolean)
- Organizers (comma separated)
- id (integer)
- description (string)
- title (string)
- excerpt (string)
- permalink (URL)
- featured_image_url (URL)
- phone (phone)
- website (URL)
- email (email)
- Venue
- id (integer)
- description (HTML)
- title (string)
- excerpt (string)
- permalink (URL)
- address (string)
- country (string)
- city (string)
- state_province (string)
- state(string)
- province (string)
- zip (string)
- phone (phone number)
- directions_link (URL)
- website (URL)
- geolocation
- overwrite_coordinates (boolean)
- latitude (numeric)
- longitude (numeric)
- address (string)
- distance (boolean)
- featured_image_url (URL)
- category (array)
- tag (array)
- website_url (URL)
- cost (string)
- has_ticket (boolean)
- has_rsvp (boolean)
- in_date_range (boolean)
- sold_out (boolean)
- tickets_tickets (array)
- tickets_rsvp (array)
- start_date (date and time)
- end_date (date and time)
- timezone (string)
- timezone_abbr (string)
- all_day (boolean)
- multi_day (boolean)
- is_past (boolean)
- duration (integer)
- recurring (boolean)
- Virtual (boolean)
- Virtual URL (URL)
- Virtual Button Text (string)
Custom fields:
You can send custom fields to Zapier while using the New Event trigger by using the tec_automator_map_event_details
filter.
Here’s an example snippet to get you started.
Event Tickets Zapier App
Triggers:
- Attendees (when a new attendee is generated)
- Updated Attendees (when an attendee has been updated)
- Check-in (when an attendee is checked into an event via ticket or RSVP)
- New Order (when a new order of tickets is created)
- Refunded Orders (when a ticket order is refunded from Tickets Commerce, EDD, or WooCommerce)
*No actions or searches for now
Zap Templates
Take a look at the Zap Templates (aka recipes) we have created to give you a sense of the possibilities.
Best of all, you can customize the templates to match your workflow!
Attendee and Check-In Triggers Available Fields:
- id (integer)
- holder_name (string)
- holder_email (email)
- ticket_id (string)
- security_code (string)
- attendee_meta (string)
- slug (for each attendee information field)
- label (for each attendee information field)
- value (for each attendee information field)
- check_in
- optout (boolean)
- user_id (integer)
- is_subscribed (boolean)
- is_purchaser (boolean)
- purchaser_name (string)
- purchaser_email (email)
- provider (woo, edd, rsvp – string)
- ticket (string)
- ticket_product_id (integer)
- order_id (integer)
- order_status (slug)
- event_id (integer)
- event_title (string)
NOTE: For WooCommerce orders, the customer_email field is the logged-in user email instead of the customer email entered during checkout, so anonymous users always get an empty customer email for WooCommerce orders.
Custom fields:
You can send custom fields to Zapier while using the New Attendee and the Attendee Check-in triggers by using the tec_automator_map_attendee_details
filter.
Here’s an example snippet to get you started.
New Order Trigger Available Fields:
- id (integer)
- order_id (integer)
- order_number (integer)
- order_date (date and time)
- status (string)
- shipping_total (numeric)
- shipping_tax_total (numeric)
- tax_total (numeric)
- discount_total (numeric)
- order_total (numeric)
- order_currency (string)
- payment_method (string)
- shipping_method (string)
- customer_id (integer)
- customer_user (integer)
- customer_email (email)
- billing_first_name
- billing_last_name
- billing_company
- billing_email
- billing_phone
- billing_address_1
- billing_address_2
- billing_postcode
- billing_city
- billing_state
- billing_country
- shipping_first_name
- shipping_last_name
- shipping_company
- shipping_email
- shipping_address_1
- shipping_address_2
- shipping_postcode
- shipping_city
- shipping_state
- shipping_country
- customer_note
- items (comma separated)
- id
- key
- value
- variation_id
- tax
- tax_class
- tax_status
Adding custom fields to your Zaps
If you’re seeking to expand the fields available for your zaps, consider utilizing the following filters:
tec_automator_map_tickets_commerce_order_details
tec_automator_map_edd_order_details
tec_automator_map_woo_order_details
tec_automator_map_attendee_details
A code example:
Imagine you’ve added some custom fields to your attendee info and want them accessible in Zapier for automation. You can use the tec_automator_map_attendee_details
filter. Here’s a snippet to kickstart things for you.
function tec_automator_attendee_custom_fields($attendee_data, $attendee) {
$attendee_id = $attendee['attendee_id'];
// Get the serialized array from the postmeta table
$serialized_data = get_post_meta($attendee_id, '_tec_tickets_commerce_attendee_fields', true);
if (empty($serialized_data)) {
return $attendee_data;
}
// Define custom fields to include
$fields_to_include = array('field1', 'field2');
$meta_fields = array();
// Loop through serialized data and extract selected fields
foreach ($serialized_data as $field_name => $field_value) {
foreach ($fields_to_include as $label){
if (strpos($field_name, $label) !== false) {
$meta_fields[$label] = $field_value;
}
}
}
// Merge the selected fields into the attendee data
$attendee_data['attendee_metadata'] = $meta_fields;
return $attendee_data;
}
add_filter('tec_automator_map_attendee_details', 'tec_automator_attendee_custom_fields', 10, 2);