> For the complete documentation index, see [llms.txt](https://docs.reo.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reo.dev/integrations/output-integrations/data-export/webhooks.md).

# Webhooks

Reo.Dev’s **Webhooks** feature enables **real-time data transmission** from Reo.Dev to external systems. This unlocks powerful automation workflows, allowing sales and marketing teams to:

* Get **instant Slack alerts** when high-intent accounts or developers enter a segment.
* Automatically **add new leads to dynamic email sequences tools** or **LinkedIn outreach campaigns.**
* Sync **new accounts with CRM systems** like Salesforce, HubSpot, or Pipedrive.
* Enrich advertising audiences by **syncing accounts to LinkedIn Ads or other ad platforms**.
* Contextualize outreach using **activity-based triggers**, such as a developer initiating a package installation.

{% hint style="info" %}
**Note:** This feature is **only available** for customers with **Data Out API Add-on** (Product API, Zapier, Webhooks, etc) in their plans.
{% endhint %}

To enable Webhooks, contact your **Customer Success Representative** via Slack or email us at <support@reo.dev>

***

### **Navigating to Webhooks**

1. **Go to**: `Settings → Integrations`.
2. **Find the Webhooks tile** and click **"Configure"**.

![](/files/4dUS9Ey2tzDBSxgSbbwL)

You will see the **Webhooks dashboard** listing all created webhooks, their status, and last updated activity time.

![](/files/wcpcBSKYAldinintgrZ7)

***

### **Creating a Webhook**

{% hint style="info" %}
Only users with **Admin role** permissions in Reo.Dev can create and map Webhooks.
{% endhint %}

To create a webhook, follow these steps:

1. **Click "Create Webhook"** on the Webhooks dashboard.
2. **Fill in the required details:**
   * **Webhook Name** → Give a descriptive name.
   * **Payload Type** → Choose from `Accounts`, `Developers`, `Buyers` or `Activities`
   * **Destination URL** → Enter the external system’s API endpoint (e.g., a **Zapier webhook URL**).
3. **Click "Create"** to create the Webhook.

<img src="/files/OsNR5NpFLNGRvGWbfblI" alt="" width="375">

***

### **Webhook Triggers & Events**

Reo.Dev currently supports the following **types of Webhook triggers**:

| **Event**                                       | **Trigger Type**   | **Frequency** |
| ----------------------------------------------- | ------------------ | ------------- |
| **New Account added to an account segment**     | Account Segment    | Once per day  |
| **New Developer added to a developer segment**  | Developer Segment  | Once per day  |
| **New Buyer added to a buyer segment**          | Buyer Segment      | Once per day  |
| **New activity in an account segment**          | Account Activity   | Instant       |
| **New activity in a developer segment**         | Developer Activity | Instant       |
| **New activity in a buyer segment**             | Buyer Activity     | Instant       |
| **New account added to a company audience**     | Company Audience   | Once per day  |
| **New developer added to a developer audience** | Developer Audience | Once per day  |
| **New buyer added to a buyer audience**         | Buyer Audience     | Once per day  |

* **Account, Developer, Buyer Segments + Company/Developer/Buyer Audience** → Data refreshes **every 24 hours**, so new accounts/developers are **added once a day**.
* **Activity Webhooks** → Trigger **instantly** whenever an activity occurs.

{% hint style="warning" %}
**Important: Activity Webhooks & De-anonymized Developers**

Activity webhooks (both for Account Activity and Developer Activity) **only trigger when the activity is performed by a de-anonymized developer** - meaning Reo.Dev has successfully identified and linked the developer to their profile.

**Activity from anonymous developers will not trigger webhooks.** This ensures webhook events only fire when actionable contact data is available for follow-up.
{% endhint %}

#### **Best Practice:**

{% hint style="success" %}
Always **create a Webhook first** before mapping it to a segment. Use clear, descriptive names to easily recognize Webhooks when mapping them.
{% endhint %}

***

### **Testing Webhooks & Sample Payloads**

Before using a Webhook, **test if data is reaching the destination URL**:

* Open the Webhooks dashboard.
* Click the **Test Webhook** icon.

![](/files/fUUUsHJy2jszMFEvuDS7)

* The system will send a **sample payload** to the configured destination URL.
* Click on **Test Webhooks**.

<figure><img src="/files/KQog9fCaOBzfOw2R3D3m" alt=""><figcaption></figcaption></figure>

* If successful, you will see a **confirmation message**.

![](/files/EkLYE89NexEL7OTuDuJq)

* If the URL is incorrect or unreachable, an **error message** appears:

![](https://usercontent.us.prod.clueso.io/d06f019c-da0b-4d5b-9fdd-9630e7fd5d0f/3603b11a-ddf6-453c-b6ed-185a1ce45b6d/03397146-7c71-41b1-90bf-c6acee1ceada/images/272bc7df-e23a-4670-8c49-8635b9e524f6.png)

**To fix it**: Check if the URL is correct and the endpoint is configured to accept data.

**Note:**

* The test only verifies **if the sample payload is successfully received** at the destination URL.
* **It does NOT test webhook behavior after mapping it to a segment.**
* Even if a Webhook is mapped to a segment, the **Test Webhook function will not send actual segment data** but will always use Reo.Dev’s **predefined sample payload** for testing.

***

#### **Sample Payloads**

**Account Payload Example**

<figure><img src="/files/WLmBmU8L44J6GPylaSEB" alt=""><figcaption></figcaption></figure>

```json
{
    "org_id": "03e19e88-5b3e-4f58-b21b-aa7d737d8d19",
    "account_name": "Reo.Dev",
    "account_domain": "reo.dev",
    "country": "United States",
    "first_activity_date": "2025-03-07 22:34:40",
    "last_activity_date": "2025-03-07 22:34:40",
    "customer_fit": "STRONG",
    "activity_score": "HIGH",
    "active_developers_count": 10,
    "reo_account_link": "https://web.reo.dev/dashboard/accounts?orgId=03e19e88-5b3e-4f58-b21b-aa7d737d8d19&activeKey=Overview",
    "segment_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
    "segment_name": "Reo.Dev Default Test Segment",
    "activity_score_numeric": 70,
    "developer_funnel": "Exploring",
    "state": "California",
    "city": "San Francisco",
    "account_linkedin_link": "https://www.linkedin.com/company/reo-dev",
    "annual_revenue": "1.0M",
    "industry": "Developer Tools",
    "source": "SEGMENT",
    "source_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
    "source_name": "Reo.Dev Default Test Segment",
    "tech_functions_count": {
        "ai_ml_count": 1
    },
    "employee_count_range": "1-10",
    "preferred_technology": "Python, Go",
    "agent_tags": "agentic-ai-tag",
    "founded_year": ""
}
```

***

**Developer/Buyer Payload Example**

<figure><img src="/files/8JxEEmJMcmZWfU3mSqPM" alt=""><figcaption></figcaption></figure>

```json
{
    "developer_id": "e2eb4d5c-a1f8-40ff-a50a-dc088ec99600",
    "developer_name": "John Doe",
    "developer_first_name": "John",
    "developer_last_name": "Doe",
    "country": "United States",
    "developer_linkedin": "https://www.linkedin.com/company/john-doe",
    "developer_github": "https://github.com/github-john-doe",
    "developer_business_email": "johndoe@protonmail.com",
    "first_activity_date": "2025-03-07 22:34:40",
    "last_activity_date": "2025-03-07 22:34:40",
    "account": {
        "org_id": "03e19e88-5b3e-4f58-b21b-aa7d737d8d19",
        "account_name": "Reo.Dev",
        "account_domain": "reo.dev",
        "country": "United States",
        "first_activity_date": "2025-03-07 22:34:40",
        "last_activity_date": "2025-03-07 22:34:40",
        "customer_fit": "STRONG",
        "activity_score": "HIGH",
        "active_developers_count": 10,
        "reo_account_link": "https://web.reo.dev/dashboard/accounts?orgId=03e19e88-5b3e-4f58-b21b-aa7d737d8d19&activeKey=Overview",
        "segment_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
        "segment_name": "Reo.Dev Default Test Segment",
        "activity_score_numeric": 70,
        "developer_funnel": "Exploring",
        "state": "California",
        "city": "San Francisco",
        "account_linkedin_link": "https://www.linkedin.com/company/reo-dev",
        "annual_revenue": "1.0M",
        "industry": "Developer Tools",
        "source": "SEGMENT",
        "source_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
        "source_name": "Reo.Dev Default Test Segment",
        "tech_functions_count": {
            "ai_ml_count": 1
        },
        "employee_count_range": "1-10",
        "preferred_technology": "Python, Go",
        "agent_tags": "agentic-ai-tag",
        "founded_year": ""
    },
    "reo_developer_link": "https://web.reo.dev/dashboard/developers?devId=e2eb4d5c-a1f8-40ff-a50a-dc088ec99600",
    "segment_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
    "segment_name": "Reo.Dev Default Test Segment",
    "activity_score_numeric": 70,
    "activity_score": "HIGH",
    "state": "California",
    "city": "San Francisco",
    "developer_designation": "Software Engineer",
    "source": "SEGMENT",
    "source_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
    "source_name": "Reo.Dev Default Test Segment"
}
```

***

**Activity Payload Example**

<figure><img src="/files/djdIgcDNnUO948swd91w" alt=""><figcaption></figcaption></figure>

```json
{
    "activity_id": "1671f26c-92ac-48d8-9fc8-1b58c28c6ac8",
    "activity_type": "PAGE_VISIT",
    "source_type": "WEBSITE",
    "activity_date": "56087-02-26 18:53:20",
    "segment_name": "Reo.Dev Default Test Segment",
    "segment_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
    "segment_type": "ACCOUNT",
    "source_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
    "source_name": "Reo.Dev Default Test Segment",
    "developer": {
        "developer_id": "e2eb4d5c-a1f8-40ff-a50a-dc088ec99600",
        "developer_name": "John Doe",
        "developer_first_name": "John",
        "developer_last_name": "Doe",
        "country": "United States",
        "developer_linkedin": "https://www.linkedin.com/company/john-doe",
        "developer_github": "https://github.com/github-john-doe",
        "developer_business_email": "johndoe@protonmail.com",
        "first_activity_date": "2025-03-07 22:34:40",
        "last_activity_date": "2025-03-07 22:34:40",
        "account": {
            "org_id": "03e19e88-5b3e-4f58-b21b-aa7d737d8d19",
            "account_name": "Reo.Dev",
            "account_domain": "reo.dev",
            "country": "United States",
            "first_activity_date": "2025-03-07 22:34:40",
            "last_activity_date": "2025-03-07 22:34:40",
            "customer_fit": "STRONG",
            "activity_score": "HIGH",
            "active_developers_count": 10,
            "reo_account_link": "https://web.reo.dev/dashboard/accounts?orgId=03e19e88-5b3e-4f58-b21b-aa7d737d8d19&activeKey=Overview",
            "segment_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
            "segment_name": "Reo.Dev Default Test Segment",
            "activity_score_numeric": 70,
            "developer_funnel": "Exploring",
            "state": "California",
            "city": "San Francisco",
            "account_linkedin_link": "https://www.linkedin.com/company/reo-dev",
            "annual_revenue": "1.0M",
            "industry": "Developer Tools",
            "source": "SEGMENT",
            "source_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
            "source_name": "Reo.Dev Default Test Segment",
            "tech_functions_count": {
                "ai_ml_count": 1
            },
            "employee_count_range": "1-10",
            "preferred_technology": "Python, Go",
            "agent_tags": "agentic-ai-tag",
            "founded_year": ""
        },
        "reo_developer_link": "https://web.reo.dev/dashboard/developers?devId=e2eb4d5c-a1f8-40ff-a50a-dc088ec99600",
        "segment_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
        "segment_name": "Reo.Dev Default Test Segment",
        "activity_score_numeric": 70,
        "activity_score": "HIGH",
        "state": "California",
        "city": "San Francisco",
        "developer_designation": "Software Engineer",
        "source": "SEGMENT",
        "source_id": "47e9bfb4-2f39-4131-b44c-fb3ef9fd43ca",
        "source_name": "Reo.Dev Default Test Segment"
    },
    "activity_source_url": "https://reo.dev/contact-us",
    "source": "DEVELOPER_SEGMENT"
}
```

***

### **Editing, Pausing, & Deleting Webhooks**

* **Edit Webhook:** You can modify the **name** and **destination URL**. If already mapped to a segment, the new URL will start receiving data automatically.
* **Pause Webhook:** Temporarily **stops data flow** to the endpoint. Can be resumed anytime.
* **Delete Webhook:** **Removes it permanently**, along with all stored webhook data.

***

### **Mapping Webhooks to Segments**

{% hint style="info" %}
**Note:** As of today, Webhooks currently can only be mapped to Account & Developer Segments (not Buyer Segments).
{% endhint %}

#### **How to Map a Webhook**

**How to map a webhook in Segments**&#x20;

* Open the **Segments** panel.
* Click **"Configure Webhook"** for an Account or Developer segment.

![](https://usercontent.us.prod.clueso.io/d06f019c-da0b-4d5b-9fdd-9630e7fd5d0f/3603b11a-ddf6-453c-b6ed-185a1ce45b6d/03397146-7c71-41b1-90bf-c6acee1ceada/images/41bc3348-10ea-4d9c-97d1-e405035721c0.png)

* In the **mapping popup modal**:
  * For **Account Segments**, only **Account** and **Activity** payload type Webhooks will be listed.
  * For **Developer Segments**, only **Developer** and **Activity** payload type Webhooks will be listed.
  * For **Buyer Segments,** only **Buyer and Activity** payload type Webhooks will be listed.
  * For **Company Audience,** only **Account** payload type webhooks will be listed
  * For **Buyer Audience,** only **Buyer** payload type webhooks will be listed
  * For **Developer Audience**, only **Developer** payload type webhooks will be listed
  * **Account payload Webhooks cannot be mapped to Developer/Buyer Segments**.
* Select the Webhook(s) you want to map.
* Save the selection.

![](https://usercontent.us.prod.clueso.io/d06f019c-da0b-4d5b-9fdd-9630e7fd5d0f/3603b11a-ddf6-453c-b6ed-185a1ce45b6d/03397146-7c71-41b1-90bf-c6acee1ceada/images/56d1db22-26de-4032-b6e2-349c70236ab7.png)

**How to map a webhook in Audiences**&#x20;

* **For Company Audience:**

  * Click on 'Configure Webhook'

  <figure><img src="/files/q4bfRBgovY6ao4L0H5YG" alt=""><figcaption></figcaption></figure>

  * Select the webook you want to map the audience to&#x20;

* **For Developer Audience:**

  * Head to the Developers tab under Audiences
  * Click on 'Configure Webhook'

  <figure><img src="/files/NFDMlaAn8a024nPLBErZ" alt=""><figcaption></figcaption></figure>

  * Select the webook you want to map the audience to&#x20;

* **For Buyer Audience:**

  * Head to the Buyers tab under Audiences
  * Click on 'Configure Webhook'

  <figure><img src="/files/GOfSZ3g31pksJIwvUZaG" alt=""><figcaption></figcaption></figure>

  * Select the webook you want to map the audience to&#x20;

***

#### **First-Time Sync & Incremental Updates**

* When mapping a Webhook **for the first time**, **all** existing data in the segment is sent.
* After that, only **new accounts/developers** added to the segment will be sent.
* **Activity Webhooks do NOT perform first-time syncs** (to prevent system overload).

{% hint style="info" %}
**How Activity Webhooks Handle Segment Filters**

Activity webhooks send **all activities** performed by developers or accounts in the mapped segment - **not just activities matching the segment's filter criteria**.

**Example:** If your segment filters for developers who performed `PAGE_VISIT` activities, the activity webhook will send **all activity types** (PAGE\_VISIT, COPY\_COMMAND, FORM\_CAPTURE, etc.) from those developers, not just PAGE\_VISIT events.

**Why this matters:** Use the segment filters to identify the right developers/accounts, then use webhook filtering in your downstream tools (Zapier, n8n, etc.) to process specific activity types.
{% endhint %}

***

### **Error Handling & Audit Logs**

* **Webhook failures** → If a webhook fails, **one retry** is attempted.
* **No audit logs (yet)** → Currently, webhook logs/errors are **not visible in the UI**.
* **Planned improvements** → Audit logs and better error tracking will be introduced soon.
* **Need help?** Contact support via Slack or email <support@reo.dev>

***

### **Webhook Event Types & Data Fields**

Reo.Dev Webhooks capture and send various event types related to developer and account activities across multiple sources. Below is a structured list of the unique **activity\_type** and **source\_type** values currently supported in Webhooks.

#### **Supported Activity & Source Types**

#### **GitHub** (`source_type`: `"GITHUB"`)

* `"activity_type": "FORK"`
* `"activity_type": "STAR"`
* `"activity_type": "COMMENT"`
* `"activity_type": "ISSUE_CREATION"`
* `"activity_type": "PULL_REQUEST"`
* `"activity_type": "WATCH"`

#### **Documentation** (`source_type`: `"DOCUMENT"`)

* `"activity_type": "PAGE_VISIT"`
* `"activity_type": "COPY_TEXT"`
* `"activity_type": "COPY_PACKAGE_MANAGER"`
* `"activity_type": "COPY_COMMAND"`
* `"activity_type": "FORM_CAPTURE"`

#### **Website** (`source_type`: `"WEBSITE"`)

* `"activity_type": "PAGE_VISIT"`
* `"activity_type": "COPY_TEXT"`
* `"activity_type": "COPY_PACKAGE_MANAGER"`
* `"activity_type": "COPY_COMMAND"`
* `"activity_type": "FORM_CAPTURE"`

#### **Product** (`source_type`: `"PRODUCT_JS"`)

* `"activity_type": "Identity"`
* `"activity_type": "PAGE_VISIT"`
* `"activity_type": "COPY_TEXT"`
* `"activity_type": "COPY_PACKAGE_MANAGER"`
* `"activity_type": "COPY_COMMAND"`

#### **Code Interactions** (`source_type`: `"CODE_INTERACTIONS"`)

* `"activity_type": "INTERACTION_COPY_COMMAND"`
* `"activity_type": "INTERACTION_COPY_PACKAGE_MANAGER"`

#### **Slack** (`source_type`: `"SLACK"`)

* `"activity_type": "SLACK_MESSAGE"`
* `"activity_type": "SLACK_REPLY"`
* `"activity_type": "SLACK_REACTION"`
* `"activity_type": "SLACK_JOINED"`

#### **LinkedIn** (`source_type`: `"LINKEDIN"`)

* `"activity_type": "LINKEDIN_MESSAGE"`
* `"activity_type": "LINKEDIN_REPLY"`
* `"activity_type": "LINKEDIN_REACTION"`

#### **Product** API (`source_type`: `"PRODUCT_API"`)

* `"activity_type": "USEAGE_METRIC"`

{% hint style="warning" %}

#### Important Disclaimer on `USEAGE_METRIC` Activity Type

When using Webhooks with **Product API** (`source_type: "PRODUCT_API"`), this `activity_type` **is not a static value**. `"USEAGE_METRIC"` represents a **dynamic placeholder** — the actual `activity_type` sent in the webhook will match the ***custom metric name*** you have configured in your **Product Usage Metrics** settings in Reo.Dev.\
\
**For example:**

If you have configured a metric with the name:\
\
`USER_PORTAL_SIGN-UP`\
\
Then Webhook events will appear with:\
\
`"activity_type": "USER_PORTAL_SIGN-UP"`\
\
**Why this matters:**\
If you plan to create filters, dashboards, or downstream processing based on **Product API** `source_type`, always use the exact custom metric name you have configured in Reo.Dev and not the placeholder `"USEAGE_METRIC"`
{% endhint %}

#### Example Product Usage Metrics Configuration

<figure><img src="/files/aRp7G7S7KNiID276YDRE" alt=""><figcaption></figcaption></figure>

**How to Configure Product Usage Metrics**

👉 [How to Configure Product Usage Metrics in Settings](/configurations/product-usage.md)

***

### **Best Practices on Filtering & Processing Webhooks**:&#x20;

By using `activity_type`, `activity_source_url` , `source_type`, and `tags` ( (available on both **Account** and **Developer** payloads as `account_tags` and `developer_tags`) your system can **categorize and process webhook data with high precision**.

These values not only determine **what kind of developer or account actions** are being tracked and the **origin of those actions**, but also enable you to create **very granular filters and conditions**.

For example, combining:

#### **Data Format Example**

Webhook payloads follow a structured JSON format like this:

```json
{
  "activity_type": "PAGE_VISIT",
  "source_type": "DOCUMENT",
  "activity_source_url": "https://reo.dev/pricing",
  "tags": "High Intent Account"
}

```

allows you to:

✅ Target workflows only on visits to high-value pages\
✅ Further narrow them down by **Account** or **Developer tags** — like "Target Industry", "High Intent Account", "Paid User", "Enterprise", "Viewed API Docs", etc.\
✅ Personalize downstream actions based on segment or user type.

**Workflow Automation Use Cases**

With this combination of filters, you can build **powerful personalized workflows** using:

* **Zapier**
* **n8n**
* **Clay**
* Or any tool that supports **Webhooks** as an input trigger.

**Example ideas:**

* Trigger personalized Slack alerts for high-value account or developer activity.
* Auto-enroll tagged developers into dynamic email or LinkedIn nurture journeys with personalized messaging.
* Create AMB personalized laning pages.

By leveraging these flexible webhook filters, your team can create more relevant, timely, and contextual automation, with little to no code.

{% hint style="info" %}
**How Activity Webhooks Handle Segment Filters**

Activity webhooks send **all activities** performed by developers or accounts in the mapped segment - **not just activities matching the segment's filter criteria**.

**Example:** If your segment filters for developers who performed `PAGE_VISIT` activities, the activity webhook will send **all activity types** (PAGE\_VISIT, COPY\_COMMAND, FORM\_CAPTURE, etc.) from those developers, not just PAGE\_VISIT events.

**Why this matters:** Use the segment filters to identify the right developers/accounts, then use webhook filtering in your downstream tools (Zapier, n8n, etc.) to process specific activity types.
{% endhint %}

***

### **FAQs**

<details>

<summary>Can I map a Webhook to multiple segments?</summary>

Yes, a single webhook can be linked to multiple segments.

</details>

<details>

<summary>How frequently is segment data updated?</summary>

New data in **for Segments** is refreshed **every 24 hours**. Activity Webhooks trigger **instantly**.

</details>

<details>

<summary>What happens if I change the Webhook’s destination URL?</summary>

All mapped segments will start sending data to the **new URL automatically**.

</details>

<details>

<summary>How do I debug Webhook failures?</summary>

Check if the **destination URL is correct** and the system is configured to accept webhook data. For any other errors or failures, please reach out to us on Slack or via email at <support@reo.dev>

</details>

***

### **Need Further Assistance?**

If you encounter any issues, reach out to our team via:

📧 **Email** → <support@reo.dev>\
💬 **Slack** → Contact your CSM


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.reo.dev/integrations/output-integrations/data-export/webhooks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
