Situs phone wiring: how calls reach Clara

How to route Situs's main line, (303) 789-3030, to Clara at night and on weekends, record calls during setup week, and later catch the daytime calls nobody picks up. For Friday's kickoff.

Oct 13, 2026 · Situs Group · recommendation, waiting on Situs's office hours and Crexendo access · kickoff Fri Oct 16, 11:00 MT

Recommendation

Phase 1: Crexendo sends after-hours calls to Clara. Situs's own phone system decides the hours, and only night and weekend calls go to a Clara number. Daytime calls never touch us, so the Western Slope loop can't happen.

Setup week: Crexendo records, we download. Nothing changes for callers.

Phase 2: calls nobody answers in the day go to Clara. After the ring time runs out, Crexendo forwards the call to Clara.

This is the "direct plugin" Eileen asked for. It is the same setup Crexendo documents for its own AI receptionist.

Asks for Situs's Crexendo admin (about 15 minutes)

  1. Tell us office hours, holidays and when the weekend starts.
  2. Create those Time Frames. On the main number, turn time frames on and send the after-hours slot to Clara's number.
  3. Show us what that slot does today, so we know how calls reach MCC.
  4. Through Dani: swap "your call is now being forwarded" for a ring, turn on recording, and give us access to download recordings.

What we build

The four options compared
(a) Crexendo hours → Clara(b) Whole line → Clara, we route back(c) SIP "direct plugin"(d) No-answer → Clara (Phase 2)
How it worksMain number's time-of-day routing: office-hours slot unchanged, after-hours slot "PSTN Number" → Clara's Twilio numberMain number forwards 24/7 to Clara; our office-hours logic sends daytime callers back to a Situs numberCrexendo sends calls over a SIP trunk to our stack instead of dialing a phone numberDaytime ring group's no-answer destination ends at Clara's number
Extra delayOne forward, likely 1–3 s plus Crexendo's forward announcement unless it's swapped for ringback. Measure on the first test call.Night: same as (a). Day: two extra hops on every staff call, the delay Eileen refusedPossibly a second faster than (a); unprovenRing timeout (Situs picks) plus one forward
Loop riskNone by design, as long as Clara's own transfers never dial the main lineHigh: the Western Slope shape. Safe only if "back" is a number that doesn't forward to usLowSlow loop if Clara's "talk to a person" dials the same ring group
If we go downAfter-hours only. Twilio fallback sends calls to a human lineSitus's daytime phones go down tooAfter-hours onlyMissed calls only
Situs admin clicksTime Frames + one Inventory row. Portal, self-serve if they hold the admin roleOne forward rule, plus a spare number for us to send calls back toNeeds Crexendo support: SIP trunks are reseller/super-user scopeRing group timeout + a forwarding system user
Our buildS: number, agent, hours, loop-guard entryM: daytime pass-through path, caller ID, guard, monitoringL: new way into the call (SIP domain or trunk) in front of the ElevenLabs/Twilio path; SIP mode was ruled out in Sep ("no whisper", July incident)M: guard for calls that come back around, plus test
Recording for trainingClara's calls recorded on our side; staff calls on CrexendoEverything passes through usSame as (a)Same as (a)
VerdictPhase 1Fallback only if Situs can't edit time framesAsk Dani, laterPhase 2

Fede's preference was (b), "forward the whole line with our own business-hours logic." It gives us control over hours, but daytime reliability then depends on us, Eileen's no-delay ask fails during the day, and it is the exact shape that looped at Western Slope. Gera's 5-second budget fits (a) comfortably.

What happened at Western Slope, and why (a) avoids it

Western Slope forwarded its whole RingCentral main line to Clara (Sep 7 decision). Clara's "something else" transfer pointed at that same main line. The main line forwarded straight back to Clara, so on Sep 22 three real calls bounced and dropped (calls CA765a4f88, CA14680d90).

Under (a), Crexendo never sends a daytime call to Clara, so there's no "send it back" step. The only remaining loop is Clara dialing the main line herself, which the guard blocks once the number is registered.

What Crexendo can do (sourced)

Crexendo runs on NetSapiens, which it bought in 2021 (announcement). Its knowledge base is cxdo.helpjuice.com.

