Base Endpoint
GET/POST {SITE_URL}/?eventprime-integration=zapier&...query params...
Note:SITE_URL
must end with a trailing slash. If it doesn’t, a 400
is returned with: Bad request: site URL needs to end with a / at the end of the URL.
Authentication
Provide the API key as a query parameter:
api_key=<YOUR_API_KEY>
The key is compared (case-insensitive) against the value configured at Dashboard → EventPrime → Settings → Extensions → EventPrime Zapier Integration → Manage.
Failure responses
401 {"status":401,"message":"Invalid API key"}
400 {"status":400,"message":"Bad request: site URL needs to end with a / at the end of the URL."}
High-level Flow
- Webhook mode (subscribe/unsubscribe + pushes): Zapier registers a
hookUrl
. When matching events occur, EventPrime POSTs normalized JSON payloads to that URL. - Polling mode (perform/sample): Zapier requests recent/sample data for a trigger.
Query Parameters
Param | Required | Values / Notes |
---|---|---|
eventprime-integration | Yes | Must equal zapier |
api_key | Yes | Case-insensitive match to plugin setting |
action | Yes* | See Actions below (*except basic “ping”) |
site_url | Recommended | Must end with / (validated) |
Other fields | As needed | Vary by action/trigger (below) |
Actions
1) action=subscribe
Webhook
Registers a Zap’s webhook for a given trigger and returns sample data. Also sends a test POST to hookUrl
.
Required params
zapId
– unique Zap identifiertrigger
– one of the supported trigger keyshookUrl
– Zapier webhook URL
GET {SITE_URL}/?eventprime-integration=zapier
&api_key=XXXX
&action=subscribe
&zapId=12345
&trigger=create_event
&hookUrl=https://hooks.zapier.com/hooks/standard/123/abc
Response: JSON sample for the trigger; additionally a test POST is sent to hookUrl
.
2) action=unsubscribe
Webhook
Removes a stored webhook for a Zap.
Required params
zapId
trigger
hookUrl
(passed through)
GET ...&action=unsubscribe&zapId=12345&trigger=create_event&hookUrl=...
{"name":"12345","type":"create_event","webhook_url":"https://hooks.zapier.com/..."}
3) action=perform
Polling
Returns sample/recent data for a trigger.
Required params
trigger
– see Supported Triggers
GET ...&action=perform&trigger=all_events
Response: array/object of items for the trigger; message if none available.
4) action=create_event
Mutation
Creates an EventPrime event.
Required params
em_name
– event titleem_start_date
– parsable date/time (e.g.,2025-09-28
or2025-09-28 10:00
)em_end_date
– optional; parsable date/time
Optional: description
GET ...&action=create_event
&em_name=Conference%202025
&em_start_date=2025-11-20
&em_end_date=2025-11-20
&description=Annual%20conference
{"msg":"Event created successfully.","ID":123}
5) action=create_booking
Mutation
Creates a booking for an event/ticket.
Required params
event_id
– numericticket_id
– numericemail
– user email
Optional: booking_status
(defaults to completed
; supports completed
, pending
, cancelled
, refunded
, failed
)
GET ...&action=create_booking
&event_id=77
&ticket_id=324
&email=alex@example.com
&booking_status=pending
{"msg":"Booking created successfully."}
Validation failures
{"msg":"Missing required booking data."}
{"msg":"Invalid ticket."}
6) action=init_action
Advanced
Internal hook point. Useful only if a custom action_key
is handled via filters on the site.
Required params: action_key
GET ...&action=init_action&action_key=custom_key
Response: whatever the site-specific filter returns (bool/array/object), JSON-encoded.
Supported Triggers
Events
create_event
– event createdupdate_event
– event updateddelete_event
– event deleted/trashedall_events
– list/polling
Venues
create_venue
– venue createdupdate_venue
– venue updateddelete_venue
– venue deletedall_venues
– list/polling
Performers
create_performer
– performer createdupdate_performer
– performer updateddelete_performer
– performer deletedall_performers
– list/polling
Bookings (status feeds)
confirm_booking
– completed bookingspending_booking
– pending bookingscancel_booking
– cancelled bookingsrefund_booking
– refunded bookingsfailed_booking
– failed bookings
Subscribe behavior: On subscribe
, the plugin (1) stores {zapId, trigger, hookUrl}
and (2) immediately POSTs a test payload to hookUrl
.
Response Shape & Normalization
All responses are JSON. Payloads are normalized (the plugin attempts JSON decode/unserialize and string sanitation where applicable).
Generic success (ping)
{"msg":"Success","site_title":"My WordPress Site"}
Bailed errors
{"status":401,"message":"Invalid API key"}
Webhook POSTs are sent as: Content-Type: application/json; charset=utf-8
with a normalized JSON body representing the resource(s) for the registered trigger.
Error Reference
HTTP | Message | When |
---|---|---|
400 | Bad request: site URL needs to end with a / at the end of the URL. | site_url missing trailing slash |
401 | Invalid API key | Incorrect/absent api_key |
404 | Unknown request parameters | Unsupported action |
200 | {"msg":"No such triggers available..."} | Unsupported trigger in perform |
Quick cURL Samples
Subscribe to “event created”
curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "action=subscribe" \
--data-urlencode "zapId=ZAP-001" \
--data-urlencode "trigger=create_event" \
--data-urlencode "hookUrl=https://hooks.zapier.com/hooks/standard/123/abc"
Poll sample events
curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "action=perform" \
--data-urlencode "trigger=all_events"
Create an event
curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "action=create_event" \
--data-urlencode "em_name=Conference 2025" \
--data-urlencode "em_start_date=2025-11-20" \
--data-urlencode "em_end_date=2025-11-20" \
--data-urlencode "description=Annual conference"
Create a booking
curl -G "{SITE_URL}/" --data-urlencode "eventprime-integration=zapier" \
--data-urlencode "api_key=YOUR_KEY" \
--data-urlencode "action=create_booking" \
--data-urlencode "event_id=77" \
--data-urlencode "ticket_id=324" \
--data-urlencode "email=alex@example.com" \
--data-urlencode "booking_status=pending"
Common Troubleshooting
- 401 Invalid API key: Ensure the key in EventPrime → Settings → Extensions → EventPrime Zapier Integration → Manage matches the
api_key
passed. - 400 trailing slash: Make sure the supplied
site_url
ends with/
. - No data on
perform
: The site may not yet have corresponding items. Create one and retry, or choose another trigger. - Webhook received but empty: Confirm the relevant WordPress hooks are firing and the resource exists.
© EventPrime – Internal Support Reference
Questions, Support & Custom Solutions
- Need more details or can't find what you're looking for? Let us know how we can help! Contact our support team here.
- Looking for a tailor-made solution to meet your specific needs? Our dedicated customization team is here to help! Use this link to share your requirements with us, and we'll collaborate with you to bring your vision to life.