Event Properties
rybbit_get_event_propertiesAnalyze custom event data by retrieving distinct property keys and values with occurrence counts for specified time periods and filters.
Instructions
Get property breakdowns for a specific custom event. Returns the distinct property keys and values with counts.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Site ID (numeric ID or domain identifier) | |
| startDate | No | Start date in ISO format (YYYY-MM-DD) | |
| endDate | No | End date in ISO format (YYYY-MM-DD) | |
| timeZone | No | IANA timezone (e.g., Europe/Prague). Default: UTC | |
| filters | No | Array of filters. Example: [{parameter:'browser',type:'equals',value:['Chrome']},{parameter:'country',type:'equals',value:['US','DE']}] | |
| pastMinutesStart | No | Alternative to dates: minutes ago start (e.g., 60 = last hour) | |
| pastMinutesEnd | No | Alternative to dates: minutes ago end (default 0 = now) | |
| eventName | Yes | Event name to get properties for |
Implementation Reference
- src/tools/events.ts:88-116 (handler)The handler and registration for 'rybbit_get_event_properties' are defined together in registerEventsTools using server.registerTool. The tool queries the /events/properties endpoint of the Rybbit API.
server.registerTool( "rybbit_get_event_properties", { title: "Event Properties", annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true, destructiveHint: false }, description: "Get property breakdowns for a specific custom event. Returns the distinct property keys and values with counts.", inputSchema: { ...analyticsInputSchema, eventName: z.string().describe("Event name to get properties for"), }, }, async (args) => { try { const params = client.buildAnalyticsParams(args); params.event_name = args.eventName; const data = await client.get(`/sites/${args.siteId}/events/properties`, params); return { content: [{ type: "text" as const, text: truncateResponse(data) }], }; } catch (err) { const message = err instanceof Error ? err.message : String(err); return { content: [{ type: "text" as const, text: `Error: ${message}` }], isError: true, }; } } );