Skip to main content
The Phone Agent handles incoming calls for end users. It acts as the first point of contact, interacts naturally with callers, gathers necessary information, and integrates directly with your PSA to manage support tickets.

Building Your First Phone Agent

Watch the following video to get started with setting up your first Phone Agent with Neo Agent in less than 5 minutes:
You choose the country of the agent’s phone number when you create the agent. Neo provides numbers in the United States, Canada, the United Kingdom, the Netherlands, Australia and New Zealand. Callers in the country you choose dial a local number.

Trying the Agent in Your Browser

You can talk to a phone agent in your browser before you buy a number, and again after each change to its settings. A test call never writes to your PSA. After the call, you see the transcript and the ticket the agent would have created.
  • Before you set up an agent: under Phone Agents, click Try it now to talk to an agent with the default settings. The dialog suggests a few things to say.
  • Your own agent: open the agent (or a new one, before you create it) and find Test Call in its settings. The call uses this agent’s greeting, instructions, voice and language as they are on the page, so you can test a change before you save it. When the agent has after-hours instructions, turn on Test as after hours to hear them at any time of day. The transcript and the ticket draft show under the button after the call.
Your browser asks for the microphone. A test call lasts at most 5 minutes and uses no credits. Each workspace can make 20 test calls a day. A test call can create a ticket (as a draft); finding, updating and closing tickets and call transfers work only on real calls. A browser call has no caller ID, so the agent always asks for the caller’s name and company. Things to try on Try it now: Anyone can also try Neo’s own demo agent, without an account, on the Phone Agent page of our website.

The Call Journey

  1. Call routing & pickup from your VoIP rules to the Neo number
  2. Caller identification using the incoming phone number (Caller ID), on ConnectWise, Autotask and Halo: the agent looks for the one active PSA contact with that number. A number that several contacts share, such as a company’s main line, identifies nobody, and neither does a Halo site’s phone number; the agent then asks for the caller’s name and company
  3. AI interaction with professional greeting and clarification
  4. Understanding the request through active listening and questions
  5. Optional transfer to a person, blind or warm, when configured
  6. Gathering caller information for new tickets (company name, full name). If not provided, proceed with available details and explain why information is helpful
  7. Company matching against your PSA: the spoken company name is matched to your synced company list — including names spelled letter by letter or with a spelling alphabet (“V as in Victor”). Confident matches attach the ticket to that company. For an uncertain match the agent asks the caller once to repeat or spell the company name, and never reads out the names of other companies in your PSA; if the second attempt still does not match, the ticket uses the Default Company when one is set (see the warning below)
  8. Ticket creation in your PSA with thorough issue details and a provided ticket ID. If the company cannot be determined, tickets use the Default Company from PSA settings
When the caller goes quiet, the agent asks whether they are still there. If the caller stays silent through three of these prompts, about one to two minutes in all, the agent says goodbye and ends the call. This also ends a call where the caller never speaks, so an open line does not keep using call minutes. The count starts again whenever the caller speaks, and the agent never prompts a caller who is on hold during a warm transfer.
For accurate company/contact attribution after ticket creation, pair with a Ticket Triage workflow to analyze transcripts and update fields as needed.

PSA Ticket Settings

