Permissions: Workspace admins can create signals and create, edit, activate, and pause scoring models. Users with view-only access can open models and signals but cannot change them.
Contact Scoring is in early preview. Contact your Inflection team to turn it on for your workspace.
How Contact Scoring Works
A contact scoring model has three parts:- Signals: reusable conditions that describe a behavior or trait, such as visiting the pricing page or holding a director-level title.
- Weights: each signal sits in the positive or negative bucket of a model with a weight that sets how much it counts.
- Enrollment: a model scores only the contacts you enroll in it, usually with a journey step.
How the Score Is Calculated
The score is the share of the model’s total signal weight that a contact matches. Matched positive signals add their weight, matched negative signals subtract theirs, and the result is scaled to 0 to 100. Scores never drop below 0 or go above 100. A contact who matches no signals scores 0. For example, a model has three positive signals: Submitted a demo request (weight 8), Visited pricing page (weight 5), and Invited a teammate (weight 3). The total weight is 16.- A contact who submitted a demo request and visited the pricing page scores (8 + 5) ÷ 16 × 100 = 81.
- A contact who only submitted a demo request scores 8 ÷ 16 × 100 = 50.
- A contact who matches nothing scores 0.
Create Signals
Signals are reusable conditions. Create a signal once, then add it to as many contact scoring models as you need.- Click Scoring in the left navigation, then under Signals, click Contact.
- Click New signal.
- Enter a Signal name, for example Viewed pricing page.
- Under Signal criteria, click Add event and choose Marketing event, Product event, or Contact event. Then pick the event and set its conditions. Each signal checks one event.
- Click Create signal.


Signals cannot be edited after you create them. To change a signal, create a new one, swap it into your models, and delete the old one.
Create a Contact Scoring Model
- Click Scoring in the left navigation, then click New scoring model in the top right.
- Under Model type, select Contact.
- Under Model name, enter a name, for example MQL Score. The name becomes the prefix of the fields the model writes to.
- Click Create.

Get Suggested Signals
When you create a contact scoring model, Inflection opens a setup step that can suggest signals for you. Inflection uses AI to read your business context and the signals you already have, then proposes positive and negative signals with weights.- Under What should this model score for?, describe your goal in a sentence or two, or click a starter: MQL identification, Product-qualified leads, ICP fit, or Churn risk.
- Click Suggest signals.
- Review the suggestions. Each one shows its source, its suggested weight, and why it was suggested. A signal marked New does not exist yet and is created when you apply it. Things to consider lists tips about the suggestions.
- Clear the checkbox on any signal you don’t want.
- Click Apply. Inflection creates the selected signals, adds them to the model with the suggested weights, and opens the model page.

Suggestions are a starting point. Review every signal and weight on the model page before you activate the model.
Add Signals to the Model
The model page shows Available signals on the left and the signal buckets on the right.- Drag a signal from Available signals into Positive signals to raise the score when a contact matches it, or into Negative signals to lower it.
- Click a signal in a bucket to adjust its weight. A higher weight means the signal counts for more.
- To change several weights at once, click Customize weights above a bucket. The Customize Signal Weights window shows each signal’s share of the total weight. Adjust the weights, then click Confirm.
- Click Save.


