get_context and query, and the model sharpens from your own won and lost deals as you record outcomes.
Scoring needs a model. Build one first with
build_icp_model, or train it on real deals with train_icp_model.Two verbs
Both accept an email, a domain, a LinkedIn URL, or an entity UUID, and both write the result into the graph.
Google Sheets
Add a=NOUS(A2) function to any column. In your sheet, open Extensions → Apps Script, paste this, and save.
=NOUS(A2) next to your email column and fill down. Each cell calls Nous, shows the score, and writes the judgment into the graph.
Clay
Add an HTTP API enrichment column.- Method
POST - URL
https://api.opennous.cloud/v2/score - Header
Authorization: Bearer YOUR_API_KEY - Body
{ "identifier": "{{Email}}" }
icp.score, icp.tier, and intent.score from the response into columns. Every row now carries a live Nous score, and each call updates the graph.
A whole list, or a weekly job
To score a list in one pass, send the rows toattach_list.
lead_list_id each time, and both the roster and every score stay current. Send up to 200 rows per call and loop for a larger sheet.
Rows Nous does not know yet
A row only scores if Nous has facts to score on. A brand-new email with nothing behind it comes back asawaiting_enrichment for attach_list, or unknown_identifier for score. Enrich those accounts first, then score them again. Nous never invents a score for an account it has no signal on.
What you get back
For the raw JSON shape, see the
/v2/score and /v2/lead-lists/attach reference.