Create Company Employees & Alumni signal
Reach the people who work at a company you know, or who worked there before: your former employer, a customer, a competitor, a target account. A former employee is delivered while they are at their new employer, so you reach them where they can buy from you now. Each lead is labelled current (works there today) or former (worked there before and left), and filtered to the roles and companies you target. Optionally keep only the people who were there during a period you choose, for example the years you worked there yourself.
Input: companyUrls (1-10 LinkedIn company page URLs or numeric company ids, required to activate); relation (current, former or both; defaults to both, each lead labelled); overlapPeriod (optional: keep only people who were at the company during this period, in half-years, {"from": "2019-H1", "to": "2023-H2"}; to omitted = until today); minOverlapMonths (with overlapPeriod: the minimum number of months the person spent at the company inside the period, 1-120, defaults to 3); frequency (continuous, the default: deliver the matching people up to dailyLeadLimit a day, then keep delivering the new ones as they appear; one_time: deliver up to oneTimeCount people in total, then stop); oneTimeCount (with one_time: how many people to deliver, counted after your filters, 1-25,000, defaults to 500, still paced by dailyLeadLimit); optional persona targeting (targetPersonas, customPersonaTitles, excludedTitles); optional ICP filters on the person's current employer and location (locations, excludedLocations, companySizeFilters, excludedCompanySizeFilters, allowUnknownCompanySize, industryFilters, excludedIndustryFilters, companyTypeFilters, excludedCompanyUrls) - with no filter at all, everyone is delivered; optional enrichment toggles (getEmails, getPhones, getSireneData, detectTechnologies, getHomepageContent); webhookUrl, dailyLeadLimit, duplicateHandling, status. 3 credits per lead delivered. Activating with status: active checks that at least one company page is set and that overlapPeriod is valid, and answers 400 otherwise. This signal type is opened per account: an account it is not open to gets 400 SIGNAL_INACTIVE.
Output: each matching person is pushed to your webhookUrl as an enriched person lead: the contact (name, email if enriched, phone if enriched, title, location, LinkedIn profile URL, matched persona), their current employer (company name, website, LinkedIn URL, plus tech stack and homepage content when those enrichments are enabled), and in the signal block: tracked_company (the LinkedIn page of the company from companyUrls the lead is affiliated with), affiliation_relation (current or former), affiliation_name (that company's name), and, when the signal has an overlapPeriod, affiliation_started / affiliation_ended (YYYY-MM, affiliation_ended null for someone still there) and overlap_months (months spent there inside your period). study_start_year / study_end_year are always null on this signal. Every key is always present, null when unknown.
Use cases:
- Former-colleague outreach - reach the people who worked at your former employer while you were there (an overlapPeriod), now at their new company, and open with the years you shared.
- Customer alumni - follow the people who used your product at a customer to the company they work at now, where they can bring you in.
- Competitor alumni - reach the people who left a competitor: they know the category, and they know what that product does not do.
- Account mapping - get the current team of a target account, filtered to the roles in its buying group.
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/company-employees-alumni
- Auth: HTTP bearer
Request body
Example request
{
"config": {
"companySizeFilters": [
"51-200",
"201-500"
],
"companyUrls": [
"https://www.linkedin.com/company/acme-consulting/"
],
"customPersonaTitles": [
"Head of Growth"
],
"excludedCompanyUrls": [
"https://www.linkedin.com/company/globex/"
],
"excludedTitles": [
"Intern"
],
"frequency": "continuous",
"getEmails": true,
"getPhones": false,
"industryFilters": [
"Software Development"
],
"locations": [
"France"
],
"minOverlapMonths": 6,
"overlapPeriod": {
"from": "2019-H1",
"to": "2023-H2"
},
"relation": "former",
"targetPersonas": [
"Sales Director",
"Marketing Director"
]
},
"dailyLeadLimit": 25,
"duplicateHandling": "refuse",
"name": "Alumni of our former employer",
"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.