Contents
Guided setup
Integrations
Events API
Self hosting
Structured events
You can choose how an event is displayed with the type field.
Text (default)
const e = {
name: "user upgraded",
avatar: "💳",
content: "Moved from Starter to Pro",
};
JSON
const e = {
name: "new lead metadata",
avatar: "🧩",
type: "json",
content: {
source: "landing-page",
utmCampaign: "launch-2026",
score: 81,
},
};
Image
const e = {
name: "receipt captured",
avatar: "🧾",
type: "image",
content: "https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?w=1000",
};
Rows
const e = {
name: "payment failed",
avatar: "⚠️",
type: "rows",
content: [
{ label: "User ID", content: "usr_123" },
{ label: "Plan", content: "Pro" },
{ label: "Amount", content: "$49.00" },
{
label: "Gateway response",
type: "json",
content: { code: "card_declined", retryable: true },
},
],
};
Notes:
- If you do not pass
type, Operational usestext. - Do not put
rowsinsiderows.