Each Phone Agent creates tickets in your PSA using its PSA settings — the destination board/queue, initial status, default company, ticket source, and an optional Priority (leave unset to let the PSA assign its default). Edit these on the agent’s settings page: open Phone Agents and click the agent. The Default Company field lists the first 100 companies by name; type part of a name to search the rest of the list.
Default Company is required. Every PSA refuses a ticket with no company on it, so a caller whose company the agent cannot match gets no ticket while this field is empty: the agent tells them someone will call them back, and Neo sends you an action item naming the phone number to fix and what the caller asked for. Choose the company you want unmatched calls filed under — many MSPs use a catch-all or triage company.On ConnectWise, a ticket for a company that was deleted in ConnectWise also goes to the Default Company. Neo drops the deleted company’s contact, and after the call it may set a contact from the Default Company that matches the caller. The ticket description says which company ConnectWise rejected. If the Default Company itself was deleted, those calls get no ticket, so pick a company that still exists.
Checked when you save. Saving an agent checks the Board/Queue (Ticket Type on Halo), Status, Priority and Source against the values Neo has synced from your PSA. When Neo has synced that field’s values, a value your PSA does not have, or a ConnectWise status that is not on the chosen board, stops the save with a message that names the field to change. A Board/Queue must be chosen, and on Autotask a Source too. On Autotask, which needs a status on every ticket, an agent saved with no status gets Autotask’s default status (usually New). Status. When ConnectWise or Autotask refuses the status (for example, it was deleted, moved to another board, or no status is chosen), Neo still creates the ticket: ConnectWise uses the board’s default status, and Autotask the status it marks as its default (usually New; an Autotask with no default status still refuses the ticket). Your Neo Inbox then gets a warning that names the phone number and the refused status. Choose a valid status to clear it.
Halo — Urgency and Impact. Some Halo instances make Urgency and Impact mandatory when a ticket is created. If yours does, set a default Urgency and Impact in the Phone Agent’s PSA settings so calls can create tickets — leave either as “Use PSA default” to let Halo decide. These two fields appear only for Halo tenants (ConnectWise and Autotask don’t use them on create). Without them on a Halo instance that requires them, ticket creation — including the post-call transcript fallback — fails with Impact is mandatory / Urgency is mandatory.

Choosing the Voice

Each Phone Agent speaks with a voice you choose on the agent’s settings page, under Voice Configuration. Four settings decide how it sounds: Neo picks the voice for you from the language, gender and accent you choose, so most agents need no further setup. To use a specific voice instead, enter its Custom Voice ID from your chosen engine’s voice library.
A custom voice belongs to one engine. A voice ID from ElevenLabs means nothing to Cartesia and the other way round, so changing the Voice Engine clears the Custom Voice ID. Set the engine first, then paste the ID.
Which engine you get by default. Phone numbers added from September 2026 speak through Cartesia. Numbers you already had keep ElevenLabs and the voice you chose for them — nothing changes until you change it yourself. Two combinations to know about. Cartesia has no male New Zealand voice, so a male + New Zealand agent on Cartesia speaks with an Australian male voice instead; choose ElevenLabs if you need a New Zealand male, and the settings page says so at the point you choose. ElevenLabs has no Dutch female voice, so a female Dutch agent on ElevenLabs speaks with the Dutch male voice; choose Cartesia for a Dutch female.

Hearing the voice before you save

Click Play sample under the voice settings to hear the agent say a short greeting in the voice you have set. It plays the settings on screen, so you can try an engine, accent or speed and listen before you save. The sample uses the same engine, voice and speed as a call. On a call the voice sounds a little less clear, because a phone line carries less sound. If the engine does not accept a Custom Voice ID, the page says so under the button and marks the field, and nothing plays. A call with that ID would have no audio, so fix or clear the ID before you save.

Transferring a Call to a Person

On the agent’s settings page, under Available Agent Capabilities, Transfer to a person sets how the agent puts a caller through to someone on your team: An agent that already transferred calls has Blind transfer, and keeps it until you choose another setting. You can also ask the Neo Support Agent to change this setting, or call PATCH /public-api/phone/numbers/{number} with transfer_mode from your own automation.

Blind transfer

The agent says a short line, such as “One moment while I transfer you”, and hands the call to the number. The agent then leaves the call, so it cannot hear who answers. If nobody answers or voicemail picks up, the caller stays there: the agent cannot bring them back. The technician’s phone rings as an ordinary incoming call, with no introduction. A caller who hangs up while that number is still ringing never reaches anyone. Where Neo files a ticket after the call, under what the ticket records, it says they hung up before they were put through.

Warm transfer

What the caller hears. The agent says that it is transferring them, then the caller hears hold music. The caller hears nothing of the call to the technician. What the technician hears and sees. The phone shows one of your own Neo phone numbers: a Neo number with the technician’s country calling code when you have one (US and Canadian numbers count as one, because they share +1), otherwise the number the caller dialled. A missed call returned to that number reaches your own agent. The phone rings for up to 30 seconds. When the technician answers, a second AI agent speaks in the agent’s language. It introduces itself as the AI assistant for your company, never by the agent’s name, says who is on hold and from which company, and sums up the request in two or three sentences: the problem and its details, what the caller already tried, how urgent it is, and the ticket number when the agent created one. It says how Neo identified the caller’s name and company, by the caller ID or by the name the caller gave, and says so when it could not identify them. Neither one proves who is speaking, so it never calls the caller verified. The technician can ask questions, and then answers “Can I put them through?”:
  • Yes. The caller and the technician are connected. The agent goes silent for the rest of the call, and the connected call ends after one hour.
  • No. The technician can say why, or ask for something, such as “I’m on another call, take a message”. The caller does not hear it. The agent acts on a request like that one. What the technician says is never written on the ticket, where your customer might read it; the ticket says only that the transfer was declined.
