Integrations
WelcomeHome
Exactly what AnswerStack reads from and writes to WelcomeHome, field by field.
WelcomeHome is the CRM and the calendar. This page says precisely what AnswerStack reads, what it creates, what it updates, and what it never touches — so your CRM administrator can sign it off before you go live.
To set the connection up, see Connect WelcomeHome.
Info
AnswerStack is an independent product. WelcomeHome is a trademark of its owner, and its use here describes compatibility only, not affiliation or endorsement.
What happens on one call#
sequenceDiagram
participant C as Caller
participant H as AnswerStack
participant W as WelcomeHome
C->>H: Calls the community number
H->>W: Search prospects by phone, then by email
W-->>H: A matching prospect, or nothing
H->>W: Read the prospect and its recent activities
W-->>H: Stage, status, past calls and tours, next activity
Note over H,C: Greeting, questions, answers
H->>W: Create or update the prospect
W-->>H: Prospect ID
H->>W: Read scheduled activities for the community
W-->>H: What is already on the calendar
H->>W: Create the tour activity with a calendar entry
W-->>H: Activity ID, read back as the confirmation
Note over C,H: Caller hangs up
H->>W: Create the call activity with the summaryWhat it reads#
Reference data#
Cached for about ten minutes per connection and used to translate your words into WelcomeHome's IDs: communities, users, activity types, activity results, care types, relationships, lead sources, stages and prospect fields.
Matching ignores case and punctuation, so assisted_living matches Assisted Living, and a care
type's abbreviation matches too.
The caller#
At the moment the call connects, AnswerStack searches prospects by the caller's number in four formats —
(555) 555-0142, 5555550142, 555-555-0142 and +15555550142 — because the search is exact. If
nothing matches and an email is known, it searches by email.
If your WelcomeHome does not offer prospect search, AnswerStack builds a phone index from your prospect, resident and influencer table exports instead, refreshed incrementally. Caller recognition works either way and you do not have to configure anything.
When several prospects match, it prefers one in the community that was dialled, then one whose status is open, then the most recently contacted. It follows a merged record one hop, and ignores discarded ones.
The caller's history#
The prospect and its recent activities, as far back as the Look back at a caller's history setting on your playbook (180 days by default). From that it condenses: who they are, when they were last contacted, what was discussed, their stage, and any tour already on the calendar.
Warning
Nothing from the record is spoken until the caller confirms who they are. If the assistant asks "am I speaking with Dana?" and the answer is no, no detail from that record is mentioned at all. In the website chat, where the match comes from an email or phone the visitor typed, the assistant never says the name: it asks for theirs and checks it against the record.
What it creates and updates#
The prospect#
A new caller becomes a prospect through WelcomeHome's marketing form, with these fields:
| Field sent | From |
|---|---|
community_id | The community's CRM location, or the connection's default |
first_name, last_name | The caller's name, as they gave it |
email | The caller's email, once confirmed |
phone_number | The caller's number, in national format. WelcomeHome stores it as the cell phone |
relationship | How the caller relates to the person moving in |
second_person_first_name, second_person_last_name | The resident's name, when the caller is not the resident |
care_type_id | Your Care type answer, matched to a WelcomeHome care type |
lead_source_id | Your lead source, AI phone assistant by default |
The resident and the influencer#
This is the part that matters to your sales team.
- If the caller says they are calling for themselves, the relationship is sent as
Selfand WelcomeHome creates a prospective resident. - Otherwise the caller is added as an influencer with their relationship — Daughter, Son, Spouse — and the person who would move in is added as the resident.
When the prospect already exists, AnswerStack works out where the caller belongs: it matches an existing resident or influencer by phone, then email, then name, and updates that person. If nobody matches, it adds a new influencer (or a new resident, when the caller is calling for themselves).
Info
Existing contact details are never overwritten. A cell phone is only filled in when the person has none, and an email only when the field is empty. AnswerStack adds; it does not replace.
The call activity#
At hangup, one activity on the prospect:
| Field | Value |
|---|---|
| Activity type | Call by default, or whatever you set on the connection |
direction | inbound |
completed_at | When the call ended, so it is logged as completed |
| Activity result | Completed, when your WelcomeHome has that result |
notes | The summary, as basic HTML |
The note reads like this:
AI phone assistant call · Booked a tour · 5 min
Linda called about assisted living for her mother Ruth, who had a fall last month. Outcome: booked a 45-minute tour for Thursday, September 25 at 10 AM Eastern time with Priya Shah. Next: tour confirmation 5031.
- care type: Assisted Living
- timeline: 1 to 3 months
- email: [email protected]
Call ID: … · Playbook v3
The tour activity#
When a booking is made:
| Field | Value |
|---|---|
| Activity type | Whatever you set as What the calendar calls a tour, usually Tour |
scheduled_at | The slot the caller accepted |
sales_counselor_id | The counselor the booking rule chose, from the community's staff CRM user |
add_to_calendar | true, so it appears on the counselor's calendar |
time_zone | WelcomeHome's name for the community's time zone, for example Eastern Time (US & Canada) |
calendar_event_start_time, calendar_event_end_time | The local start and end times |
notes | The collected answers, then "Booked by the AI phone assistant" and a booking reference |
The assistant never claims a booking until WelcomeHome returns an activity ID, and that ID is what it reads back to the caller as the confirmation.
If the caller changes their mind on the same call, the activity is updated: marked complete with a
Cancelled result and a note saying the caller cancelled through the AI phone assistant.
Prospect metadata#
A small block of metadata is written on the prospect so any record can be traced back to the call that created it:
| Key | Holds |
|---|---|
ai_call_id | The call this write came from |
ai_first_call_id | The call that first created this prospect |
ai_playbook_id, ai_playbook_version | Exactly which playbook version answered |
ai_dialed_number | The number the caller dialled |
ai_updated_at | When AnswerStack last wrote |
How open times are worked out#
WelcomeHome has no free-time endpoint, so AnswerStack computes availability:
- Start from the community's booking windows on its profile.
- Subtract activities already scheduled for that community. An activity assigned to a counselor blocks only that counselor; one with no counselor blocks the whole community.
- Apply the booking rule's length, its earliest and latest day, and the playbook's minimum notice.
- Offer the first two that fit, usually one morning and one afternoon.
If somebody books the same slot in WelcomeHome while the call is happening, AnswerStack notices, releases its own booking and offers the caller the next times instead. You never end up with two tours in one slot.
Do-not-call is honoured#
AnswerStack reads each person's do_not_call and do_not_text flags and never changes them.
- The flag is passed to the assistant as part of the caller's record, and the assistant is told not to call or text that person back.
- On the do-not-call list is available as a detail in your booking rules, so you can decide what those callers get.
- The assistant never dials out to anybody, so an inbound call from a flagged number is simply a person choosing to call you.
The field mapping#
On the playbook's CRM & calendar tab, each of your questions can go to one of three places:
| Choice | Where the answer lands |
|---|---|
| Not sent to the CRM | Kept on the call record only. |
| Care type | Matched to one of your WelcomeHome care types by name or abbreviation. |
| Expected move timing | Sent as the prospect's expected move timing. |
| A custom field | A WelcomeHome prospect field, named exactly as WelcomeHome spells it. |
Custom field values are converted to the field's own type: amounts have currency symbols and commas stripped, checkboxes become 1 or 0, dates are formatted the way WelcomeHome expects, and select lists are matched to one of their options. An answer that cannot be represented is skipped rather than written wrongly.
What happens when WelcomeHome is unavailable#
The call continues. The assistant keeps talking, and:
- Lookup fails — the caller is greeted as a new caller rather than by name.
- Availability fails — the assistant takes a callback instead of booking, and the call is marked so your team can follow up the same day.
- The call log fails — the write is queued and retried for about an hour, backing off between attempts. If it still cannot be delivered, the call is flagged and the failure is recorded in your audit log.
Every write carries the call ID as its key, so a retry can never create a duplicate prospect, a duplicate call log or a second tour.
What AnswerStack never does#
- It never deletes anything.
- It never changes a
do_not_callordo_not_textflag. - It never overwrites an existing phone number or email address.
- It never touches another community's records: every read and write is scoped to the community that was dialled.
- It never sends a caller's card number, password or ID number. Those are refused on the call and redacted from the transcript.