Create Event Attendees signal
Turn a LinkedIn event's attendee list into leads. Point the signal at one or more LinkedIn event URLs and every person attending — filtered to your target personas and ICP — is delivered to your webhookUrl as an enriched lead. Event attendees are high-intent: they self-selected into a topic, so you reach an audience that already raised its hand.
Input: signal name, webhookUrl, and a config object with the LinkedIn event URLs to track (eventUrls, required — each must contain the event's numeric id, e.g. .../events/<slug>7318198749535633408/), plus your ICP filters: targetPersonas and customPersonaTitles (which attendees qualify, matched on their headline), excludedTitles, companySizeFilters / excludedCompanySizeFilters, locations / excludedLocations, industryFilters / excludedIndustryFilters. Industry values must be the exact names returned by GET /api/v1/signals/industries — a single industry ("Software Development") or a category ("Technology and Media"); matching is exact, so a near-miss matches nothing. An attendee whose company industry cannot be determined is kept, not dropped, when you filter by industry (their company.industry is then ""); an industry exclusion likewise only removes attendees whose industry is known. Optional getEmails adds email enrichment. Top-level dailyLeadLimit (1–999,999, default 100), status (draft | active | paused, default draft), and duplicateHandling (refuse | allow | Xd, default allow) complete the request.
Output: 201 Created returns the signal object (id, name, status, signalTypeId, webhookUrl, config, dailyLeadLimit, leadsToday, leadsTotal, duplicateHandling, createdAt, updatedAt, lastLeadAt). Each matching attendee is then POSTed to your webhookUrl as a JSON lead (WebhookEventAttendeesPayload) with three blocks. signal: id, name, type (event_attendees), last_signal ("Event Attendees"), last_signal_date (YYYY-MM-DD), and tracked_company — the LinkedIn event URL the attendee was found at. contact: lead_id, created_at, first_name, last_name, email (when getEmails is enabled), phone, title, location, linkedin_profile_url, sales_navigator_profile_url, matched_persona. company: name, website, linkedin_url, description, industry, location, employee_count, employee_range, tech_stack, homepage_title, meta_description — the company fields populate when you filter by company size or industry. Every documented key is always present; unavailable values are the empty string "" (never null). Attendees outside your persona or ICP filters are dropped and never sent.
Use cases:
- Warm-intent outreach — attendees self-selected into your topic; open with the exact event they showed up to.
- Conference & webinar follow-up — reach everyone who attended a relevant industry event, not just the few you met.
- Competitive events — capture the audience of a competitor's or partner's webinar and pitch your alternative.
- Persona-filtered guest lists — keep only the decision-makers (e.g. CMOs, Heads of Growth) among the attendees.
Request
- Base URL: https://api.rodz.io (the document declares no server; this is the origin it was published from)
- URL: https://api.rodz.io/api/v1/signals/event-attendees
- Auth: HTTP bearer
Request body
Example request
{
"config": {
"companySizeFilters": [
"201-500",
"501-1000",
"1001-5000"
],
"customPersonaTitles": [
"Head of Growth"
],
"eventUrls": [
"https://www.linkedin.com/events/the-future-of-marketing-webinar-7318198749535633408/"
],
"getEmails": true,
"getPhones": false,
"industryFilters": [
"Software Development"
],
"locations": [
"France"
],
"targetPersonas": [
"CMO",
"Marketing Director"
]
},
"dailyLeadLimit": 50,
"name": "Marketing leaders at industry webinars",
"status": "active",
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Response
Signal created
Example response
{
"applied": {
"allowUnknownCompanySize": false,
"maxJobAgeDays": 180
},
"config": {
"companySizeFilters": [
"201-500",
"501-1000"
],
"getEmails": true,
"jobTitles": [
"CTO"
],
"locations": [
"France"
],
"maxJobAgeDays": 90
},
"createdAt": "2026-01-15T10:30:00Z",
"dailyLeadLimit": 50,
"duplicateHandling": "refuse",
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"lastLeadAt": "2026-03-15T14:22:00Z",
"leadsToday": 3,
"leadsTotal": 127,
"name": "CTOs changing jobs in France",
"signalTypeId": "job_changes",
"status": "active",
"updatedAt": "2026-03-16T08:00:00Z",
"warnings": [
{
"code": "VALUE_BELOW_MINIMUM",
"field": "maxJobAgeDays",
"message": "`maxJobAgeDays` is 90; this signal applies 180. Job changes are delivered up to 180 days after the start date, and a shorter window is raised to that minimum.",
"severity": "info",
"values": [
"90"
]
}
],
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Changes
No recorded changes to this operation across all 1 revision of this API.