---
updatedAt: 2025-09-17T01:13:51.000Z
---

Fetch the complete documentation index at: https://docs.partnerstack.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Webhooks

Listen for events in your PartnerStack instance as they occur.

PartnerStack uses webhooks to notify an external service that some event has taken place in your instance. This allows you to listen for events without continuously polling our [PartnerStack API](https://docs.partnerstack.com/docs/partnerstack-api) for new information.

## How do webhooks work?

A webhook has two main components: the event and the endpoint receiving the event. This endpoint can be any API endpoint that can accept HTTP `POST` requests. Whenever a certain event occurs in PartnerStack (for example, when a partner joins your program), we send an HTTP `POST` request to the URL of your choice. The payload contains information about the event that occurred, which you can use to kick off a series of integrations!

<Image title="Webhooks - Webhook Intro.jpg" alt={2248} align="center" src="https://files.readme.io/adc8675-Webhooks_-_Webhook_Intro.jpg">
  First, an event occurs in PartnerStack. Then, PartnerStack makes an HTTP POST request at the event endpoint you specify. Once this is received, you can use the information in the event payload to kick off other integrations!
</Image>

## Registering a webhook

To register for a webhook, you need to use our [Webhooks](https://docs.partnerstack.com/reference/webhooks) API endpoints. You'll need to know the event you want to listen for, as well as the URL you want us to send new events to. You can find a list of events we support below!

## Events we support

We currently support sending webhooks for the following events. All of our webhooks serve JSON in the request body. A sample payload is available for each type of event.

### Agreement Events:

The following event types are sent:

* `agreement.accepted` - Terms of service has been accepted

```json Agreement Webhook Payload
{
	"team_member": {
		"team_owner_email": "jane.smith@partnerstack.com",
		"team_name": "Smith inc",
		"team_key": "stck_PHPFhrDgpNf468",
		"joined_at": 1680615382836,
		"first_name": "John",
		"last_name": "Smith",
		"email": "john.smith@partnerstack.com",
		"key": null,
		"created_at": null,
		"updated_at": null
	},
	"team": {
		"name": "Smith inc",
		"key": "stck_PHPFhrDgpNf468",
		"created_at": 1573497642179,
		"updated_at": 1707285621649
	},
	"approved": true,
	"group": {
		"name": "Referral",
		"slug": "referral",
		"archived": false,
		"default": false,
		"features": {
			"application_enabled": false,
			"deals_enabled": true,
			"disable_link_create": false,
			"leads_enabled": true
		},
		"key": "grup_hs8kJ3YZJEoXl7",
		"created_at": 1694442310603,
		"updated_at": 1707403201441
	},
	"tier": null,
	"first_name": "Jane",
	"last_name": "Smith",
	"email": "jane.smith@partnerstack.com",
	"partner_key": "janesmith2319",
	"fields": [],
	"field_data": {},
	"fraud_flagged": false,
	"meta": {},
	"manager_name": null,
	"manager_email": null,
	"tags": null,
	"key": "part_f2a02a0a3d9c47e29",
	"created_at": 1460036266235,
	"updated_at": 1707403393365
}
```

### Application Events

The following event types are sent:

* `application.created` - New application has been created
* `application.approved` - Application has been approved
* `application.declined` - Application has been declined

```json Application Webhook Payload
{
  "approved": null,
  "content": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@mailinator.com",
    "business_name": "Best Company",
    "website": null
  },
  "decline_reason": "",
  "group_name": "Affiliates",
  "group_slug": "affiliates",
  "group": {
    "key": "grup_12345abcde",
    "name": "Affiliates",
    "slug": "affiliates"
  },
  "destination_group_name": "Resellers",
  "destination_group_slug": "resellers",
  "destination_group": {
    "key": "grup_12345aedfs",
    "name": "Resellers",
    "slug": "resellers"
  },
  "mold_key": "mold_12345abcde",
  "partnership_key": "part_12345abcde",
  "partner_key": "johnsmith1234",
  "top_partner": false,
  "premium_partner": false,
  "high_potential_partner": false,
  "fraud_flagged": false,
  "team_name": "John Smith",
  "team_key": "stck_12345abcde",
  "with_profile": false,
  "key": "appl_12345abcde",
  "created_at": 1686318608314,
  "updated_at": 1687977496375,
  "meta": {}
}
```

### Partnership Events

The following event types are sent:

* `partnership.created` - New Partner joins program
* `partnership.updated` - Partner Key / Partner Group changed through API action
* `partnership.tags_updated` - Partner Tag updates

```json Partnership Webhook Payload
{
   "id": 123,
   "partner_key": "JohnSmith",
   "first_name": "John",
   "last_name": "Smith",
   "email": "johnsmith@mailinator.com",
   "group": {
      "id": 22,
      "name": "Top Sellers",
      "slug": "topsellers"
   },
   "event": "partnership_created",
   "archived": "false"
}
```

### Customer Events

The following event types are sent:

* `customer.created` - New Customer signup tracked
* `customer.updated` - Customer information updated (name, email, etc.)
* `customer.deleted` - Customer is archived

```json Customer Event Payload
{
   "id": 123,
   "key": "crust_a1xlr0s3",
   "email": "rosesandaxels@mailinator.com",
   "name": "Roger Axel",
   "partner_key": "bertramgilfoyle",
   "created_at": 1537205154288,
   "updated_at": 1537205159876,
   "archived": false,
   "event": "customer_updated"
}
```

### Transaction Events

The following event types are sent:

* `transaction.created` - New Transaction is tracked in program
* `transaction.updated` - Transaction is updated

```json Transaction Event Payload
{
   "id": 123,
   "customer_key": "crust_Lg23wNmkIF8hnB",
   "partner_key": "MurryFlatley",
   "currency": "USD",
   "amount": 153809,
   "key": "tran_SoaaRTEY7QFA1k",
   "event": "transaction_polled",
   "archived": false,
   "created_at": 1537205154288,
   "updated_at": 1537205159876
}
```

### Lead Events

The following event types are sent:

* `lead.created` - A new lead is created
* `lead.updated` - An existing lead has been updated

```json Lead Event Payload
{
    "approved": None,
    "archived": False,
    "company_id": 6,
    "created_at": 1584730345695,
    "decline_reason": '',
    "email": "austen@bostron.covv",
    "external_key": "austen@bostron.covv",
    "key": "lead_KkGd8UAMVMAcWR",
    "meta": {
        "country": "United States",
        "first_name": "austen",
        "firsttype_phWcnMuA8mpJ": "",
        "last_name": "bostron",
        "online_monthly_revenue": "Under $10K per month",
        "phone": "7189084190",
        "picklist_fkNFmN8IIEaP": "",
        "secondwithdefault_NEElyEIGrnAv": "default"
    },
    "name": "austen bostron",
    "owner": "company",
    "partner_key": "austensutherland9896",
    "partnership_id": 134,
    "status": "open",
    "updated_at": 1584730345695,
    "event": "lead_created"
}
```

### Deal Events

The following event types are sent:

* `deal.created` - A new deal is created
* `deal.updated` - An existing deal has been updated

```json Deal Event Payload
{
    "account_name": "Robert Reilly",
    "amount": 8753,
    "close_date": 1583038800000,
    "company_id": 6,
    "contact_first_name": "Stephanie",
    "contact_last_name": "Sullivan",
    "created_at": 1582908052302,
    "key": "deal_fLvIgE6Yb43CLO",
    "meta": {
        "company_name_38n83e3e3": "Some Company",
        "favorite_number_122jdfu232": 2,
    },
    "partner_key": "brendachapman3787",
    "stage": "Working",
    "updated_at": 1582908052302
}
```

### Training Events

The following event types are sent:

* `training.course_completed` - Training completed
* `training.learning_path_completed` - Learning path completed

```json
{
  "id": 982931,
  "partner_key": "JohnSmith",
    "first_name": "John",
   "last_name": "Smith",
    "email": "johnsmith@mailinator.com",
    "group": {
       "id": 22,
        "name": "Top Sellers",
         "slug": "topsellers",
     },
     "event": "partnership_created",
     "archived": "false",
 }
```

### Partner Team Member Event

The following event types are sent:

* `partner_team.member_created` - Company's partner team member created
* `partner_team.member_removed` - Company's partner team member removed

```json
{
	"key": "key_123",
  "created_at": 1584730345695,
  "updated_at": 1584730345695,
  "first_name": "John",
  "last_name": "Smith",
  "email": "johnsmith@mailinator.com",
  "team_name": "team greatest",
  "team_key": "tem_key_123",
  "team_owner_email":"bobsmith@mailinator.com",
  "joined_at": 1584730345695
}
```

### Action Events

The following event types are sent:

* `action.created` - Action created
* `action.updated` - Action updated

```json
{
  "created_at":1584730345695,
  "key":"lead_KkGd8UAMVMAcWR",
  "updated_at": 1584730345695,
  "target_key": "target_key",
 	"target_type": "customer",
  "type": "type_string",
  "value": 100
}
```

### Message Events

The following event types are sent:

* `message.created` - Message created - This will bundle messages from the same use sent within two minutes

```json
{
	"message": "<p>Hi there</p>",
	"team": {
		"name": "Acme Co",
		"key": "stck_UPe3lMT6ZwAeYM"
	},
	"partnership": {
		"partner_key": "ashketchum1234",
		"key": "part_PSpTisOITpSh8d"
	},
	"group": {
		"name": "Referral",
		"key": "grup_hs8kJ3YZJEabc7",
		"slug": "referral"
	},
	"team_member": {
		"first_name": "Ash",
		"last_name": "Ketchum",
		"email": "ash.ketchum@acme.com"
	},
	"timestamp": 1714588511639
}
```