Connect with Zapier.
The Standwyse Zapier app links your exhibitor roster to the 6,000+ apps Zapier supports — no code. Push exhibitors into Standwyse from a CRM, a form, or a spreadsheet, and start a Zap whenever a new exhibitor appears in Standwyse.
What the app does
The Zapier app is a thin wrapper over the Standwyse ingestion API. It exposes one action and one trigger:
- Action — Create or Update Exhibitor. Any Zap can map a record (a new CRM deal, a row added to a sheet, a form submission) onto an exhibitor in Standwyse. It upserts by
external_id, so re-runs update rather than duplicate. - Trigger — New Exhibitor. Polls Standwyse and fires for each newly added exhibitor, so you can fan changes out to your CRM, a Slack channel, or a welcome email.
Authentication
The app authenticates with a per-tenant API key — the same swk_live_ key the ingestion API uses. Generate one from the organiser Exhibitors page; it is shown once, so copy it somewhere safe. When Zapier asks for it, paste it as the API key — Zapier sends it as a bearer token on every call:
Authorization: Bearer swk_live_your_key_hereZapier verifies the key against GET /api/ingest/me, which returns the organisation the key belongs to and labels the connection. A key only ever sees its own organisation’s data, and you can revoke it at any time from the same page — a revoked key immediately returns 401.
curl https://standwyse.com/api/ingest/me \
-H "Authorization: Bearer swk_live_your_key_here"
# { "organisation_id": "…", "organisation_name": "Aurora Events", "key_label": "Zapier" }Set up a Zap
- Generate an API keyOn the organiser Exhibitors page, create an ingestion key labelled “Zapier” and copy it.
- Connect Standwyse in ZapierAdd Standwyse as an app, paste the key, and let Zapier run the connection test.
- Pick an action or triggerUse “Create or Update Exhibitor” to push data in, or “New Exhibitor” to start a Zap when one is added.
- Map your fieldsMap your source record onto external_id, account_name, and the optional fields, and choose the target event_slug.
Action — Create or Update Exhibitor
Under the hood the action POSTs one exhibitor to /api/ingest/exhibitors for a given event_slug. external_id (your stable id) and account_name are required; contact_email, reference_code, package_name, and status are optional. Because the upsert keys on external_id, a Zap that re-fires for the same record updates the existing account instead of creating a duplicate.
curl -X POST https://standwyse.com/api/ingest/exhibitors \
-H "Authorization: Bearer swk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"event_slug": "aurora-tech-expo",
"exhibitors": [
{
"external_id": "crm-8842",
"account_name": "Helix Robotics Ltd",
"contact_email": "ops@helixrobotics.example.com"
}
]
}'Trigger — New Exhibitor (polling)
The trigger polls GET /api/ingest/exhibitors, which returns your organisation’s exhibitors newest first. Zapier dedupes on id, so each exhibitor starts a Zap exactly once. Add ?event_slug= to watch a single event, and ?limit= (1–100, default 50) to bound each poll.
curl "https://standwyse.com/api/ingest/exhibitors?event_slug=aurora-tech-expo&limit=50" \
-H "Authorization: Bearer swk_live_your_key_here"
# [
# {
# "id": "3f1c1d2e-9b7a-4c54-9a1e-2b6d8f0a1c33",
# "external_id": "crm-8842",
# "account_name": "Helix Robotics Ltd",
# "contact_email": "ops@helixrobotics.example.com",
# "reference_code": "EX-204",
# "package_name": "Premium 6x4",
# "status": "active",
# "event_slug": "aurora-tech-expo",
# "created_at": "2026-06-25T09:12:00.000Z",
# "updated_at": "2026-06-25T09:12:00.000Z"
# }
# ]Rate limits & retries
Both the action and the trigger share the ingestion API’s per-key hourly limit; reads and writes are metered separately so a busy poll never blocks your imports. If a call is throttled it returns 429 with a Retry-After header, which Zapier honours automatically. Because every write is idempotent, a retried action is always safe. The full machine-readable contract — every field, status code, and an interactive console — is the API reference.