To create a signal without leaving the model, click New signal in the Available signals panel. The new signal appears in the panel, ready to drag into a bucket.
Set Score Categories
Categories group scores into bands, such as Cold, Warming, and Marketing Qualified. The model writes the contact’s current band to<Model>.CurrentCategory and the highest band they have reached to <Model>.PeakCategory.
- On the model page, turn on Categorization. It starts with three bands: Cold (score 0 and up), Warming (50 and up), and Marketing Qualified (80 and up).
- Rename a band or change the score where it starts. A contact is placed in the highest band whose starting score they reach.
- Click Add band to add a band, or click the delete icon on a band to remove it.
- Click Save.
Activate the Model
When the model is ready, click Save, then click Activate. The model status changes to Active. Activate is available once the model has at least one signal, your changes are saved, and its contact fields are ready. To change an active model, edit its signals, weights, categories, or AI reason, then click Save. To stop scoring for a while, click Pause. Click Activate to start again.Enroll Contacts in Scoring
A contact scoring model scores only the contacts whose<Model>.ScoringEligible field is true. Contacts are never enrolled automatically, which keeps scoring focused on the contacts you care about.
Enroll contacts from a journey with the Update value flow step:
- Open a journey and add an Update value step to the canvas.
- Choose the model’s
<Model>.ScoringEligiblefield and set it to true. - Publish the journey.
<Model>.ScoringEligible through an inbound webhook or a data sync.
Once a contact is enrolled, their score updates in real time as their activity arrives. To stop scoring a contact, set the field to false. The contact keeps their last score, and it stops updating.
How Scores Appear on the Contact
Each contact scoring model writes these fields to the contact. The prefix is the model name with spaces removed, so a model named MQL Score writesMQLScore.CurrentScore.
The model page lists these fields under Writes to contact.
Give Sales the AI Reason
A score tells sales that a contact is ready. The AI reason tells them why. When a contact’s score crosses the threshold you set, Inflection generates the reason from the contact’s signals: which positive signals they matched and which negative signals pulled the score down. It writes a short, plain-language explanation to the model’s<Model>.Reason field, so sales can open a conversation with real context instead of asking what the lead did.
For example:
Jane crossed 80 after submitting a demo request and visiting the pricing page three times. She also logged into the product. No negative signals matched.
How the AI Reason Is Written
- Written when the contact qualifies. The reason is generated once, when the contact’s score first crosses the threshold (80 by default). It is not rewritten on every score change.
- Generated from the signals. The reason describes the signals that pushed the contact over the threshold, such as a demo request, repeated pricing-page visits, or product activity, and any negative signals that counted against them.
- Kept on the contact. Once written, the reason stays on the contact. It is not cleared if the score later drops, so sales sees the explanation that was true at handoff.
Turn On the AI Reason
- Open a contact scoring model.
- Turn on AI reason. It is off by default.
- Next to Generate when score ≥, set the threshold. It is 80 by default. Match it to the score where your qualified category starts.
- Click Save.
Share the AI Reason With Sales
The AI reason is a contact field, so you can put it wherever sales works:- On the contact record. The reason appears with the contact’s other fields in Inflection.
- In an alert. Add the reason to a Send internal email alert step that fires when a contact reaches your qualified category, so the owner gets the context with the notification.
Use Scores in Audiences and Journeys
Score fields are regular contact fields, so they work everywhere other contact fields do.Filter a Dynamic List by Score
In the audience builder, add a person property filter on the model’s score field, for exampleMQLScore.CurrentScore greater than 70. As scores change, contacts move in and out of the list automatically.
Branch and Trigger Journeys by Score
On the Journey Canvas, use Branch by value on the category field to route contacts, for example sending Marketing Qualified contacts to sales and everyone else to nurture. Use Branch by filter to split on a score threshold.Learn more about branching: Journey Flow Steps Reference
Manage Models and Signals
Archive a Model
Archiving removes a model from the Scoring list and stops it from updating scores. Its fields stay on your contacts, so dynamic lists, journeys, and integrations that use them keep working.- Pause the model if it is active. Active models cannot be archived.
- On the Scoring page, click the actions menu on the model’s row, then click Archive.
- Click Archive to confirm.
Delete a Signal
On the Contact Signals page, click the actions menu on a signal’s row, then click Delete. You can only delete a signal that no model uses. Remove it from every model first.
Common Use Cases
- Identify marketing-qualified leads. Score demo requests, pricing page visits, and email engagement. Route contacts to sales when their category reaches Marketing Qualified.
- Hand off with context. When a contact reaches Marketing Qualified, alert the owner and include the AI reason so the first call starts from what the contact actually did.
- Find product-qualified leads. Score product activity such as completing onboarding, inviting teammates, and using core features to find trial users ready for a sales conversation.
- Filter out poor-fit contacts. Add negative signals such as a personal email domain or an unsubscribe so those contacts score lower.
- Prioritize within a key account. Combine a contact score with the account’s Account Scoring field to find the most engaged people at your best-fit accounts.
Frequently Asked Questions
Which contacts does a model score?
Which contacts does a model score?
Only contacts whose
<Model>.ScoringEligible field is true. Set it with the Update value journey step, an inbound webhook, or a data sync. Contacts who are not enrolled have no score for that model.Does the AI reason change when the score changes?
Does the AI reason change when the score changes?
No. The reason is generated once from the contact’s signals, when the contact first crosses the threshold. It stays on the contact even if the score drops later.
Can I edit an active model?
Can I edit an active model?
Yes. Change its signals, weights, categories, or AI reason, then click Save.
Can a signal check more than one event?
Can a signal check more than one event?
No. Each signal checks one event. To score a combination of behaviors, create a signal for each one and add them all to the model.
Can I edit a signal after creating it?
Can I edit a signal after creating it?
No. Create a new signal with the updated criteria, replace the old one in your models, then delete the old signal.
Can Inflection suggest signals for me?
Can Inflection suggest signals for me?
Yes. When you create a contact scoring model, describe your goal or pick a starter, and Inflection suggests signals and weights for you to review. See Get Suggested Signals above.
How can I test a model?
How can I test a model?
Activate the model, then enroll a test contact and check their
<Model>.CurrentScore field.