Update Prospect Tool
update-prospect-toolInternal Coderbuds staff only. Update one prospect: what research found, what stage it is at, what happens next, and whether a person is needed.
needs_action_reason is how you hand a row back without stopping. Several rows in
any pass will have a contact who has changed job, a headcount nobody can verify, or a
question only Elliot can answer. Park those with the question written in his words,
then carry on to the next row.
If the question ends in a choice, send the choices as answer_options. Most of
them do — "write to the CEO, wait for the new lead, or skip?" is three options you have
already worked out. Passed as options they become buttons; left in the prose they are a
blank textarea, and a question that needs composing is a question that waits a day.
When a question comes back answered, the row appears in the answered list with
both what you asked and what you were told. Act on it, then pass answer: null to
clear the pair — that is what takes it off the queue, and a row nobody clears is read
again every run.
Stages: sourced, contacted, replied, trialling, won, closed. Two rules matter —
never set contacted yourself (recording a send does that, so the stage always has
something behind it), and closed needs a closed_reason a person can read back.
Corrections to research are welcome and expected: a confirmed role, a corrected
headcount, a better signal. Say what you verified in signal, and leave
qualification_needed describing what is still unconfirmed rather than deleting it.
When you re-check the signal, set checked_on to today. The ICP requires the
trigger to be verified on the day the message is written, not the day the row was
sourced, and the queue marks a row whose signal was not checked today so that nobody
sends on a job advert that came down last week.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| stage | No | sourced, replied, trialling, won or closed. Not contacted — record the send instead. | |
| answer | No | Pass null once you have acted on an answered question, to take the row off the queue. You should not be writing answers yourself. | |
| signal | No | What makes this company worth approaching, as you now understand it. | |
| checked_on | No | The date you re-checked the signal, as YYYY-MM-DD. Set it to today whenever you have actually looked — an unchecked row is flagged before anybody sends to it. | |
| contact_url | No | Profile URL for the contact. | |
| next_action | No | The next concrete thing to do about this row. | |
| prospect_id | Yes | The prospect to update. | |
| contact_name | No | A confirmed contact name. | |
| contact_role | No | Their role, as you verified it. | |
| closed_reason | No | Required when closing. Why this is not going anywhere. | |
| answer_options | No | The answers that question is offering, up to four, each a complete instruction you could act on as written ("Write to Anh-Tho now", "Close it as unverifiable"). Send these whenever your question ends in a choice — they become buttons, and a question answered with a click is answered the same day. Free text stays available, so never narrow a genuinely open question into options to make it clickable. | |
| needs_action_reason | No | The question a person has to answer, in their words. | |
| qualification_needed | No | What is still unconfirmed. Leave it describing the gap rather than emptying it. |