NeedWhat the docs saySource
Business hours, holidaysTime Frames: Always, Days of the Week, Specific Dates, Holidays (recurring), Custom. Domain-level, made by a manager. A time frame does nothing until a number or user rule uses it.3883003, 3799671
Route by time on the main numberInventory → number → "Enable Time Frames" = Yes. Unmatched times fall to an automatic Default slot.3801235
Send a slot to an outside numberCrexendo's own AI receptionist guide: Treatment "PSTN Number", Destination = the AI's number, one per time frame (business hours, after hours, weekends).3926840
Manual override ("wait" switch)Night Mode: an Always time frame toggled from a phone key, forwarding to an after-hours destination. Useful as Eileen's off switch.3762782
Forward to an outside numberUser Answering Rules: Call Forwarding to voicemail, an outside number, or another user.3799671
No-answer routingRing Group: per-user ring time, a Ring Timeout, then extension, voicemail, group voicemail, auto attendant or call queue. No outside number listed, so Phase 2 goes through a system user whose rule forwards to Clara (to verify in the portal).3933000
Forward announcementForwards play "your call is now being forwarded" by default. It can be swapped for Music On Ring or ringback, but only in the Admin UI (a Crexendo support job). This message is likely most of the "3 seconds" Eileen heard.3833726
SIP trunkMade for customer PBXs. Needs a portal flag; super-user and reseller scopes have it by default. Static or registered, two-way or one-way.3833512
Call recording"Automatic Call Recording" comes with every seat except Voicemail Only. Media is kept 90 days. Record-all for a whole domain is Admin UI or API only (Crexendo support).3949954, 3833561
Recording exportPortal Call History download; Remote Storage sends recordings to an outside store (providers not listed publicly); API GET /domains/{domain}/recordings/{callid} returns a file-access-url; CDR endpoints; event subscriptions.3800951, ns-api recordings, event subscriptions
IntegrationsZapier "New Call Recording" trigger (e.g. archive to Box). CRM connectors (Loup, Go Integrator Nava). The admin role is an add-on, not standard on every seat.Zapier, integrations

Not found publicly: whether a Ring Group or auto-attendant can target an outside number directly, and which Remote Storage providers are supported. Ask Dani. (Both resolved in the Oct 13 evening pass below.)

The listen-only setup week

Recommended: record on Crexendo, download on our side. No change to how calls route, no delay, no loop risk. In order of preference:

  1. API token (from Crexendo, not a portal login): list call records, fetch each recording's file-access-url, feed them into our call review for Eileen's quality readout. Can be automated.
  2. Remote Storage to a bucket we control, if Crexendo supports one we can use.
  3. Zapier "New Call Recording" → a shared folder we read. No code, works with only a portal login.
  4. Manual portal download as the floor. Fine for a first batch of calls.

