← Back to home
Quickstart
Send your first event to Zoody in under 5 minutes.
1
Get your API key
Go to API Keys in your Zoody dashboard and create a key. Copy it - you'll need it below.
2
Send an event
Choose your language. The REST API works with any stack - just send a POST request. For Node.js apps, the SDK handles batching automatically.
npm install @zoody/sdkimport { Zoody } from "@zoody/sdk";
const zoody = new Zoody({ apiKey: "zo_live_your_api_key" });
// Track events anywhere in your app (non-blocking)
zoody.track({
eventName: "feature_used",
email: "user@example.com",
properties: {
feature: "dashboard",
plan: "pro",
},
});
// The SDK batches and sends automatically.
// In serverless environments, flush before returning:
await zoody.flush();3
Verify in the dashboard
Open the Debugger in your dashboard. You'll see your event flow through the pipeline: Received, Matched, Aggregated, Synced.
Event format
Every event needs a name and at least one identifier (email or domain).
| Field | Type | Required | Description |
|---|---|---|---|
| eventName | string | Yes | Name of the event (max 255 chars) |
| string | * | User email for contact matching | |
| domain | string | * | Company domain for company matching |
| properties | object | No | Key-value pairs (max 50 keys) |
| timestamp | string | No | ISO 8601 (defaults to now) |
| eventId | string | No | Unique ID for deduplication (auto-generated) |
* At least one of email or domain is required.
Importing historical data
Already have usage data? Use the Bulk API to send up to 10,000 events per request, or upload a CSV file from the dashboard. See the API Reference for details.
Next steps
- Set up mappings - tell Zoody which events to aggregate and which HubSpot properties to write to.
- Configure webhooks - get notified when events are processed.
- Explore the SDK - full configuration options for batching, retries, and serverless environments.