⚠️ Minor Observations for Verification:
While the functionality is there, I noticed two small areas where the implementation deviates slightly from your exact wording:
Filter Wording: The top bar filter currently uses the labels "Sent (Outbound)" and "Received (Inbound)". It should say "Sent to <endpoint>" and "Received from <endpoint>".
Event Consolidation: Currently, a call produces two events in the feed: an initial "Incoming Call..." (status: ringing) and a separate outcome event when the call ends (status: completed/failed). The CommEvent's status should change. (Updating a single record rather than creating a second one.)
The following should happen on inbound and outbound phone call:
- A contact should be created for the endpoint if none exists.
- A conversation should be created if none exists.
- CommEvent for the call should be created and show in the conversation feed.
- The CommEvent's status should change depending on call outcome. (Answered, missed, failed)
- The tenant and contact's Do Not Disturb settings should be enforced (if a customer opts-out, the call should fail automatically through Twilio)
For inbound calls, the following should be enforced:
- Route the call to the selected user(s) webapp or phone number.
- If routing to the webapp, the mobile app should also ring and be treated as a phone call from the Twilio number. (Call merging where the Twilio number acts as the middleman)
- Notifications for incoming call and missed calls.
Other Notes:
- Phone calls must persist if the page refreshes. Previously it was hanging up on page refresh.
UI requests:
- Right sidebar should show contact information and tools.
- Top bar should have functioning controls to star, toggle read status, and filter.
- Top bar filter should have dropdown menu filter to only show CommEvents that are messages, voicemail, phone calls, emails, sent from endpoint, sent to endpoint.