Pull within 90 days (Crexendo's media retention). These are calls staff answer today, so they show what callers ask and how the team responds. That is the training material.

Not recommended: passing calls through us to record them. That is option (b) for a week: daytime delay, the loop shape, and Situs's phones depend on us, all before Clara answers a single call. Our own recording starts the day Phase 1 goes live; Clara's calls are recorded end to end on our side.

Caller notice: Colorado only needs one party's consent, but check whether Crexendo plays a recording notice. If staff calls are recorded for training, Situs may want one.

Phase 2: missed daytime calls

Hugo wants Clara to catch calls while agents are out at showings (Gera and Fede are cooler on it). The likely Crexendo setup: daytime ring group → Ring Timeout (say 20–25 s) → a system user whose Answering Rule is "Call Forwarding, Always" → Clara's number. That is the same pattern as Night Mode's routing user. Verify it in Situs's portal once we have access.

Loop to prevent: a caller asks Clara for a person, Clara dials the ring group, nobody answers, and the ring group sends the call back to Clara. Build: (1) Clara's daytime "talk to a person" dials direct staff numbers that don't overflow, never the ring group or main line; (2) if a call reaches Clara a second time within a few minutes after Clara forwarded it, she takes a message instead of transferring again. This is part 2 of the loop guard, using Twilio's forwarded-from data.

Daytime rules Situs already gave: routine tickets go into AppFolio for Beryl, no tech is pulled off their planned day, and Clara never assigns.

Open questions for Situs (Friday)
  1. Office hours, holidays, and when the weekend starts. These are the time frame. Our hours must match Crexendo's to the minute, Mountain time.
  2. How does MCC get after-hours calls today? The main number's current after-hours slot answers this. Does any number still go straight to MCC?
  3. What are the two other numbers that route to the main line, and should Clara cover them?
  4. Who has the Crexendo admin role? It's an add-on seat feature. If nobody does, Dani makes the change.
  5. Is the login Eileen is getting a portal login or an API token? Recording download is much easier with a token.
  6. Can Crexendo swap the forward announcement for ringback? And can SIP trunk to an outside address be a later option?
  7. Is automatic recording on for the seats that answer the main line? Do they want a recording notice?
  8. Who does Clara transfer to after hours when a caller wants a person, if anyone? Must be a direct number, never the main line.
  9. Phase 2: which ring group or queue answers in the day, and how long should it ring before Clara picks up?
Build list with sizes
ItemPhaseSizeNotes
Situs Clara number + ElevenLabs agent + Twilio fallback to a human line1SExisting onboarding path
Situs office hours setting matching the Crexendo time frame1SConfig, set from question 1
Register (303) 789-3030 and the two routed numbers as forwarded into Clara; catch-all = direct number or message1SLoop guard (#18002) then refuses them
On-call list and emergency chain for Situs1SEngine exists; config from Situs's chain
First test call: measure delay, confirm caller's real number reaches Twilio (tenant recognition depends on it)1SOur own phone, never client staff
Crexendo recording download into call reviewSetupMToken path; Zapier or manual as fallback
Catch a call that comes back around (Twilio ForwardedFrom + recent forward)2MLoop guard part 2
SIP way inLaterLOnly if delay is still a complaint after the ringback swap

Sources: Situs meeting and debrief notes (Oct 13); phone line and hand-off architecture; Western Slope call tree; WS emergency line hand-off.

Verification pass, Oct 13 evening (Fede's session)

A second read of the Oct 13 call transcript and Crexendo's public docs, done after the page above was published. Nothing here changes the recommendation. It fixes three "not found" gaps, adds the facts that matter for Friday, and settles the vendor-name question as far as public sources allow.

TopicWhat we now knowSource
Vendor nameEileen said "Crescendo" on the call (speech-to-text). No company named Crescendo sells business phone lines, DIDs or texting; Crescendo.ai is a support-outsourcing firm. Crexendo sells exactly what she described: per-user DIDs, texting from the DID, recording, a mobile app. A carrier lookup on (303) 789-3030 returns a wholesale VoIP carrier (Onvoy), which fits a hosted phone system but does not name the vendor. Treat Crexendo as very likely, confirmed only by Situs's invoice or the domain on Dani's email.crexendo.com, crescendo.ai
Recording export (was "providers not listed")Remote Storage sends recordings to AWS S3 Standard, S3 Glacier IR, Wasabi or SFTP; FTP is not supported. Set up from Call History → Recording Storage Settings → Add Remote Storage; the portal tests the connection before saving. An S3 bucket we own is the cleanest listen-only path and needs a portal login with recording rights (likely Office Manager), no API key.retention policies, recording guide
RetentionRecordings stay 90 days by default; up to 2 years can be bought. Call records stay visible 24 months. Only an Office Manager can turn recording on or off and listen.same, plus manager guide
Outside number as a destination (was "not found")An Auto Attendant menu option can route to an external number. A Call Queue's no-answer and overflow destinations are internal only (another queue, voicemail, a user, an auto attendant), so Phase 2 still goes through a forwarding user as the page says. Ring Group → outside number remains unconfirmed.auto attendants, call queues
A hand-back target that cannot loopA Call Queue can be given its own direct phone number. Clara's "talk to a person" can dial that queue number, which never passes through the main number's time-frame rule, so there is no round trip. Verify in Situs's portal before relying on it.call queues
The forward announcementConfirmed: forwarded calls play "your call is now being forwarded" by default. Replacing it with music or plain ringback is an Admin UI change on the Core Module, per domain or system-wide, so it is a Crexendo support job, not something Eileen can click.3833726
Recording notice to callersCrexendo's guide says recording happens "without alerting the caller". No announcement by default; Colorado is one-party consent. If Situs wants a notice for the training recordings, it is their add, not a default.recording guide
API accessCreating an API key on the NetSapiens API needs "special access", so expect Crexendo (Dani) to issue it rather than a portal page. Endpoints exist for call records per domain and per user, recordings per call, and text sessions and messages per user. That covers both the recording pull and the "who is actually using it" readout Eileen asked for. If no key comes, the portal's Call History export plus S3 Remote Storage covers the calls by hand; pulling staff texting history without an API key is unconfirmed.API keys, per-user call records, text sessions
What the after-hours slot points at todayThe 24/7 maintenance number tenants are given, (720) 459-5986, is MCC's line and is hosted on Twilio (carrier lookup). MCC is AppFolio's Maintenance Contact Center (AppFolio), so this number leaves with the service when Situs cancels it; the on-call chain replaces it, and the handoff page's "emergency line is a valid destination" goes stale that day. The main number's after-hours slot almost certainly forwards there now. When Eileen shows us the slot, expect that number; Phase 1 swaps it for Clara's.Situs tenant notice in the findings; Twilio Lookup, Oct 13
Loop detection on the phone systemNothing public on NetSapiens loop detection or a forward hop limit. Assume none: the loop guard on our side stays the only protection.searched cxdo.helpjuice.com and docs.ns-api.com, Oct 13

Two things Eileen said that shape the week: she will ask Dani for one extra login with no new DID, framed as maintenance-only; and she wants a readout of who on staff is using the new system at all, calls and texts, as her own management tool. Both are served by the same login or key. Transcript: #transcripts, "PropFlow Situs Follow up", Oct 13.

PropFlow Docs