Enrich and score new NocoDB leads before sales sees them

By General Input

Every new row in your NocoDB leads table gets researched, scored against your ideal customer, and pushed to HubSpot when it is worth a call.

Integrations

  • NocoDB
  • HubSpot
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

When a new row is added to my NocoDB leads table, enrich and qualify it before anyone on my team touches it. Use a webhook trigger so this runs immediately on each new record.

Trigger setup: NocoDB sends outgoing webhooks natively. In NocoDB, open the leads table, go to Table > Details > Webhooks, add a webhook on the After Insert (record created) event, and point it at this workflow's webhook URL. The incoming payload carries the newly created row, including its record id and field values. Tell me the webhook URL to paste into NocoDB when the workflow is set up, and ask me for my base id and table id if you need them for the write back step.

Step 1, decide whether the row is workable. Read the incoming record and look for anything that identifies the company: a company name, a website URL, or the domain of a work email address. If none of those are present, or the only email is a free consumer address such as gmail.com, outlook.com or yahoo.com with no other company signal, stop there. Do not guess, do not write anything back, and do not create a HubSpot contact. Leave the row untouched so a human can look at it.

Step 2, research the company. Starting from whatever identifier the row gave you, work out what the company actually does, what industry it operates in, and roughly how many employees it has. Read the company's own website where you can find it. Prefer the company's own pages over third party summaries. Keep the research proportionate: you are qualifying a lead, not writing a report.

Step 3, score the fit. Score the lead from 0 to 100 against my ideal customer profile. Ask me to describe my ideal customer during setup, covering the sectors I sell to, the company sizes that work, the regions I cover, and any obvious disqualifiers, and bake that description into the workflow so the scoring is consistent every run. Along with the score, write a single sentence of rationale that says why the score is what it is, in plain language a rep can read in two seconds. Something like "Mid sized UK logistics firm, 200 staff, runs its own fleet, strong match for our routing product." Never write a rationale longer than one sentence.

Step 4, write the results back to the same row. Use the NocoDB Update Table Records operation, targeting the record id that came in on the webhook, and fill in the industry, company size, fit score and rationale columns. Do not create a new row and do not touch any other record. If one of those columns does not exist yet, tell me which one is missing rather than silently dropping the value.

Step 5, push qualified leads to the CRM. Only when the fit score clears my threshold, use the HubSpot Create Contact operation to add the lead to HubSpot, mapping across the email, first and last name, company and website from the row, and storing the fit score on a HubSpot contact property so it is visible and filterable in the CRM. Ask me during setup which threshold to use, defaulting to 70, and which HubSpot property should hold the score. Leads below the threshold are scored and written back to NocoDB but are not sent to HubSpot at all, so the CRM does not fill up with unqualified rows.

Step 6, alert sales only when it matters. Use the Slack Send a Message operation to post to my sales channel only when the fit score is high, at or above the same threshold. The message should name the company, give the score, quote the one line rationale, and include the website and the contact's email so a rep can act without opening anything else. Do not post anything for low or mid scoring leads. The whole point is that the channel stays quiet unless the lead is genuinely worth a look, so the team trusts the ping.

If research fails for a row, for example the website is unreachable, still write back what you do know and set the rationale to say the research was inconclusive, rather than leaving the row half filled with no explanation. Process one record per webhook delivery and keep the whole run fast enough that the row is enriched before anyone opens the table.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals