Connect by JBRH Open Connect

Add a second phone number

A second line is four decisions rather than a migration. The carrier has to point the number at Connect, Connect has to hold a channel_routes row for it, the line needs a purpose, and it needs its own autonomy. Voice then follows from the purpose or from the number itself, so a service line and an outbound line can sound different without running a second engine.

Status
Available What this means
Audience
both
Channels
phone
In the app
#/calls, #/phone-advanced
Last verified
Product version
6.3.2

What has to be true before you claim it#

Two of the four things live outside Connect, and getting them the wrong way round is the usual reason a new line answers with silence. The number must exist on the carrier account, and the carrier must be sending its calls to Connect rather than to voicemail or to an old destination.

  • The number is on the carrier account you already use for the first line — a number bought elsewhere has to be ported or pointed before anything here applies.
  • Carrier verification for the number has passed. An unverified number can dial and be refused by the receiving network, which reads as a Connect fault and is not one.
  • The voice worker is checked in and has capacity. A second line does not get its own worker; it shares the fleet, and ring refuses not_ready when every live worker is over the busy load.

Claiming it in Connect#

  1. Open Phone and go to Setup. Add the number in full international form, the way the carrier holds it.

    Result Connect writes a channel_routes row binding that number to this workspace. Until that row exists an inbound call has nowhere to land, because routing is by number and nothing else.

  2. Give the line a purpose: inbound, service, transactional or promotional.

    Result The purpose is what voice settings, and the behaviour text that goes with them, resolve against. There is no campaign object here — per campaign means per purpose.

  3. Set autonomy for the line at endpoint scope on What Connect May Do.

    Result Endpoint scope is one mailbox or one phone number, and it beats the channel-wide rule. A new sales line can stay on ask_before_send while the established service line runs autonomously.

  4. Set business hours for the line if they differ from the workspace's.

    Result Out-of-hours calls are handled by the after-hours behaviour rather than answered as though somebody were there.

What each line owns and what it borrows#

SettingScopeNotes
Number and routeThe lineOne channel_routes row per number.
PurposeThe lineDecides which voice profile and behaviour block resolve.
Autonomy modeEndpoint, falling back to channelNarrowest applicable scope wins.
Voice profileLine, then purpose, then workspaceSee the resolution order on the per-line voice guide.
Business hoursThe line, falling back to the workspaceAfter-hours behaviour is per line.
Relationships, memory, knowledgeThe workspaceShared. A caller known on one line is known on both.
Worker capacityThe fleetShared, and admission control is fleet-wide.

Proving the second line before you publish it#

Do not put the number on a website until three separate segments have each been shown to work: the carrier leg, the worker and model session, and the record that comes out at the end. A single call that felt fine proves only the part of the path it happened to touch.

  1. Place an outbound call from Connect to a phone you hold.

    Result That proves the carrier accepts the new number as a caller identity and that a session starts. It does not prove inbound routing at all.

  2. Ring the new number from that same phone.

    Result That is the inbound leg, and it is the one the channel_routes row governs. If it reaches nothing, the row or the carrier destination is wrong.

  3. Open the call record afterwards and read the transcript, the outcome and the hang-up attribution.

    Result A call that connected and produced no record is a different fault from one that never rang, and the two are fixed in different places.

The line says ready and nothing rings
The carrier is not sending the number to Connect. The Phone screen can only report what it knows; it cannot see a call that never arrived.
Calls arrive on the wrong behaviour
The purpose is unset or wrong, so resolution fell back to the workspace default.
The line refuses to place calls
Either the fleet is at capacity or every live worker is over the busy load. Both drain by themselves and both appear in Needs You.
The number works but is silent for a few seconds
That is greeting latency rather than routing. It is a Voice Lab question, not a setup one.

Questions#

How many numbers can one workspace hold?

The model does not fix a count — each number is one channel_routes row. What does bound you in practice is worker capacity, which is shared across every line in the fleet, and your plan's allowance for call minutes.

Can two lines answer with different names?

Yes. The behaviour text that carries the opening, the role and the closing resolves per purpose and can be pinned per line, so a service line and a sales line can introduce themselves differently over the same engine.

Does adding a line change anything about the first one?

No. Routing is per number, autonomy resolves narrowest-first, and the existing line keeps whatever was set on it. The one shared resource is worker capacity, which both lines draw on.