Data Overview
Coupler.io pulls data from 10 GoHighLevel entities, covering your full CRM lifecycle — from lead capture to invoicing. Custom fields are supported on Contacts, Opportunities, and Companies, and each custom field is returned as its own column.
Entities and what they return
Opportunities
Deal name, stage, pipeline ID, status, value, assigned user, close date, custom fields
Orders
Order ID, contact, amount, status, line items, created date
Pipelines
Pipeline ID, pipeline name, stages list
Invoices
Invoice ID, contact, amount due, amount paid, status, issue date
Companies
Company name, address, industry, custom fields
Contacts
Name, email, phone, tags, source, assigned user, custom fields, created date
Conversations
Contact ID, channel type, last message date, unread count
Transactions
Transaction ID, amount, currency, contact, created date
Appointments
Appointment ID, contact ID, calendar, start/end time, status
Tasks
Task ID, contact ID, title, due date, status, assigned user
Metrics and dimensions
Opportunities
name
Dimension
Opportunity/deal name
pipelineId
Dimension
ID of the parent pipeline
pipelineStageId
Dimension
ID of the current stage
status
Dimension
open, won, lost, abandoned
monetaryValue
Metric
Deal value
assignedTo
Dimension
User ID of the assigned team member
closeDate
Dimension
Expected or actual close date
createdAt
Dimension
Date opportunity was created
customFields
Dimension
Flattened into individual columns per field
Contacts
firstName / lastName
Dimension
Contact name
Dimension
Primary email address
phone
Dimension
Phone number
source
Dimension
Lead source
tags
Dimension
Comma-separated tag list
assignedTo
Dimension
Assigned user ID
dateAdded
Dimension
Contact creation date
customFields
Dimension
Flattened into individual columns per field
Appointments
contactId
Dimension
Linked contact
calendarId
Dimension
Calendar the appointment belongs to
startTime / endTime
Dimension
Appointment window
status
Dimension
booked, confirmed, showed, no-show, cancelled
Invoices & Transactions
amount / amountDue
Metric
Invoice total or amount outstanding
amountPaid
Metric
Amount already collected
status
Dimension
draft, sent, paid, void
contactId
Dimension
Linked contact
issueDate / createdAt
Dimension
Date created or issued
Common metric combinations
Opportunities + Pipelines (Join) — Join on
pipelineIdto replace pipeline IDs with readable pipeline names in your reports.Contacts + Opportunities (Join) — Join on
contactIdto enrich deal data with contact details like email, tags, and source.Invoices + Contacts (Join) — Combine billing data with contact info for revenue reporting per client.
Appointments + Contacts (Join) — Match appointments to contacts to analyze booking rates by source or tag.
Use cases by role
Track open opportunities by stage and pipeline to identify bottlenecks.
Monitor deal values and close dates in a live Looker Studio or Google Sheets dashboard.
Join Opportunities with Pipelines to show pipeline names instead of raw IDs.
Use the Contacts entity to report on lead sources and assigned-user performance.
Pull data from multiple sub-accounts using Append to create a single consolidated view.
Combine Invoices and Transactions to monitor revenue per client.
Export Conversations to track channel engagement across accounts.
Use AI destinations (Claude, ChatGPT) to auto-generate weekly performance summaries.
Sync Tasks and Appointments to a spreadsheet to manage team workload.
Use the
contactIdsparameter to pull tasks or appointments for a specific set of contacts.Monitor invoice statuses to flag overdue payments.
Schedule automated refreshes so dashboards always reflect the latest CRM state.
Platform-specific notes
Custom fields are supported on Contacts, Opportunities, and Companies. Each custom field appears as a separate column — not a JSON blob.
Custom fields on other objects (e.g., Tasks, Appointments) are not exposed via the GoHighLevel API and won't appear.
Appointments and Tasks support two filter parameters: a start date (fetches records for contacts created after that date) or a list of specific Contact IDs. If Contact IDs are provided, the start date is ignored.
Pipelines returns stage definitions but not opportunity counts — join with Opportunities to get deal metrics per stage.
Date fields like
createdAtanddateAddedreflect GoHighLevel's stored timezone. If timestamps appear off by one hour, this is likely a timezone offset — adjust in your destination or transformation layer.AssignedTo fields return a user ID. To get the display name, you may need to cross-reference with your GHL user list manually, as a dedicated Users entity is not currently available.
Last updated
Was this helpful?