If the caller hangs up while on hold, the technician hears that the caller has hung up, with the ticket number when there is one, and the technician’s call ends. When the transfer does not connect. If the technician says no, nobody answers, or voicemail or an automated menu picks up, the caller comes back to the agent. The agent says only that it could not connect the call, then offers another option:
  • another number, when your Custom Instructions name one for this case;
  • to take a message. With Create Ticket on, the agent puts the message in a new ticket, or in the ticket it already created on this call. Without it, the message stays in the call transcript, and Neo can create a ticket from the call after it ends.
The second agent is told never to leave a voicemail message. If it does not recognise a voicemail greeting, the brief can still be recorded as a message. The ticket then says the call was answered and ended before the caller was put through.

Warm and blind transfer

With this setting the agent has both kinds of transfer, and your Custom Instructions say which kind each case gets. A common rule puts an emergency caller through to the on-call technician, and sends the caller to the on-call voicemail when nobody takes the call:
If the caller says it is an emergency, tell them to hold while you put them through, then do a warm transfer to the on-call technician at +1 555 123 4567. If the on-call technician does not take the call, tell the caller the on-call technician is not available right now and that our goal is to call them back within 60 minutes, then do a blind transfer to the on-call voicemail at +1 555 123 9999.
The agent reads “warm transfer” and “blind transfer” in your words. “Forward the call to” and “send the caller to the voicemail at” also read as a blind transfer. Where your instructions name no kind of transfer, the agent makes a warm transfer. The voicemail must be a number that takes the call by itself, such as a voicemail box. A warm transfer to a voicemail box does not work: the second agent hears the greeting and brings the caller back. A ticket Neo creates after the call lists every transfer of the call in order, for example the warm transfer nobody answered and then the blind transfer to the voicemail. A ticket the agent created or discussed during the call gets the same list only with Save transcription on, at the top of the transcript note. A call that ends with a blind transfer and created no ticket of its own gets no ticket after the call.

The number and the rules for a transfer

For every transfer setting, say in the Custom Instructions when to transfer and which number to use — for example “If the caller asks for a person, transfer them to +1 555 123 4567”. Write the number in full international format: a +, the country code, then the number. Local formats work too — spaces, dashes, brackets and dots are removed, and a number with no + gets the country code of the agent’s own phone number, so (555) 123-4567 on a US agent dials +15551234567. Two habits cause a transfer to reach nobody:
  • Writing the country code without a +. 1 555 123 4567 is read as a national number, so the country code is added on top of it and the call goes nowhere. Write +1 555 123 4567.
  • Adding an extension. +1 555 123 4567 ext 12 puts the extension digits into the number itself. Give the main number only.
When you save the settings, Neo reads the phone numbers in your instructions and checks each one. If a number would not reach anybody, a window opens before the save and shows what a transfer would dial for every number it found. You can go back and correct it, or save anyway — the choice is yours, and Neo never refuses the save over a number. If a transfer fails, the agent tells the caller only that it could not connect the call, then offers to take a message, or to raise a ticket when Create Ticket is on. It does not tell the caller that the person was unavailable or did not answer. One exception, with Warm and blind transfer only: after a warm transfer that nobody took (it rang out, the line was busy, the person refused, or voicemail answered), the agent says what your Custom Instructions tell it to say for that case, such as “The on-call technician is not available right now”. A warm transfer that failed before the phone rang gets the same line. When the transfer number itself is at fault, an Action Required message appears in your Neo inbox naming the number to fix.

What the ticket records

