ghl_opportunity_search
Search opportunities with filters by status, pipeline, stage, contact, assigned user, and more. Supports pagination to navigate large result sets.
Instructions
Full pagination/filter surface confirmed present: q, status, campaignId, id, order, endDate, startAfter, startAfterId, date, country, page, limit, getTasks, getNotes, getCalendarEvents, locationId (required), pipelineId, pipelineStageId, contactId, assignedTo. To page past the first result set, either increment page with limit, or read startAfter/startAfterId off the previous response's meta and pass them back in — required to reach results beyond the first ~100 records on large pipelines.
Search Opportunity
Endpoint: GET /opportunities/search (Version header: v3; source: v3/opportunities-v3.json)
OAuth scopes: opportunities.readonly
Pagination params: startAfter, startAfterId, page, limit — pass them to page through full result sets.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query (max 75 characters) | |
| id | No | Opportunity Id | |
| date | No | Start date | |
| page | No | Page number for pagination | |
| limit | No | Limit Per Page records count. will allow maximum up to 100 and default will be 20 | |
| order | No | Sort order for results (e.g. added_asc, added_desc, name_asc, name_desc) | |
| status | No | Filter by opportunity status | |
| country | No | Filter by country code (ISO 3166-1 alpha-2) | |
| endDate | No | End date | |
| getNotes | No | get Notes in contact | |
| getTasks | No | get Tasks in contact | |
| contactId | No | Contact Id | |
| assignedTo | No | Filter by assigned user identifier | |
| campaignId | No | Campaign Id | |
| locationId | Yes | Location Id | |
| pipelineId | No | Pipeline Id | |
| startAfter | No | Start After | |
| startAfterId | No | Start After Id | |
| pipelineStageId | No | Stage Id | |
| getCalendarEvents | No | get Calender event in contact |