Buyer intent and lead scoring
Lead scores built from page views and form fills miss what people actually say. "Do you ship to Norway?" and "can I pay by invoice for 40 seats?" are different leads. SigWise reads the messages and actions of each user or account and tells you where they are in a purchase, as one of the stages you name.
Define the stages
A choice signal picks one option and gives a probability for each:
json
PUT /v1/signals/buyer_intent
{
"type": "choice",
"instructions": "Where is this user in a purchase?",
"criteria": {
"browsing": "looking around, no specific item or need",
"comparing": "asks about specific items, alternatives or competitors",
"ready_to_buy": "asks about payment, delivery, contracts or availability"
}
}Every new account starts with this signal. For B2B, name the stages your sales team uses, and add a noul for the question you most want answered:
json
PUT /v1/signals/enterprise_fit
{
"type": "noul",
"instructions": "Is this lead a fit for the enterprise plan?",
"criteria": { "true": "many seats, SSO, security review, procurement, invoices", "false": "individual or small team" }
}Send the conversation
Chat messages, support tickets, product events and CRM notes all count:
json
POST /v1/objects/lead-981/events
{
"object_type": "lead",
"events": [
{ "type": "event", "name": "pricing.viewed" },
{ "type": "message", "content": "We're about 40 people, do you support SAML and can we pay by invoice?" }
]
}Route the hot leads
json
{
"key": "buyer_intent",
"type": "choice",
"choice": "ready_to_buy",
"probabilities": { "browsing": 0.05, "comparing": 0.15, "ready_to_buy": 0.8 },
"confidence": 0.8
}- Alert sales. A rule fires once when a lead becomes ready:
"when": "buyer_intent = ready_to_buy and enterprise_fit >= 70", to Slack or email. - Sync to your CRM. A webhook on
analysis.completedcarries every answer; update the lead's stage from it. - Build a list.
GET /v1/objects?q=buyer_intent = ready_to_buyreturns every lead at that stage.