Agents and numbers
An agent is a configured voice, script and language, and its phone setup has two sides, shown as two columns in the agents list: the inbound numbers — the numbers a caller dials to reach this agent, picked from your account’s numbers right in the list; a number answers for one agent, so choosing it here moves it off whichever agent had it — and its outbound numbers, the pool it calls out from. The outbound pool is ordered: for each contact, a number in the contact’s own country is dialled first; otherwise the pool’s order decides, and a number is never used for a country it isn’t allowed to call — so a contact with no local line goes out on whichever of your lines may call their country. Each agent also has its own calling hours. Each contact owner gets a default calling agent, so “call this lead” always knows which voice and which number to use.Editing an agent
Click an agent’s name to open its page. Everything the agent is lives there:- Prompt and opening line — what the agent says and how it behaves. The prompt is a proper text editor: headings, bold and bullet or numbered lists, from the small toolbar or the usual shortcuts. Each line is its own row: Enter starts a new line, and a heading or list applies to the line you are on. The agent receives exactly that structure, and it reads headings and lists as structure, so a long script is easier for both of you. Anything in
{{double braces}}is a placeholder that gets filled per call; type@to pick one, and it shows as a blue chip so you can see at a glance what the agent will know. - When we’ve spoken before — the first sentence for someone the agent has already talked to. The opening line is fixed text, so without this a person who said yes on Tuesday hears “you clicked our ad” again on Friday. Write it once with placeholders in square brackets:
[first_name],[when](becomes “earlier today”, “yesterday”, “on Tuesday”, “last week”, “a couple of weeks ago”, “about a month ago”, “a couple of months ago” and so on, matching the real gap) and any value the agent collects, such as[room_type]or[address]. Wrap a clause in double square brackets,[[ about your [room_type] in [address]]], and it drops out cleanly when a value is missing. Then put{{opener}}in the opening line where the sentence belongs, and giveopenera before-call default for first calls. This field saves when you leave it, unlike the rest of the page, because it lives in Nudge and not on the agent. - When we’ve tried but not spoken — the first sentence for someone the agent has rung before but never actually talked to: voicemail, no answer, a hang-up on hello. Same placeholders;
[when]counts from the last attempt, so it reads “I tried you yesterday” rather than “we spoke yesterday”. Nudge keeps the two apart on purpose: a six-second hang-up is not a conversation, and a person told “we spoke yesterday” when they did not will say so. Leave it empty and those calls use the normal opening line. Saves when you leave it, like the one above. - Voice — swap it any time. Each voice in the list has a play button beside it, so you can hear one before you pick it.
- Language — the language the agent listens and speaks in. It also sets how speech is recognised, so a line in Ireland belongs on British English, not American, or place names come out wrong. Most voices speak several languages. Run a test call after changing it.
- Engine — which AI model powers the agent. Every option shows what it costs per minute of conversation, so you can weigh quality against price, and different agents can run different models. Changing it leaves your prompt exactly as written: the same instructions, read by a different model. Publish and then run a test call and listen, because models differ in how closely they follow a long script.
- Knowledge — which knowledge bases the agent may look things up in during a call: files, web pages and typed text, managed under Channels → Knowledge. Published with the rest of the page. What is in a base changes for every agent using it at once; see Knowledge bases.
- Boosted keywords — the words the agent should expect to hear, folded away under Language. Most come from the agent’s knowledge bases, so the Dublin agents share one list (see Knowledge bases); the agent can add words of its own here. When the published agent carries an older list the row says so and offers to update it.
- Voicemail — what the agent does when it reaches an answering machine instead of a person.
- Books meetings — the meeting type the agent may book on a call, or Off. It checks the host’s free times and books the one the contact agrees to; your instructions say when to offer it. It can also move or cancel the contact’s own next meeting when they ask. Shown when meetings are on for your workspace; see Meetings.
- Variables — the answers this agent collects. Open a variable’s type and you can also set what the agent assumes for it before the call, for a caller Nudge doesn’t know yet; leave it blank and the agent simply asks. Every assumption you’ve set is listed once under the table.
When nobody picks up
Voicemail is one choice with four answers. Anything but Off makes the agent listen for an answering machine during the first three minutes of a call:- Off — no detection; the agent treats whatever picks up as a person.
- Hang up — the agent ends the call without speaking. Nothing to write.
- Leave a message, exact words — the agent speaks your message as you wrote it, then hangs up.
- Leave a message, instructions — you describe the message and the agent words it itself, then hangs up.
{{placeholders}}, so a voicemail can greet someone by name.
Exact words is the safer default: a voicemail is one shot, with nobody on the other end to correct a phrasing you didn’t intend.
You can’t publish an empty message — an agent that answers the machine and says nothing leaves a recording of silence, which is worse than hanging up. Pick Hang up instead if that’s what you want.
What the agent collects
Each variable has a name, a description telling the agent what to capture, and a type: text, number, yes/no, or a list of choices. A list needs at least one choice before you can publish. When a variable is captured is decided by which section you add it to, and each section has its own + Add variable:- During the call — captured the moment the caller says it, so it survives even if the call drops. For anything expensive to mishear, like a callback time or a budget, open the type dropdown and turn on Caller confirms first.
- After the call — read out of the call analysis once the call ends. This is right for most answers.
- Before the call — not captured at all. These are the fallback values the agent starts with when a call carries nothing better, so the script still reads naturally. If your opening line says “Hello ” and a contact has no first name on file, a default of
therekeeps the agent from opening with an awkward pause.
retell_ name, still usable in automation conditions. Click it and Nudge creates a contact field with the same name and type and saves the answer there from the next call on; a green check shows it. Click the check to stop; the field and its data stay, the agent just no longer writes it. If a field of that name already exists but is people-only, the circle’s hover text says so, and clicking it lets the agent write it instead of creating a second field. Going the other way, Seed from contact fields adds a variable row for every field an agent may already write. The choice is per agent: one agent can save Company on the contact while another keeps it on the call. A contact’s core fields (name, email) are always saved and can’t be switched off; the phone number is never written by an agent, because it’s how the call was matched.
Two things worth knowing:
- Fields left as Staff are off-limits to the agent even if it heard an answer. A voicemail still returns a full set of guesses, and those must not overwrite what a person typed.
- An answer with no matching field still lands, namespaced, so you can use it in automation conditions.
Placing calls
Calls happen two ways:- Automated: an automation’s call action, for example “new lead in state Contacted: call within business hours”. Call timing clamps to the agent’s calling hours.
- Manual: the Place call button on a contact page or inbox thread. The dialog pre-selects the owner’s default agent and number, and prints the last call that connected (when, how long, what came of it) before you dial, so a person who said yes three days ago is not cold-called by accident. Choose Now or Later: later asks for a date and time, and the call waits in the queue until then. A queued call shows what time it will go out, and you can cancel it up to the moment it dials. If the person has asked not to be called again, the dialog says so in red and asks you to tick Call anyway. A person can always place a call; automated calls to that person are not placed, and the timeline says why.
Outcomes drive the workflow
Every call ends with an outcome: reached, no answer, voicemail, not interested, and so on. An automation can map outcomes to states, for example call succeeded sets possibility toQualified, call failed sets No answer, which starts the WhatsApp follow-up automation. That call, no answer, message, close chain is the canonical Nudge workflow.
After each call, the summary, outcome and sentiment land on the contact’s timeline. Repeated no-answers are counted per contact, so a rule like “3 failed attempts: close the file” is one condition, not custom logic.
Two things a call does get flagged rather than trusted. If a call replaces an answer you already had, say “wants to proceed” going from Yes to No, the new value is written and every admin gets a notification naming the change and the call length, so a 30-second “it’s just a machine” does not quietly close a good lead. And if an agent hands a call to another agent that then finds the caller is not the kind of person it serves, nothing from that call is saved, the call card says so, and admins are told. Give an agent a do_not_call variable (Yes or empty) and Nudge honours it everywhere: automated calls stop, and a person dialling by hand is asked first.
Where the outcome goes
Every call leaves a note on the contact and an entry on its call timeline: a missed call says so and why, an answered call lists what the agent captured, with the recording. That is the record of how a call went. If you also want the last result in a field of its own — completed, no answer, voicemail, busy, failed — ask us to point it at the field and say which of its values mean what; every call, automatic or by hand, then sets it. Reachability never has to be recorded in the field that says whether the contact is qualified: a host who said yes and then missed two calls stays a yes.Listening back
The contact’s Calls tab shows every call as its own card, newest first — the outcome, the recording ready to play, and the summary are right there without a click. Each card also names the numbers the call was on — which of your lines it went out from, or which one the caller dialled — so a workspace with several numbers can always tell, and says where the call came from: an automation by name, HubSpot’s own dialler, or the colleague who placed it. Details on a card unfolds the answers the agent collected and the full transcript laid out as a conversation. That last one is what you want when a summary reads oddly or an answer came back empty: you can see exactly what was asked and what the person said. Opening a call from Activity lands you on its card with the details already unfolded.Callbacks, cut-offs and the three chances
When a caller asks to be rung back, the agent notes it as the outcome of the call and, if they named a time, records the time.- A time was given. The call is booked for that time and rings from the same number. It still goes ahead if someone moves the contact to a warmer status in the meantime; it is dropped only if a person clears the time or closes the contact.
- “Call me later”, no time. The agent rings again on the next working day. If they say “later” again on that call, it rings once more the day after; after that, the machine stops and a person takes over.
- The line dropped mid-conversation. The contact gets a WhatsApp saying so, and the agent rings again in about an hour, evenings included. A dropped call is not counted as a missed call. A line that drops twice gets a second retry, and no more.
- The callback rang out. The contact gets one WhatsApp saying we rang at the time they asked and will try again in about an hour, and that they are welcome to ring back. The retry comes an hour later, evenings included. Then the usual retries.