Connect by JBRH Open Connect

Something is missing from the timeline

Most absences are deliberate. A timeline shows what happened *with a person* on records this workspace owns: drafts that never went out, deleted threads, enquiries that belong to JBRH rather than to you, and anything sitting under a second Person are all excluded on purpose. A genuine gap looks different — the conversation exists but its events do not.

Status
Available What this means
Audience
both
In the app
#/timeline, #/relationships, #/inbox
Last verified
Product version
6.3.2

What the timeline is assembling#

timeline.py builds one chronological view over the canonical records — threads, messages, calls, follow-ups, deals, cases — for a single Person, inside a single workspace. Two properties of that sentence explain nearly every absence. It reads canonical rows, not the provider-shaped tenant_* rows a mail adapter first wrote. And it reads one Person, so anything attached to a different record is not on this timeline even though it is plainly the same human.

Absences that are correct#

What is missingWhyWhere to look instead
A reply that was written but not sentA held draft has been handed to no provider. Nothing happened with the customerNeeds You
A thread you deletedthreads.deleted_at is a person's own triage decision, and the timeline honours itRestore the thread
A website enquiry addressed to JBRHconnect_inquiries is a control-plane table outside every workspace, so no workspace timeline can show itWebsite enquiries
A call that was not a conversationA ring with no speech is recorded as a call outcome, not as an exchangeThe Phone screen's call record
Anything under a duplicate recordIt is on that Person's timeline, not this oneDuplicate detection
Another workspace's dataIsolation is enforced three times over. A row without your workspace stamp is invisible, not missingSecurity and isolation

The distinction that matters most is the first one. A held draft is not a slow reply, it is no reply — so putting it on the customer's history would make the record say something happened between you and them when nothing did.

What Connect completed#

  • The message or call was ingested and stored by the provider adapter.
  • Where the bridge has run, the canonical thread and message rows exist and the engine has read them.
  • Any reply, follow-up or stage change made from that conversation is recorded against the Person, whether or not the originating event is visible.
  • The decision log holds the reasoning trail independently of the timeline, so an audit is still answerable when a display is incomplete.

What Connect did not complete#

If the events are genuinely gone rather than filtered, one of these did not complete, and none of them will complete retroactively on their own:

  1. The bridge, so a provider-side message never became a canonical one. The conversation is visible in the mailbox and absent from the relationship.
  2. The fetch itself. A mail cursor that moves past a batch it did not store loses those messages quietly — nothing errors, and the absence is the only symptom.
  3. Identity resolution, so the events exist under a contact that was never joined to this Person.

What you can do#

  1. Find the conversation on #/inbox or the Phone screen first.

    Result If it is there and the timeline is empty, the problem is the join to the Person, not the ingest.

  2. Open the Person and check the Identities list for the address the conversation used.

    Result A missing identity explains the whole gap and is fixed by attaching it or merging.

  3. Check whether the thread is deleted or belongs to a duplicate record.

    Result Both are reversible in a click, and both restore the history rather than rebuilding it.

  4. If the conversation cannot be found anywhere in the workspace, treat it as an ingest problem and check mailbox health.

    Result A mailbox that reports connected can still be failing to deliver messages; the health view is the one that answers this.

Administrators, and when to escalate#

Compare provider against canonical
A message present in the mailbox and absent from the canonical rows over a known window is the signature of a bridge or cursor problem, and it is worth reporting with the window rather than the message.
Check the person, not the page
Timeline views are paged. A number that stops at a page boundary is a counting defect, not a data loss, and the two have been confused here before.
Escalate
Raise it when canonical rows are missing for a period during which the mailbox was connected and healthy. That is the one shape of this problem a workspace cannot fix from the screens.

Questions#

Why can I see the email in my inbox but not on the customer's timeline?

Either the message has not been bridged into the canonical rows the timeline reads, or the sender's address is not an Identity on that Person. Check the identities first — it is the more common of the two and takes seconds.

Do deleted threads come back on the timeline if I restore them?

Yes. Deletion sets threads.deleted_at rather than removing rows, so restoring puts the conversation and its events back where they were.

Should approved-but-unsent replies appear?

They appear once they are sent, with the provider's acknowledgement. Until then the state is uncertain rather than sent, and the timeline deliberately records only what can be evidenced.