---
title: Webhooks
slug: webhooks
docTags: 
createdAt: 2025-08-08T09:58:26.788Z
---

Callback API for our integration partners who want to receive and act upon
different Jobylon events.

## Model

In Jobylon every webhook has a client url and an event type that it is
subscribed to.

## Workflow

After the third-party party app registers with Jobylon; they can request
webhook intergration by providing a url and the type of events it should
subscribe to. The webhook will use these details to send notifications when an
event occurs.

When the event is sent to the url the webhook expects a successful response
(HTTP 2XX).  In the case it does not receive a valid response, it will retry
again immediately and then after 30 seconds, 300 seconds (5 minutes), 3000 seconds (50
minutes), 30000 seconds (\~8.3 hours) and 300000 seconds (\~3 days and 12 hours).

```mermaid
flowchart LR
    subgraph Jobylon ATS
        A["Data Change<br/>(Job/Application/Event/etc     )"] --> A1
        A1["Is request authorized?"] --> B{"Matches additional filters to limit<br/>what data is exposed?"}
        A1 -->|"No"| X["Skip"]
    end
    subgraph Security["Security Layer"]
        B -->|"Yes"| C["Build Request"]
        C --> D["HTTPS POST<br/>+ Basic Auth (optional)<br/>+ Custom Headers (optional)<br/>+ Static IP (optional)"]
    end
    subgraph Delivery["Delivery"]
        D --> E{"2xx?"}
        E -->|"Yes"| F["✓ Delivered"]
        E -->|"No"| G["Retry with Backoff<br/>(6 retries over ~3.5 days)"]
        G --> D
    end
    subgraph Partner["Partner"]
        F --> H["Webhook Endpoint"]
    end
    B -->|"No"| X["Skip"]
    style A fill:#e8f4fc,stroke:#90caf9
    style B fill:#fff8e1,stroke:#ffe082
    style C fill:#f3e5f5,stroke:#ce93d8
    style D fill:#f3e5f5,stroke:#ce93d8
    style E fill:#e8f5e9,stroke:#a5d6a7
    style F fill:#e8f5e9,stroke:#a5d6a7
    style G fill:#fff3e0,stroke:#ffcc80
    style H fill:#e0f7fa,stroke:#80deea
    style X fill:#fce4ec,stroke:#f48fb1
```

## Headers

You can request us to provide you with custom headers if you so choose.

## Authentication

You can request us to provide `basic authentication` by providing a username and password of your choosing.

## Limit IP

You can limit the IPs that the callback comes from by letting us know.

## Filtering

You can control which webhooks you receive by applying filters that **include** or **exclude** events based on specific criteria. For example, you might choose to receive webhooks only for Jobs in a particular Department, or exclude webhooks for Applications belonging to a certain Job.
The fields shown in the examples below can be used as filter parameters.

## Event Types

- [Application](https://developer.jobylon.com/application)
- [Job](https://developer.jobylon.com/job)
- [Answers](docId\:wIQW2MWiqzwIVeCnWLbCZ)
- [Calendar Events](https://developer.jobylon.com/calendar-events)
- [Referral Scores](docId:6QTIa3dG-j_5nUTMU1yEj)
- [Rejection Reason](docId\:C2_PTXDmQ0XFAdTqJxE22)&#x20;

###

