Webhooks allow you to programmatically subscribe to certain events from Lead Voyager. When one of these events is triggered, Lead Voyager will send an HTTP POST payload to the webhook’s URL.
Webhooks are configured at the Organization level. You can use the data in the webhook payload to determine the team, agent, or lead to which the event refers.
Each payload is a JSON object including several properties to help you understand the event that was triggered.
This is an example of a typical payload included with a webhook. This shows the
leadAccepted
event, which is commonly used to create a new lead in a CRM.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"acceptedDateTime": "2018-06-23T20:40:03.77967",
"assignedDateTime": "2018-06-23T20:34:28.861197"
},
"eventName": "leadAccepted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The lead
property is included in the payload for every webhook triggered from an
event that deals with a lead, such as leadCreated
or leadAssigned
.
It describes the basic information about the related lead. If you need more
detail on a specific lead, you should access the lead through the Lead Voyager API.
The lead object parameter is named "lead" and is in the root of the payload JSON object.
{
"lead": {
"userid": "2f1c32bf-2066-4acd-bc63-ee65566d9686",
"name": "Lead Name",
"email": ["leadEmail@hotmail.com"],
"phone": ["15551234567"],
"leadid": 1234,
"source": "your site",
"account": "your account",
"teamEmail": "youremail@bryteagent.com",
"boostedAPIKey": "your api key"
},
...
}
Each payload related to an assignment or routing event, or events that occur on
leads that are assigned to an agent, will have an assignment
property describing
which agent owns the lead. You should use this information to determine which
agent's database is updated in your CRM.
Only one of two roles will be passed with this object: member
or
concierge
.
All members will have an additional field tag
which describes their
relationship with the lead on this deal. The tag
field will always be
null
when the role is concierge.
When a concierge is claiming a lead, these attributes may also be available in the
assignment
property.
The assignment object parameter is named "assignment" and is in the root of the payload JSON object.
{
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"acceptedDateTime": "2018-06-23T20:40:03.77967",
"assignedDateTime": "2018-06-23T20:34:28.861197"
},
...
}
Many events in Lead Voyager relate to assignment and routing of leads. You can subscribe to these events to update your system and keep your contacts in sync as Lead Voyager handles these tasks.
Agents do not get notified of assignments, and you should expect assignments to change before the agent ever sees a lead.
When a lead is routed to an agent, the agent will get notified of the lead availability, and must accept the lead before accessing it.
When an agent accepts a lead, you can safely add the lead to the agent's database in your system.
A lead was accepted by the assigned real estate agent.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"acceptedDateTime": "2018-06-23T20:40:03.77967",
"assignedDateTime": "2018-06-23T20:34:28.861197"
},
"eventName": "leadAccepted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A lead was assigned by the system or a concierge. This lead has not yet been routed to the assigned agent. You may wish to examine the leadAccepted event as an alternative, based on your needs.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedDateTime": "2018-06-28T15:28:50.255453"
},
"eventName": "leadAssigned",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A lead was claimed by a concierge. This event will create an assignment on the lead with the role of concierge.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": null,
"role": "concierge",
"claimedBy": "concierge@example.com",
"claimedDateTime": "2018-06-23T20:40:03.77967",
"assignedConciergeId": null
},
"eventName": "leadClaimed",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A lead was claimed by an agent from the Unclaimed Leads queue.
This event will immediately be followed by the leadAccepted event. You may wish to use that event instead, depending on your needs.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"assignedDateTime": "2018-06-23T20:34:28.861197",
"assignedAgentId": null
},
"eventName": "leadClaimedByAgent",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The concierge
role on a lead was taken by another concierge.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": null,
"role": "concierge",
"claimedBy": "concierge@example.com",
"claimedDateTime": "2018-06-23T20:40:03.77967",
"assignedConciergeId": null
},
"eventName": "leadClaimTakeover",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A lead was declined by an assigned agent.
If this lead was assigned to multiple agents (a "jump ball" assignment), each of the other assignments will eventually trigger a leadExpired, leadDeclined, leadAccepted, or leadSlowAccepted event.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"declinedDateTime": "2018-06-28T15:24:40.764885",
"assignedAgentId": null
},
"eventName": "leadDeclined",
"reason": "Out of service area",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
An assigned lead that was routed to an agent has expired, and the agent is no longer able to accept the lead.
If this lead was assigned to multiple agents (a "jump ball" assignment), this event will trigger for every assignment that was not accepted.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"expiredDateTime": "2018-06-28T15:24:40.764885",
"assignedAgentId": null
},
"eventName": "leadExpired",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A lead that was previously routed was retracted by a concierge. This action will remove the lead from the agent's database.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"retractedDateTime": "2018-06-29T12:25:16.422922",
"assignedAgentId": null
},
"eventName": "leadRetracted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
An assigned lead was routed to an agent (via the system or a concierge). This means the agent has received notification of the new lead, but they have not yet accepted the lead. (You may wish to subscribe to the leadAccepted event instead of this one.)
If multiple agents are assigned a lead (a "jump ball" assignment), and the lead is routed, this event will trigger for each assigned agent.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"routedDateTime": "2018-06-28T15:34:48.093157",
"assignedAgentId": null
},
"auto_accept": false,
"eventName": "leadRouted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
An agent attempted to accept a lead (by clicking the "Accept" button on the lead form), but was unable to accept because another assigned agent accepted it first.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"slowAcceptedDateTime": "2018-06-28T15:24:40.764885",
"assignedAgentId": null
},
"eventName": "leadSlowAccepted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A leasing agent indicated their renter's application has been accepted by the landlord. This deal will now be marked as closed and will be automatically archived.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "renter",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "appAccepted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A leasing agent indicated their renter's submitted application was rejected by the landlord.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "renter",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "appRejected",
"reason": "Credit check failure",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A leasing agent indicated their renter has submitted an application to a landlord.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "renter",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "appSubmitted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
An agent indicated the scheduled closing has been canceled.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "cloingCanceled",
"reason": "Lost financing",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The agent specified that the closing date has moved.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "closingRescheduled",
"closingDate": "2018-06-29T00:00:00",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The agent has specified that a lead has scheduled a closing.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "closingScheduled",
"closingDate": "2018-06-29T00:00:00",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The agent has specified that their customer has closed their real estate transaction. This deal will now be marked as closed and will be automatically archived.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "dealClosed",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A deal defines an agent-customer relationship, and tracks the status of that relationship through the closing. Each deal has a tag that identifies the customer need. Valid tags are:
This event tracks the creation of a new deal on a lead. This deal can be created by a concierge or agent, or automatically by the system's assignment rules.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "dealCreated",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A deal was removed, probably in preparation for creating a new deal.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "dealDeleted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The offer received (seller) or offer sent (buyer) was accepted by the other party.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "offerAccepted",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
An agent indicated their seller received an offer on the listing.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "offerReceived",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The agent indicated an offer was sent by a buyer they represent.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "offerSent",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A snoozed lead has awoken and was placed into the users "Active" queue. Leads can be manually awoken by the user, or automatically based on a scheduled date and time.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadAwoken",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The user called the lead on the telephone. A result is also supplied, and must be chosen from a list by the user. Valid results are:
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"result": "Left voicemail",
"eventName": "leadCalled",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The user sent the lead an email message.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadEmailed",
"message": "Hi Sally, let's meet on Sunday to look at some properties.",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The lead was junked by a concierge. Note that agents do not have permission to junk a lead; they can only mark a lead as inactive. See leadMarkedInactive.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadJunked",
"reason": "Spam or fake account"
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The lead's lifecycle phase was manually changed by the user.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadLifecycleUpdated",
"lifecycleState": "Reached",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The lead was marked inactive by the assigned user. Leads can be marked as inactive manually, or automatically if the deal on the lead is closed.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadMarkedInactive",
"reason": "Lost contact",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The agent has had an initial meeting with the lead.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadReachedInPerson",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The lead was snoozed by the user.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadSnoozed",
"wakeDateTime": "2018-06-29T12:25:16.422922",
"reason": "Customer asked to call back Saturday.",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
The assigned user sent the lead a text message.
{
"lead": {
"aid": "13cd31bc-bdeb-4c0a-a940-990af8ee4bb8",
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "www.example.com",
"userId": "c0b70a35-fc9c-4236-919d-5ba145d28775",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com",
"boostedAPIKey": "ae7d56b1-1276-459a-b6e4-117df2379cf4"
},
"assignment": {
"tag": "buyer",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"eventName": "leadTexted",
"message": "Hi Susan, can you meet tomorrow at noon?",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A user has updated the lead information, such as name or email address.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"assignment": {
"tag": "scrubber",
"role": "member",
"assignedTo": "agent@example.com",
"assignedAgentId": null
},
"updatedData": {
"name": {
"old": "Fredreick",
"new": "Frederick"
}, "telephone": {
"old": ["8005551212"],
"new": ["8005551212","8005551213"]
}, "primaryTelephone": {
"old": "8005551212",
"new": "8005551213"
}
},
"eventName": "leadUpdated",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
This lead's online behavior has indicated an agent should contact them for assistance.
Note that the lead has not directly asked for an agent, and they may already have an assigned agent.
This event is designed not to trigger on leads that are actively being managed by an agent.
A lead was created in Lead Voyager. This happens before assigning or routing a lead.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"eventName": "leadCreated",
"webhookUrl": "https://yourwebsite/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
An issue has occurred with this lead, and it now needs human intervention.
{
"lead": {
"name": "Lead Name",
"email": ["lead@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"eventName": "leadNeedsAttention",
"reason": "Unable to auto-assign this lead.",
"webhookUrl": "https://yourwebsite/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}
A lead has submitted a message, which can be a form, email, email reply, or other inbound message type supported by the broker. Assigned agents will receive notification of this message.
If this message applies to multiple assignments, it will trigger for each.
This example shows a message received when a user submits a showing request from a
website with Brytelytics installed. The data in the message can vary
greatly based on message_type
.
{
"lead": {
"name": "Johnny Lead",
"email": ["johnny@example.com"],
"phone": ["5555555555"],
"leadId": 1234,
"source": "Source Name",
"account": "Team Name",
"teamEmail": "team_email@bryteagent.com"
},
"message": {
"id": 1133723,
"message_type": 1,
"message_type_name": "form",
"created_ts": "2018-08-05T22:29:33.788Z",
"event": "realestate.requestedShowing",
"form": {
"fromEmail": "johnny@example.com",
"fromName": "Johnny Lead",
"fromTelephone": "5555555555",
"isWorkingWithAgent": false,
"name": "My Website Schedule a Showing",
"message": "Hi I'm looking to schedule a showing for 1234 Main Street.",
"relatedListing": {
"address": {
"streetAddress": "1234 Main St.",
"city": "Lincoln",
"stateProvince": "NE",
"zipPostal": "68501"
},
"bedrooms": 4,
"fullBaths": 2,
"geoLocation": {
},
"halfBaths": 1
...
}
"subject": "Schedule a Showing",
}
},
"eventName": "messageReceived",
"webhookUrl": "https://example.com/webhookEndpoint",
"messageId": "44089235-be19-4ebf-ba86-bdfc154d20c0"
}