Skip to main content
Technical Guides

Configure Your First Intent Signal with the Rodz API

Peter Cools · · Updated on May 3, 2026 · 12 min read

TL;DR: The Rodz API lets you configure 14 types of intent signals to detect sales opportunities in real time. This guide walks through choosing a signal type, applying filters, activating your configuration, and testing it with cURL. By the end, you’ll have a working signal config that delivers relevant company events straight to your pipeline.

What Is Intent Signal Configuration?

An intent signal is the context a company is in. A hiring spree, a funding round, a leadership change, each of these events reveals something about a company’s current situation and the problems it’s likely facing. But raw events are noise. Configuration is what turns noise into something you can act on.

When you configure an intent signal through the Rodz API, you’re telling the system exactly which events matter to your business, under which conditions, and for which companies. It’s 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 haven’t set up authentication with the Rodz API yet, 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:

  1. A Rodz account with API access enabled. You can register at app.rodz.io.
  2. Your API key, generated from the Rodz dashboard. If you need help with this step, refer to the authentication guide.
  3. cURL installed on your machine (macOS and Linux include it by default; Windows users can use Git Bash or WSL).
  4. A clear ICP (Ideal Customer Profile) so you know which signal types, industries, company sizes, and geographies to target.
  5. 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. Knowing what each type captures is the first step to choosing the right configuration for your ICP.

Growth and Hiring Signals

  • job-offers: Detects new job postings published by a company. Useful for identifying companies scaling a specific department (sales, engineering, marketing). You can filter by job title, seniority level, department, and volume.
  • republished-job-offers: Flags job postings republished after expiring. This often indicates an urgent or hard-to-fill role, which can be a strong signal for recruitment tools or staffing agencies.
  • recruitment-campaign: Triggers when a company launches a coordinated hiring 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, new leaders often bring new tools. (That said, the signal decays fast. Reaching out a week after the appointment announcement is very different from reaching out the same day.)
  • competitor-relationships: Identifies when prospects hire from or lose employees to competing vendors. 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 publicly.
  • company-page-engagement: Tracks changes in engagement on company pages. A sudden increase in followers or interactions can indicate market momentum.
  • company-followers: Monitors follower growth on company pages. Rapid 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

The walkthrough below uses a job-offers signal, one of the most versatile types.

Step 1: Define Your Objective

Before writing any code, answer three questions:

  • What am I selling? (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’ll need better tooling.)

That gives the 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
      }
    }
  }'

What each field does:

  • name: A human-readable label. 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 true to activate immediately. Set to false 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 hires that actually matter to your sale.
  • filters.geography: Limits detection to specific countries (ISO 3166-1 alpha-2 codes).
  • filters.volume: Minimum number of matching job offers within a rolling period. This keeps you from getting signals on isolated postings and focuses on genuine hiring trends.

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. You’ll 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"

Useful for verifying that your filters were applied correctly before you activate.

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 as-is.

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 that lookback period without triggering any webhooks or notifications. Review the results:

  • Too many signals? Tighten your filters. Increase the min_offers threshold, 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 works for your sales team. This step takes maybe twenty minutes and saves you from poisoning your CRM with a bad first batch.

Step 7: Activate and Connect

Once you’re 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’s covered in detail in the webhook setup guide.

Configuring Other Signal Types

The job-offers example above shows the general pattern. Each signal type has its own relevant filters. Below 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 complete list of available filters per signal type.

Best Practices for Signal Configuration

Start narrow, then expand. Beginning with tight filters and loosening them gradually is much safer than starting broad. Your sales team will stop trusting the system quickly if the first batch of signals is mostly noise.

Name configurations descriptively. You’ll end up with many configurations. “Engineering hiring, mid-market, France” is far more useful than “Config 1” when you’re auditing or updating three months later.

Use the test endpoint before every activation. Testing costs nothing and keeps you from flooding your CRM with bad data.

Combine multiple signal types. A company that’s 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. This is where signal stacking pays off: the account priority compounds as signals overlap.

Review and prune regularly. Markets shift, your ICP evolves, and signal relevance changes. A monthly review of your configurations to deactivate stale ones and tune active ones takes an hour and keeps your pipeline clean.

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’s 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, 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 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 doesn’t have a dedicated duplicate endpoint, but you can retrieve an existing configuration with GET, modify the payload, and send it as a new POST. That’s 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_keywords for job-changes, keywords for public-tenders). The complete filter reference is 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 of deleting it.

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 the webhook guide.

Next Steps

You now have a working signal configuration detecting business events that match your ideal customer profile. From here:

  • Set up webhooks to receive signals in real time and push them into your CRM or outreach tool. Follow the 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 well-tested integrations.

Signal-driven outreach only works when the signals are precise enough to drive action. Tune your configurations, test them, iterate. The 48-hour window after a signal fires is when reply rates run 4x cold-outbound levels, so the quality of your configuration is directly what determines whether you hit that window or miss it.

Share:

Detect your next customers automatically

100 free credits. No credit card.

Generate your outbound strategy for free

Our AI analyzes your company and creates a complete playbook: ICP, personas, email templates, call scripts.

Generate my strategy