Skip to main content

Integrations - High level CRM (GHL) - How to run an audit log

How to troubleshoot why your opportunity or contact moved

Updated over 3 weeks ago

Why did this Opportunity move? (User vs Automation vs Webhook)

Goal: Identify what changed, when, and who/what caused it (User, internal automation, or external webhook/integration).

Option 1: Opportunity ID Shortcut (Fastest)

  1. Go to Opportunities and open the specific Opportunity card.

  2. In the popup, look at the bottom-left for the Opportunity ID (e.g., TwKhr1...).

  3. Click the ID link.
    → This should auto-open the Audit Log already filtered to that record.

Option 2: Manual Audit Search (If shortcut isn’t available)

  1. Go to Settings → Audit Logs.

  2. Set:

    • Module: Opportunities

    • Action: Updated

  3. Paste the Opportunity ID (e.g., TwKhr1k4qNwHXZwZVzDW) into Document ID.

  4. If no results appear:

    • Clear Document ID

    • Use a Date Range around when the move happened

    • Search and locate the Opportunity update entry manually

Option 3: Identify the Cause (User vs Automation vs Webhook)

  1. On the relevant audit entry, click the Eye icon (Preview).

  2. Interpret the “actor/source” fields:

How to classify the cause

  • Named User (e.g., “John Doe”)Manual change by that user

  • “System” / blank user / service-looking userInternal workflow/automation

  • “API” / “Integration” / app nameExternal webhook / third-party integration

What to look for in the log entry

  • Confirm the exact field change: Stage (or “High Level”) from X → Y

  • Capture:

    • Timestamp

    • Actor (User/System/API)

    • Source/App (if shown)

    • Old Value → New Value

Escalation notes (when it’s not obvious)

  • If it says API/Integration: ask for the integration name and correlate the timestamp with any integration/webhook runs.

  • If it says System: check what automations are configured to update stage (workflows, rules, routing, etc.) around that time.


Macro: Why did this Contact’s Tags change? (User vs Automation vs Webhook)

Goal: Determine whether tags were added/removed by a person, an automation, or an external integration.

Option 1: Contact ID Shortcut (Fastest)

  1. Go to Contacts and open the specific Contact card.

  2. Find the Contact ID at the bottom-left of the popup.

  3. Click the ID link to open the Audit Log filtered to that Contact.

Option 2: Manual Audit Search

  1. Go to Settings → Audit Logs.

  2. Set:

    • Module: Contacts

    • Action: Updated (or Tag Added/Removed if your system has that as a specific action)

  3. Paste the Contact ID into Document ID.

  4. If no results:

    • Clear Document ID

    • Search via Date Range

    • Locate the Contact update entry manually

Option 3: Identify the Cause (same logic as Opportunities)

  • Named User → manual tagging by that user

  • System / blank → internal automation/workflow applied tags

  • API / Integration / app name → external webhook/integration updated tags

What to capture

  • Which tag(s) changed: Added: X, Y / Removed: Z

  • Timestamp + Actor + Source/App

  • Any related field change that explains the tags (e.g., lifecycle/status updates)

Did this answer your question?