The ticket says which number the agent transferred the caller to, when, and what happened: see what lands on the ticket. When the caller reached the number, Neo creates no extra ticket after the call, because the person there now has the request. After a transfer that did not connect — a warm transfer the far end did not take, or either kind the caller hung up on before they were put through — Neo treats the call like any other: when the agent created no ticket during it, Neo assesses the call afterwards and creates one, unless the call was spam or the caller asked for no ticket. This holds with Create Ticket off too. Neo files that ticket under the first company it can place the caller in: the company of the PSA contact whose phone number matches the caller’s, then the company the caller named during the call when it matches a PSA company with confidence, then the Default Company. Neo never guesses from an uncertain match. When none of the three applies, the caller gets no ticket, and Neo sends you the action item described under PSA Ticket Settings. After a warm transfer, the transcript continues past the transfer. A line marks when the caller was put through, and each thing said after it is labelled Caller or Technician, in the order it was said:
Call History shows this transcript, and with Save transcription on, the ticket note carries it too. The agent stays silent on the call and never answers what the caller and the technician say. The call’s sentiment still rates only the part with the agent. The brief to the technician is in neither the transcript nor the recording. With Save Call Recording on, the recording on the ticket is the caller’s own call, and after a warm transfer it too continues through the conversation with the technician.

Different Instructions After Hours

A number can answer differently when your office is closed. Turn on After-Hours Instructions when you edit the agent, and write what the agent does then. For example: “Our office is closed. Create a ticket and tell the caller a technician will call back on the next business day.” A call that starts outside business hours, on a day you do not work, or on a holiday follows the after-hours instructions in place of the Custom Instructions, for the whole call. A call that starts at 16:58 keeps the normal instructions after 17:00. Write each set so it stands on its own: the agent reads one or the other, never both. Rules that apply at every hour can go in a reference memory, which reaches every call. Business hours decide when the after-hours instructions apply:
  • Workspace working hours are the business hours and time zone in Settings, Monday to Friday.
  • Custom working hours set the days and the opening and closing times for this number alone, in the workspace time zone. The hours cannot run past midnight.
Holidays count as outside business hours all day. A number uses the public holidays of its country unless you choose No holidays. UK numbers use the bank holidays of England. The US list holds the federal holidays, including days many offices stay open, such as Columbus Day and Veterans Day; choose No holidays if you answer on those days. The agent is not told the time. Neo checks the hours when the call starts and gives the agent the matching instructions, so a caller who asks “are you open?” gets the answer your instructions give. When you save in the dashboard and the after-hours instructions name a transfer number, such as an on-call line, the dashboard checks it the same way it checks the Custom Instructions. A change through the Neo Support Agent or the API does not run this check. You can also ask the Neo Support Agent to change a number’s after-hours instructions or business hours, or call PATCH /public-api/phone/numbers/{number} from your own automation.

Letting Your Help Desk Answer While Neo Takes Notes

A number can hand every call to your own help desk instead of the AI agent. Neo does not speak on the call. It rings your help desk, records the conversation, and after the call writes the transcript and a summary to the ticket it finds or creates, while the agent’s ticket notes are on.
1

Forward your support line to the Neo number

In your phone system, forward the line your customers call to the agent’s Neo number.
2

Find a second number that rings your help desk

Neo rings this number for every call. It must be a different number on your own phone system that reaches your help desk queue or ring group. Never use the support line you forward to Neo: Neo would ring itself and the call would loop. A Neo number is refused for the same reason.
3

Choose the help desk for the agent

When you add an agent under Phone Agents, choose Help desk answers, Neo takes notes under Call Handling and enter the help desk number with its country code. For an agent you already have, open it, make the same choice, and click Save changes. The change applies from the next call. If the phone carrier does not accept the change, nothing is saved, and the agent keeps taking calls as before. The Call Handling column of the Phone Agents list shows which way each agent takes its calls.
What the caller and your team see:
  • The caller hears ringing until your help desk picks up. Neo plays nothing, so the call counts as answered only when your phone system answers it.
  • Your help desk sees the caller’s own number, so your phone system’s screen pop and caller lookup keep working.
  • No answer, busy or a failed call is not taken over by Neo. Your own phone system’s voicemail or overflow rules apply as usual, and Neo writes nothing to the PSA for that call.
