GoHighLevel Contact Timeline & Activity History (2026) — HL Growth Partner, Dr Priya Jaganathan

GoHighLevel Contact Timeline & Activity History (2026)

September 29, 2026

By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 29 September 2026 · 10 min read

The GoHighLevel contact timeline is the first place I look when a client tells me their automation has gone rogue. Nine times out of ten the workflow is behaving exactly as built, and the record already says so.

Most operators never learn to read it. They skim the Conversations thread, see an SMS they do not recognise, and start rebuilding a workflow that was never broken. This post covers what the Activity tab logs, what it leaves out, how to separate automated actions from human ones, and what survives a merge, import or deletion.

Quick Facts

ItemDetail
Where it livesContacts → a contact → Activities tab in the right panel (HighLevel Support, Contact Detail Page, 2026)
Events shownForm submissions, calls, appointments, page visits, trigger link clicks, surveys and quizzes, payment activity (HighLevel Support, Contact Activity Tab, 2026)
Deleted contactsRestorable for 60 days; HIPAA-enabled accounts cannot restore at all (HighLevel Support, Restore Deleted Contacts, 2026)
MergesUp to 10 contacts at once, permanent and not undoable (HighLevel Support, Manage and Merge Duplicate Contacts, 2026)
Workflow log filterCustom date range up to a maximum of 30 days, paginated 10, 25 or 50 rows (HighLevel Support, Improved Execution Logs, 2026)
Agency audit logsAgency View → Settings → Audit Logs, Agency Admins only (HighLevel Support, Audit Logs, 2026)

What the GoHighLevel contact timeline actually logs

The contact record is not one feed. It is a centre column of conversation history plus a right-hand panel of tabs, each holding a different slice of the story.

HighLevel's documentation describes the Activities tab as tracking appointments, form submissions and activity logs, with the centre panel consolidating messages, calls and notes (HighLevel Support, Contact Detail Page, 2026). The mobile Activity tab documentation is more specific, listing form submissions, calls, appointments, page visits, trigger link clicks, surveys or quizzes, and payment-related activity.

The practical consequence: no single tab answers a diagnostic question on its own. You read the timeline for the trigger, Conversations for the message body, and the workflow's own logs for the decision path.

EventWhere you actually read itWhat you get
Email and SMS sendsConversations threadBody, direction, timestamp, delivery status
Inbound repliesConversations threadContent and channel
Form and survey submissionsActivities tabEvent plus mapped field values
Trigger link clicks, page visitsActivities tabEvent with timestamp
Workflow enrolments and exitsEnrollment History, Execution LogsAction name, status, executed-on time
Appointments and no-showsAppointments tabBooking, status, calendar, assigned user
Opportunity stage movesOpportunities tabStage, pipeline, value, owner
Notes and tasksNotes and Tasks tabsAuthor, body, due date, completion
Call logs and recordingsConversations threadDirection, duration, playback
Payments and invoicesPayments tabInvoices, subscriptions, transactions

What the contact record silently does not tell you

This is where I see the most wasted hours. The timeline is an event feed, not a change log, and several things you would assume are recorded are not surfaced on the contact.

  • Custom field edits appear as a current value, not a before-and-after entry naming who changed it.
  • Tag additions and removals show the tag's presence, not a per-tag history of who or what applied it.
  • Workflow branch decisions live in execution logs, so a contact who skipped a branch looks identical to one who never reached it.
  • Bulk action effects are recorded on the Bulk Actions page, not inside each affected contact.
  • Deleted notes or tasks leave no visible trace on the record.

None of that is a defect, but it does mean the record is evidence, not a transcript. If you need field-level accountability, design for it with a timestamp custom field or a note written by the workflow.

Telling automated actions from human ones in HighLevel contact activity history

Every outbound message on a contact came from one of three places: a user typing in Conversations, a workflow action, or an API or integration call. Distinguishing them is a habit, not a feature.

Start with sender attribution in the Conversations thread. A message sent by a person carries that user; a workflow-sent message does not attach a human author, and its entry appears in that workflow's execution log at the same timestamp.

The timestamp match is the tell. Open the suspected workflow, filter its execution logs to the window around the send, and look for the action name and status against that contact. HighLevel's enrollment history also labels how a contact left, with statuses including Workflow Completed, Removed by Workflow Action, Removed by External Workflow Action, Contact Merge, and Removed by Snapshot Refresh (HighLevel Support, Improved Execution Logs and Enrollment History, 2026).

That last set of labels is worth memorising. "Removed by External Workflow Action" means a different workflow pulled the contact out, the most common cause of a sequence that appears to stop halfway. Work backwards through your workflow trigger reference and check every trigger that could match the contact's current state.

The contact timeline tells you what happened. The workflow execution log tells you why. Blaming the workflow before you have read both is guessing with extra steps.

What the audit trail shows about which user changed what

Agencies often assume GoHighLevel has a CRM-wide audit trail. It has audit logging, but the coverage is narrower than people expect and it sits at agency level.

Per HighLevel's Audit Logs documentation (2026), the feature sits under Agency View → Settings → Audit Logs, is restricted to Agency Admins, and currently tracks user creation, updates and deletions plus manual changes made from the web app. Filters cover user, action type, module and time range.

So "who changed this contact?" is usually answered by agency audit logs, the assigned user, and notes together. If accountability matters, restrict who can edit rather than reconstructing it later, which makes it a question of sub-account user roles more than one of logging.

QuestionWhere the answer livesWho can see it
Which user was added, changed or removedAgency Settings → Audit LogsAgency Admins only
Who owns this contact or opportunityAssigned user field on the recordAny user who can see the record
Which workflow actioned this contactWorkflow execution logs and enrollment historyUsers with Workflows access
Which import created or updated the contactContacts → Bulk Actions import historyUsers with Bulk Actions access
What a contact can see of their own dataNot applicable; the timeline is internalInternal users only

