Overview
Member management involves adding new people to the care team, creating their profiles, assigning roles and access levels, and managing their participation over time. Each member needs both a routing.json entry and a member profile.Adding a New Member
Member Roles
CareSupport supports five distinct roles, each with different responsibilities and permissions:Primary Caregiver — Main coordinator for the care recipient. Typically has full access and approval authority.
- Full access to all sections of family.md
- Can approve care plan changes
- Receives escalations for unresolved gaps
- Default access level:
full
Family Caregiver — Family member involved in care but may have limited access to sensitive medical information.
- Access to schedule, medications (depending on access_level)
- Cannot approve care plan changes by default
- Typical access levels:
schedule+meds,schedule, orlimited
Professional Caregiver — Paid caregiver providing professional services.
- Access to schedule and care notes relevant to their shifts
- Can log sessions and document care activities
- Typical access level:
schedule+medsorprovider
Community Supporter — Friend, neighbor, or volunteer providing occasional support.
- Limited access to non-medical information
- Can help with errands, transportation, social visits
- Typical access level:
scheduleorlimited
Care Recipient — The person receiving care (may also coordinate their own care).
- Can have full or limited access depending on preference
- May serve as primary coordinator in some families
Member Schema Reference
Each member in routing.json requires these fields:Display name used in prompts, logs, and messages. Can include full name (e.g., “Roman Tefera”) or first name only.
One of:
primary_caregiver, family_caregiver, professional_caregiver, community_supporter, care_recipientDetermines what sections of family.md this member can see. Options:
full— All sections, can approve changesschedule+meds— Schedule, medications, appointments, urgent notesschedule— Schedule and urgent notes onlyprovider— Medical info, medications, appointments, care teamlimited— Members and care recipient basic info only
Whether this member receives messages. Set to
false to temporarily disable without removing.Linq chat UUID, populated after first message exchange. Used for reliable message routing.
Relationship to care recipient (e.g., “grandson”, “sister”, “neighbor”). Helps personalize agent responses.
Role Assignment via Agent
Members can be added through conversation with the agent:The agent uses conservative defaults:
role=family_caregiver and access_level=schedule+meds unless the coordinator specifies otherwise. The coordinator can always adjust these later.Updating Member Information
Member profiles grow through interaction. The agent updates profiles viamember_updates:
- Validates the member exists in routing.json
- Updates the appropriate section in
members/{name}.md - Logs the update to the member’s Interaction History
- Triggers
_persist_member_updates()in sms_handler.py
Deactivating Members
To temporarily remove a member from active participation:- Set
"active": falsein routing.json - Update family.md Care Team table (remove ✓ or mark inactive)
- Add note to member’s profile: “Temporarily inactive as of : ”
Example: Multi-Member Family
Here’s a complete routing.json for a family with diverse roles:- 1 primary caregiver (full access)
- 2 family caregivers (different access levels)
- 1 community supporter (limited, schedule-only)
Best Practices
- Start with conservative access levels; expand as needed
- Use
relationshipfield to capture family context - Let profiles grow organically through conversation
- Document timezone differences in Personal Context
- Note communication preferences (texting vs calling, hours, urgency thresholds)
Next Steps
Configure Access Controls
Learn how access levels control what each member can see and do.
Phone Routing Configuration
Understand how phone numbers map to members and chat_id resolution works.