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 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!
Registering a webhook
To register for a webhook, you need to use our 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
{
"team_member": {
"team_owner_email": "[email protected]",
"team_name": "Smith inc",
"team_key": "stck_PHPFhrDgpNf468",
"joined_at": 1680615382836,
"first_name": "John",
"last_name": "Smith",
"email": "[email protected]",
"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": "[email protected]",
"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 createdapplication.approved
- Application has been approvedapplication.declined
- Application has been declined
{
"approved": null,
"content": {
"first_name": "John",
"last_name": "Smith",
"email": "[email protected]",
"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 programpartnership.updated
- Partner Key / Partner Group changed through API actionpartnership.tags_updated
- Partner Tag updates
{
"id": 123,
"partner_key": "JohnSmith",
"first_name": "John",
"last_name": "Smith",
"email": "[email protected]",
"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 trackedcustomer.updated
- Customer information updated (name, email, etc.)customer.deleted
- Customer is archived
{
"id": 123,
"key": "crust_a1xlr0s3",
"email": "[email protected]",
"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 programtransaction.updated
- Transaction is updated
{
"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 createdlead.updated
- An existing lead has been updated
{
"approved": None,
"archived": False,
"company_id": 6,
"created_at": 1584730345695,
"decline_reason": '',
"email": "[email protected]",
"external_key": "[email protected]",
"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 createddeal.updated
- An existing deal has been updated
{
"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 completedtraining.learning_path_completed
- Learning path completed
{
"id": 982931,
"partner_key": "JohnSmith",
"first_name": "John",
"last_name": "Smith",
"email": "[email protected]",
"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 createdpartner_team.member_removed
- Company's partner team member removed
{
"key": "key_123",
"created_at": 1584730345695,
"updated_at": 1584730345695,
"first_name": "John",
"last_name": "Smith",
"email": "[email protected]",
"team_name": "team greatest",
"team_key": "tem_key_123",
"team_owner_email":"[email protected]",
"joined_at": 1584730345695
}
Action Events
The following event types are sent:
action.created
- Action createdaction.updated
- Action updated
{
"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
{
"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": "[email protected]"
},
"timestamp": 1714588511639
}
Updated 7 months ago