How long contact history is kept, and what survives merge, import and deletion

HighLevel does not publish a retention figure for the contact activity feed, so I treat timeline history as available but not guaranteed forever, and export anything I would need for a dispute. What is documented is the three moments history actually gets destroyed.

Deletion is recoverable for 60 days. HighLevel's documentation states deleted contacts can be restored within 60 days, and that restoring brings back opportunities, notes and tasks, conversations, appointments, and workflow and campaign participation. Admin users can restore regardless of who deleted, and HIPAA-compliant accounts cannot restore at all.

Merging is the opposite: fast, permanent, and it rewrites the record's history. The documentation confirms you can merge up to 10 contacts at once, that tasks, opportunities, notes and products are combined into the master record, and that a value from another selected contact is added only where the master's corresponding custom field is blank. A merge cannot be undone, so merging duplicate contacts deserves a checklist.

Imports are the third history-mangler. A CSV import can update existing contacts, matching on Contact ID, then email, then phone, and the file must be under 30 MB (HighLevel Support, Importing Contacts using a CSV File, 2026). The import is logged on the Bulk Actions page with stats and a downloadable error log, not narrated inside each contact, so tag your imports if you want provenance visible on the record.

That only works if your tags mean something. A disciplined tag naming structure turns the timeline from a pile of events into something you can filter with confidence.

Diagnose "why did this contact get that SMS?" before blaming the workflow

This is the request I get most often, and it resolves in about four minutes with a fixed sequence. Do it in order and resist the urge to open the workflow builder first.

  • Read the Conversations thread and note the send timestamp, the channel, and whether a human user is attributed.
  • Check the Activities tab for the event immediately before the send: a form submission, a trigger link click, a booking, a payment.
  • Check tags and the current opportunity stage, because stage-change and tag-added triggers are the usual culprits.
  • Filter the candidate workflow's execution logs to that day, remembering the 30-day maximum range on the date filter.
  • Read the enrollment history entry to see how they entered and whether another workflow removed them.
  • Only then change the build, tightening the trigger condition rather than stacking another filter on a trigger that is too broad.

For call complaints the sequence is the same, with consent as the extra layer: confirm the recording existed lawfully before replaying it to a client, which is a matter of call recording consent rules in your state, not a platform setting.

Two HighLevel references are worth bookmarking beside your build notes: the workflow execution logs and enrollment history guide and the restore deleted contacts documentation.

Common mistakes to avoid

  • Treating the Activities tab as a complete audit log and assuming an unlogged change never happened.
  • Rebuilding a workflow before reading its execution log, then shipping a second bug on top of the first.
  • Merging contacts to tidy a list, without checking which record should be master; the merge is permanent.
  • Running a create-and-update CSV import with no import tag, then having no way to tell imported data from captured data.
  • Giving every staff member Admin in the sub-account, which removes any meaningful notion of who changed what.
  • Relying on the timeline for a compliance record instead of exporting the evidence you would actually need.

If you want your contact records and workflow logs audited so a "why did this send?" question takes four minutes instead of four hours, book a strategy call with the HL Growth Partner team.

Book Your Strategy Call →

Frequently asked questions

Where is the contact timeline in GoHighLevel?

Open Contacts, click a contact, and use the Activities tab in the right-hand panel. The right panel also holds Associations, Opportunities, Tasks, Notes, Appointments, Documents and Payments, and it remembers the last tab you had open. The centre column shows messages, calls and notes together.

Does the GoHighLevel contact timeline show who sent a message?

A message sent manually from Conversations is attributed to the user who sent it. A workflow-sent message does not carry a human author, and you confirm it by matching the send timestamp against that workflow's execution log for the contact. That timestamp match is the reliable way to separate automated sends from human ones.

How long does HighLevel keep contact activity history?

HighLevel does not publish a fixed retention period for the contact activity feed, so treat it as available rather than guaranteed indefinitely. What is documented is the 60-day window for restoring deleted contacts, and the 30-day maximum custom date range when filtering workflow execution logs. Export anything you would need as evidence.

What happens to contact activity history when I merge two contacts?

Tasks, opportunities, notes and products from the other records are combined into the master contact, and a value from another selected contact fills a custom field only where the master's field is blank. You can merge up to 10 contacts at once. The merge is permanent and cannot be undone, so choose the master record deliberately.

Can I recover a contact's history after deletion?

Yes, within 60 days. Restoring a deleted contact brings back its opportunities, notes and tasks, conversations, appointments, and workflow and campaign participation, and any Admin user can restore it regardless of who deleted it. HIPAA-compliant accounts cannot restore deleted contacts at all.

Why does a contact show an SMS nobody on my team sent?

It is almost always a workflow with a trigger that is broader than intended, such as a tag-added or opportunity-stage-change trigger. Read the Activities tab for the event just before the send, then filter that workflow's execution logs to the same window. Fix the trigger condition rather than adding another filter downstream.

Can I stop a sub-account user from seeing contact activity?

Yes. Sub-accounts have Admin and User roles, and enabling Only Assigned Data limits a user to contacts assigned to them, opportunities they own, and appointments or tasks linked to their name. That restriction covers conversations too, so a sales rep sees their own pipeline and not a colleague's.

Contact data hygiene

Automation and tracking

Calls and foundations

Dr PriyaJaganathan

Dr PriyaJaganathan

Dr Priya Jaganathan is a Go High Level Certified Admin, trusted CRM consultant based in Australia, and a keynote speaker at SaaSpreneur Sydney and Level Up 2025 in Dallas.

Back to Blog