Setup wizard
You are the event organizer. Your integration partner may give you a Zoho OAuth Client ID and Client Secret, or you can create your own in the Zoho API Console — both work the same here. Nothing on this page is sent to browsers at your expo; it is saved only on this server.
Session API key
After you set a proxy API key, you must enter it here to save further changes (Zoho client, event IDs, etc.).
Register or open an OAuth client
You do not need a brand-new Zoho app if your developer already gave you a Client ID and Client Secret — use those in Step 1. Use this section only if you are creating your own server-based client instead.
- In Zoho API Console, create a server-based application (or open the existing one your developer set up for you).
- Add this exact redirect URL under Authorized redirect URIs for that client (required for OAuth whether the app is yours or shared):
If this server uses a public HTTPS URL in production, set
PUBLIC_BASE_URL in the process environment so this
redirect matches what you register in Zoho (see README).
Step 1 — OAuth client
Choose your Zoho data center (where your Backstage portal lives), then paste Client ID and Client Secret.
Step 2 — Sign in with Zoho
Register the redirect URL above, then generate a sign-in link. Approve access — your browser will return here and the server will store a refresh token.
Open this link
Redirect URI used in this link (must match Zoho console):
Alternative: paste authorization code
If the browser cannot reach this server (wrong
PUBLIC_BASE_URL), copy the code= value from
the redirect URL after approving in Zoho and paste it here.
Refresh token is stored. Continue to step 3.
Step 3 — Portal & event
From Zoho Backstage for your event (URL or admin).
Step 4 — Verify OAuth
Confirms this server can exchange the refresh token for an access token (no attendee fetch yet).
Step 5 — Proxy API key (for kiosks)
Choose a long random secret. Kiosks send it as
X-API-Key. It is not your Zoho
Client Secret.
Done
Try a real attendee lookup on the test page. You can change the API key later under API key in the menu (current key required).