Neo plays no recording notice in this mode, because a notice would answer the call before your help desk does. The recording starts when your help desk answers, so the greeting of your help desk queue must tell callers that calls are recorded.
After the call, Neo looks for the ticket in this order: a ticket number said during the call, then the most recently updated open ticket of the caller’s PSA contact. When the caller is known but has no matching ticket, Neo creates one with the ticket fields under PSA Settings. When Neo cannot tell who called, it still adds the notes to a ticket whose number was said during the call, but it creates no ticket under a default company, because your technician may already have opened one during the call. With no ticket number either, it writes nothing to the PSA. Each call Neo forwarded to your help desk is in Call History on the Phone Agents page, with the other calls, newest first. A call your help desk did not answer shows as missed. A call shows the agent’s number and the help desk number Neo forwarded it to. Once Neo has a summary, it also shows Neo took notes, and once the notes are on a ticket, that ticket. Open the call to see what Neo did with it, how Neo found the ticket, the summary and the transcript, and to play the recording when there is one. Once Neo has a summary, the call’s sentiment shows how the caller experienced the call with your help desk: positive when satisfied, negative when frustrated or upset by the end of the call. It rates the caller, not your technician, and you filter and export it like the sentiment of the agent’s own calls. A call Neo took notes on before it rated sentiment shows none. A call with no ticket shows No ticket, and its transcript, summary and recording are only there. Neo keeps the call, its recording included, for 90 days. Attach the recording to the ticket also puts a copy on the ticket. When Neo put a call on no ticket, the call shows the ticket numbers said during it, as Neo heard them. To put the notes on a ticket yourself, open the call, click Add notes to ticket, check the ticket number (Neo fills in the first number it heard), and click Add notes. Neo writes the same note it writes when it finds the ticket itself, with the visibility set for the agent, and attaches the recording when Attach the recording to the ticket is on. This also works for a call stored while Write the transcript and summary to the ticket was off. Neo writes the notes of a call once: after they are on a ticket, the call shows that ticket and the button is gone. A ticket number the PSA does not have gets a message, and nothing is written. While the help desk answers, the agent shows only the settings that apply:
  • Write the transcript and summary to the ticket: the note Neo adds after the call.
  • Note visible to the customer: off by default, so the note is internal.
  • Attach the recording to the ticket.
  • Call language: the language callers speak, so Neo transcribes the call correctly.
  • The ticket fields for a ticket Neo creates: board or queue, status, source and priority.
The voice, instructions, after-hours hours, reference memories, capabilities and default company of the agent do not apply and are hidden. Neo keeps them as they are, and they come back when you choose AI agent answers again. Calls your technicians place to customers do not pass through Neo, so Neo does not record them. You can also ask the Neo Support Agent to switch a number, or call PUT /public-api/phone/numbers/{number}/call-mode from your own automation. PATCH /public-api/phone/numbers/{number} with passive_note_visible_to_customer changes who sees the note. GET /public-api/phone/passive-calls lists the calls Neo forwarded to your help desk, answered or not, with what Neo did with each, the ticket, the ticket numbers said in the call, the summary, the transcript and the sentiment. POST /public-api/phone/passive-calls/{id}/ticket with a ticket_number adds the notes of a call with no ticket to that ticket, as Add notes to ticket does.

Giving the Agent a Reference List

Some call rules depend on a list, for example “customers on our direct support plan go to a separate line”. Keep the list in a memory and attach it to the agent’s number. Keep the rule in the Custom Instructions. The agent then has the list on every call to that number.
1

Write the list as an MSP-wide memory

On the Memory page, add a memory and choose All companies as its scope. For example:
2

Attach the memory to the number

Open the agent under Phone Agents, search for the memory under Reference Memories, add it, and save.
3

Write the rule in the Custom Instructions

