TL;DR — The Rodz API lets you configure 14 types of intent signals to detect sales opportunities in real time. This guide walks you through choosing a signal type, applying filters, activating your configuration, and testing it with cURL. By the end, you will have a working signal config that delivers relevant company events straight to your pipeline.
What Is Intent Signal Configuration?
An intent signal is a detectable event in a company’s lifecycle that reveals a potential need: a hiring spree, a funding round, a leadership change. But raw events are noise. Configuration is what turns noise into actionable intelligence.
When you configure an intent signal through the Rodz API, you are telling the system exactly which events matter to your business, under which conditions, and for which companies. Think of it as building a radar with precision filters. Instead of receiving every job posting published worldwide, you receive only the ones that match your target market, company size, geography, and volume thresholds.
The Rodz API exposes a /signals/configurations endpoint that lets you create, update, list, and delete these configurations programmatically. Each configuration ties a signal type to a set of filters and parameters that determine when an event becomes a signal worth acting on.
If you have not yet set up authentication with the Rodz API, start with Getting Started: Authentication and Your First Request before continuing here.
Prerequisites
Before configuring your first signal, make sure you have the following ready:
- A Rodz account with API access enabled. You can register at app.rodz.io.
- Your API key, generated from the Rodz dashboard. If you need help with this step, refer to our authentication guide.
- cURL installed on your machine (macOS and Linux include it by default; Windows users can use Git Bash or WSL).
- A clear ICP (Ideal Customer Profile) so you know which signal types, industries, company sizes, and geographies to target.
- Basic familiarity with REST APIs and JSON payloads. No SDK is required for this tutorial.
Set your API key as an environment variable to keep the examples clean:
export RODZ_API_KEY="your_api_key_here"
The 14 Signal Types Explained
The Rodz API currently supports 14 signal types. Each one detects a different category of business event. Understanding them is the first step to choosing the right configuration.
Growth and Hiring Signals
- job-offers — Detects new job postings published by a company. Useful for identifying companies that are scaling a specific department (sales, engineering, marketing). You can filter by job title, seniority level, department, and volume.
- republished-job-offers — Flags job postings that have been republished after expiring. This often indicates an urgent or hard-to-fill role, which can be a strong intent signal for recruitment tools or staffing agencies.
- recruitment-campaign — Triggers when a company launches a coordinated recruitment push across multiple roles. This goes beyond individual job offers and captures the broader pattern of aggressive hiring.
Financial and Corporate Signals
- fundraising — Detects funding rounds (seed, Series A through D, growth equity). Companies that just raised capital have budget to spend on new tools and services.
- mergers-acquisitions — Captures M&A activity. Post-merger companies typically reassess their entire vendor stack and processes.
- company-registration — Flags newly registered companies. New businesses need everything from software to office supplies.
People Movement Signals
- job-changes — Detects when key decision-makers change companies. A new VP of Sales at a target account is one of the strongest triggers for outreach, as new leaders often bring new tools.
- competitor-relationships — Identifies when prospects hire from or lose employees to your competitors. This reveals familiarity with your market and potential openness to alternatives.
Social and Engagement Signals
- social-mentions — Tracks when a company or its leaders are mentioned on social platforms. Spikes in mentions can indicate product launches, PR events, or controversies.
- social-reactions — Monitors engagement patterns (likes, comments, shares) on company content. Rising engagement often correlates with growth phases.
- influencer-engagement — Detects when industry influencers interact with a company’s content or mention them. This can indicate rising market presence.
- company-page-engagement — Tracks changes in engagement on company pages (LinkedIn, for example). A sudden increase in followers or interactions signals market momentum.
- company-followers — Monitors follower growth on company pages. Rapid follower increases often precede or accompany growth phases.
Market Opportunity Signals
- public-tenders — Captures published public tenders and RFPs. These are explicit intent signals with defined budgets and timelines.
Step-by-Step: Creating Your First Signal Configuration
Let’s walk through configuring a job-offers signal, one of the most versatile and commonly used types.
Step 1: Define Your Objective
Before writing any code, answer these questions:
- What am I selling? For example, a project management SaaS.
- Who buys it? Engineering and product leaders at mid-market companies.
- What event triggers a need? The company starts hiring multiple developers, signaling a scaling team that will need better tooling.
This gives us our parameters: signal type job-offers, filtered to engineering roles, at companies with 50-500 employees.
Step 2: Create the Configuration
Use the POST /signals/configurations endpoint to create a new signal configuration:
curl -X POST https://api.rodz.io/v1/signals/configurations \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Engineering hiring — mid-market",
"signal_type": "job-offers",
"enabled": true,
"filters": {
"company_size": {
"min": 50,
"max": 500
},
"job_department": ["engineering", "product"],
"job_seniority": ["senior", "lead", "manager"],
"geography": {
"countries": ["FR", "BE", "CH"]
},
"volume": {
"min_offers": 3,
"period_days": 30
}
}
}'
Let’s break down the payload:
- name — A human-readable label for this configuration. Use something descriptive so you can identify it quickly in a list.
- signal_type — One of the 14 types listed above. Here,
job-offers. - enabled — Set to
trueto activate the configuration immediately. Set tofalseif you want to configure now and activate later. - filters.company_size — Restricts detection to companies within your target size range (employee count).
- filters.job_department — Only triggers for roles in the specified departments.
- filters.job_seniority — Filters by seniority level to focus on meaningful hires.
- filters.geography — Limits detection to specific countries (ISO 3166-1 alpha-2 codes).
- filters.volume — The minimum number of matching job offers within a rolling period. This ensures you only get signals from companies with a real hiring trend, not isolated postings.
A successful response returns the created configuration with its unique ID:
{
"id": "sig_config_8f3a2b1c",
"name": "Engineering hiring — mid-market",
"signal_type": "job-offers",
"enabled": true,
"filters": { ... },
"created_at": "2026-03-05T10:30:00Z",
"updated_at": "2026-03-05T10:30:00Z"
}
Save the id value. You will need it to update, test, or delete this configuration.
Step 3: List Your Configurations
To view all your active signal configurations:
curl -X GET https://api.rodz.io/v1/signals/configurations \
-H "Authorization: Bearer $RODZ_API_KEY"
The response includes an array of all your configurations with their current status. You can also filter by signal type:
curl -X GET "https://api.rodz.io/v1/signals/configurations?signal_type=job-offers" \
-H "Authorization: Bearer $RODZ_API_KEY"
Step 4: Retrieve a Single Configuration
To inspect a specific configuration by ID:
curl -X GET https://api.rodz.io/v1/signals/configurations/sig_config_8f3a2b1c \
-H "Authorization: Bearer $RODZ_API_KEY"
This is useful for verifying that your filters were applied correctly before activating.
Step 5: Update a Configuration
Need to adjust the filters? Use the PATCH endpoint:
curl -X PATCH https://api.rodz.io/v1/signals/configurations/sig_config_8f3a2b1c \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"company_size": {
"min": 100,
"max": 1000
},
"volume": {
"min_offers": 5,
"period_days": 30
}
}
}'
Only the fields you include in the payload are updated. Everything else stays the same.
Step 6: Test Your Configuration
Before relying on a configuration for live prospecting, run a test to see what signals it would have detected over a recent period:
curl -X POST https://api.rodz.io/v1/signals/configurations/sig_config_8f3a2b1c/test \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"lookback_days": 7
}'
The test endpoint returns a preview of matching signals from the specified lookback period without actually triggering any webhooks or notifications. Review the results:
- Too many signals? Tighten your filters. Increase the
min_offersthreshold, narrow the geography, or restrict the company size range. - Too few signals? Loosen the filters. Reduce the volume threshold, add more departments, or expand the geography.
- Irrelevant companies? Add industry filters or exclude specific sectors.
Iterate until the signal-to-noise ratio feels right for your sales team.
Step 7: Activate and Connect
Once you are happy with the test results, make sure the configuration is enabled:
curl -X PATCH https://api.rodz.io/v1/signals/configurations/sig_config_8f3a2b1c \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"enabled": true
}'
To receive signals in real time, set up a webhook. That is covered in detail in our webhook setup guide.
Configuring Other Signal Types
The job-offers example above illustrates the general pattern, but each signal type has its own relevant filters. Here are configuration examples for three additional types.
Fundraising Signals
curl -X POST https://api.rodz.io/v1/signals/configurations \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Series A-B in SaaS",
"signal_type": "fundraising",
"enabled": true,
"filters": {
"funding_round": ["series_a", "series_b"],
"amount": {
"min": 1000000,
"currency": "EUR"
},
"industry": ["software", "saas", "technology"],
"geography": {
"countries": ["FR", "DE", "NL", "BE"]
}
}
}'
Job Changes Signals
curl -X POST https://api.rodz.io/v1/signals/configurations \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "New sales leaders at target accounts",
"signal_type": "job-changes",
"enabled": true,
"filters": {
"job_title_keywords": ["VP Sales", "Head of Sales", "Chief Revenue Officer", "Sales Director"],
"change_type": "new_position",
"company_size": {
"min": 200,
"max": 5000
}
}
}'
Public Tenders
curl -X POST https://api.rodz.io/v1/signals/configurations \
-H "Authorization: Bearer $RODZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "IT consulting public tenders",
"signal_type": "public-tenders",
"enabled": true,
"filters": {
"keywords": ["consulting", "IT services", "digital transformation"],
"budget": {
"min": 50000,
"currency": "EUR"
},
"geography": {
"countries": ["FR"]
}
}
}'
Each signal type supports different filter fields. Check the API reference for the full list of available filters per signal type.
Best Practices for Signal Configuration
Start narrow, then expand. It is better to begin with tight filters and gradually loosen them than to start broad and drown in irrelevant signals. Your sales team will lose trust in the system if the first batch of signals is noisy.
Name configurations descriptively. You will end up with multiple configurations. Names like “Engineering hiring, mid-market, France” are far more useful than “Config 1” when you need to audit or update them.
Use the test endpoint before every activation. Testing costs nothing and saves you from flooding your CRM with bad data. Make it a habit.
Combine multiple signal types. The most powerful prospecting strategies layer multiple signals. A company that is both hiring engineers and just raised a Series A is a stronger lead than either signal alone. Set up separate configurations for each type and combine them in your pipeline logic.
Review and prune regularly. Markets shift, your ICP evolves, and signal relevance changes. Schedule a monthly review of your configurations to deactivate stale ones and tune active ones.
Frequently Asked Questions
How many signal configurations can I create?
The number of configurations depends on your Rodz plan. Most plans support at least 25 active configurations. There is no limit on disabled configurations, so you can keep templates ready and activate them as needed.
Can I configure multiple signal types in a single configuration?
No. Each configuration targets exactly one signal type. This is by design, as it keeps filters clean and makes testing straightforward. To monitor multiple signal types, create one configuration per type.
What happens when I disable a configuration?
Disabling a configuration ("enabled": false) stops new signal detection for that configuration immediately. Historical signals already detected remain accessible in your account. You can re-enable the configuration at any time without losing your filter settings.
How quickly do signals appear after I activate a configuration?
Most signal types deliver results within minutes of activation if matching events already exist in the Rodz database. For event types that depend on external source refresh cycles (like public tenders), initial results may take up to a few hours. The test endpoint gives you instant feedback against historical data.
Can I duplicate an existing configuration?
The API does not have a dedicated duplicate endpoint, but you can retrieve an existing configuration with GET, modify the payload, and send it as a new POST. This is the recommended workflow when you want similar configurations for different geographies or company sizes.
What filters are available for each signal type?
Each signal type supports a common set of filters (geography, company size, industry) plus type-specific filters (funding round for fundraising, job title for job-changes, keywords for public-tenders). The complete filter reference is documented in the API reference guide.
How do I delete a configuration I no longer need?
Use the DELETE endpoint with the configuration ID:
curl -X DELETE https://api.rodz.io/v1/signals/configurations/sig_config_8f3a2b1c \
-H "Authorization: Bearer $RODZ_API_KEY"
This action is permanent. If you might need the configuration again, disable it instead.
Can I receive signals from a configuration via webhook?
Yes. Webhook delivery is the recommended way to consume signals in real time. Each webhook subscription can be linked to one or more configurations. For the full setup process, read our webhook guide.
Next Steps
You now have a working signal configuration detecting business events that match your ideal customer profile. From here, you can:
- Set up webhooks to receive signals in real time and push them into your CRM or outreach tool. Follow our webhook setup guide.
- Explore the full API reference to discover advanced filter options and endpoint details at api.rodz.io/docs.
- Review rate limits and error handling in the API reference article to build robust integrations.
Intent-based prospecting only works when the signals are precise enough to drive action. Take the time to tune your configurations, test them, and iterate. The companies that get this right see dramatically higher response rates because every outreach is grounded in a real, timely business event.