For example: “If the caller is from a company on the direct support list, transfer them to +1 555 123 4567.” The instruction says what to do, and the memory says who it applies to.The agent hears company names through speech-to-text, so a listed name can arrive split into two words or without a leading “The”. Say how strictly to match, with an example of a name that does not count:“Company names can come through speech-to-text slightly differently, for example split into two words or without a leading ‘The’. Treat those as the same company, but a company with a different word in its name is a different company: ‘Northwind Dental’ is not ‘Northwind Traders’. Transfer a direct support customer at once, before you ask for their name or the issue.”
Each number takes up to 10 memories and 4,000 characters in total. Only MSP-wide memories can be attached: a memory about one company would reach every caller on the number, whoever they are. The phone agent reads no other memory, so pinning a memory does not bring it into calls. A memory’s audience and agent list do not apply here, because attaching it to the number is the choice. When you edit an attached memory, calls use the new text, and you do not attach it again. If an edit takes the total over 4,000 characters, calls leave out each memory that no longer fits, whole, and never cut one in half. A deleted memory drops out of calls. If Neo cannot read the memories within 1.5 seconds when a call starts, that call goes ahead without them. A reference memory does not have to be a list. Anything the agent needs on every call fits, such as your support hours or who covers a public holiday. The agent reads attached memories as part of its Custom Instructions, so your instructions decide what it does with them. Attached memories are for the agent only. It shares one with a caller only when your Custom Instructions say so, for example “If a caller asks for our support hours, tell them. They are in memory.” If the list is also pasted into the Custom Instructions, remove that copy once the memory is attached, so an edit to one copy cannot leave the other out of date.

Common Use Cases

These are the most common scenarios where we see MSPs deploying our Phone Agent.
Instead of routing users to an automated voicemail, Phone Agent can answer calls after hours, ensuring your clients always have access to support. Give the number after-hours instructions so it tells callers the office is closed and takes a ticket, or sends emergencies to an on-call line.
When your technicians are busy, Phone Agent can answer calls during overflow, ensuring your clients always have access to support.

Switching an Agent Off or Deleting It

Open the agent under Phone Agents to change its state.
  • Disable stops the agent answering. Callers reach nothing, no ticket is created, and no minutes are used. You keep the number, and Enable switches it back on.
  • Delete agent removes the agent from your list at once, and Neo gives the number back to the carrier within a few minutes. Use it when you no longer want the number at all, for example after spam callers find it.
Deleting has two conditions:
  1. Switch an active agent off first. You then run without the number before you give it up. A suspended agent (its add-on has stopped) needs no step: you can delete it as it is.
  2. Only an admin can delete. Other users see the button, but it is disabled and tells them why.
Deleting cannot be undone. The number goes back to a public pool, and anyone may get it next. Before you delete, remove the number from your website, signage and VoIP rules, and from every alerting or monitoring service that calls it. The confirmation shows how many calls the number took in the last 30 days and when the last one came in, so you can see whether it still receives calls. The caller of each call is in your call history. Your call history stays.
To replace a number, add a new agent with the same greeting, instructions and PSA settings, test it with one call, repoint your routing to it, then disable and delete the old one. Only active agents count toward your limit of three. If you already have three, disable the old agent first; its line stops answering until the new agent is added and your routing points to it.

What the Phone Agent Costs

Two parts, and both appear on the invoice you already get. Because minutes come out of your plan allowance, a busy phone month shows up the way any busy month does: your credits run down sooner. You can watch it under Billing, and see the split by workflow, agent and phone usage on the Performance & Cost page. If you have agreed a different price with us — a plan that already includes the Phone Agent, for example — that is what you are charged, and your monthly fee may be zero.

What Happens to Your Numbers if the Add-On Stops

Your phone numbers belong to your Phone Agent subscription. If that subscription ends — you cancel it, or a card fails and Stripe stops retrying — Neo pauses the numbers instead of giving them back straight away.
1

The numbers are suspended

Calls stop reaching the agent, and the numbers no longer appear as active in your dashboard. Nothing is lost: Neo keeps renting each number from the carrier, and you keep the same rows in your Phone Agent settings.
2

You have 14 days to come back

Restart the add-on inside that window and every suspended number switches back on by itself, with the same digits and the same settings. You do not need to ask anyone, and there is nothing to reconfigure.
3

After 14 days the numbers are released

The carrier takes each number back into its public pool, and the numbers leave your Phone Agent list. This step cannot be undone. If you restart the add-on later, you get new numbers, and you must tell your clients the old ones no longer work.
A number you switch off yourself is treated the same way once the add-on stops. Neo pays the carrier for a paused number exactly as it does for an active one, so a paused number is suspended alongside the rest and follows the same 14-day clock.