GoHighLevel MCP → UI Component Analysis
Comprehensive mapping of all 38 GHL tool files to required UI components.
Generated 2025-02-03 from source analysis of every tool definition.
Part 1: Endpoint-to-UI Mapping
1. Affiliates (17 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_affiliate_campaigns |
List of campaigns with name, commissionType, commissionValue, status |
DataTable + StatusBadge |
YES |
get_affiliate_campaign |
Single campaign detail: name, description, commissionType/Value, cookieDays, productIds |
DetailHeader + KeyValueList |
YES |
create/update/delete_affiliate_campaign |
Confirmation response |
ActionButton (toast) |
YES |
get_affiliates |
List: contactId, campaignId, customCode, status (pending/approved/rejected) |
DataTable + StatusBadge |
YES |
get_affiliate |
Single affiliate detail |
DetailHeader + KeyValueList |
YES |
approve/reject_affiliate |
Action confirmation |
ActionButton |
YES |
get_affiliate_commissions |
List: amount, status (pending/approved/paid), dates |
DataTable + StatusBadge + CurrencyDisplay |
PARTIALLY |
get_affiliate_stats |
Performance metrics: clicks, conversions, revenue, date range |
StatsGrid + MetricCard + BarChart |
PARTIALLY |
get_payouts |
List: amount, status, affiliateId, note |
DataTable + StatusBadge |
YES |
get_referrals |
List: type (lead/sale), affiliateId, campaignId |
DataTable + FilterChips |
YES |
Gaps: No chart component for affiliate performance over time. No currency/money formatting component.
2. Associations (10 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
ghl_get_all_associations |
List of associations with key, firstObjectLabel/Key, secondObjectLabel/Key |
DataTable |
YES |
ghl_get_association_by_id/key/object_key |
Single association detail |
KeyValueList |
YES |
ghl_create/update/delete_association |
Confirmation |
ActionButton |
YES |
ghl_create_relation |
Relation between two records |
ActionButton |
YES |
ghl_get_relations_by_record |
List of relations with record IDs |
DataTable + RelationshipGraph |
PARTIALLY |
ghl_delete_relation |
Confirmation |
ActionButton |
YES |
Gaps: Entity relationship visualization (graph/diagram showing how objects connect).
3. Blog (7 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_blog_posts |
List: title, status (DRAFT/PUBLISHED/SCHEDULED/ARCHIVED), author, categories, publishedAt |
DataTable + StatusBadge + FilterChips |
YES |
get_blog_sites |
List of blog sites with names |
DataTable |
YES |
get_blog_authors |
List of authors |
DataTable |
YES |
get_blog_categories |
List of categories |
DataTable |
YES |
create/update_blog_post |
Blog post detail: title, content (HTML), imageUrl, urlSlug, tags |
DetailHeader + KeyValueList + ContentPreview |
PARTIALLY |
check_url_slug |
Boolean availability check |
StatusBadge + InfoBlock |
YES |
Gaps: HTML/rich content preview component for blog post content.
4. Businesses (5 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_businesses |
List: name, phone, email, website, address, logoUrl |
DataTable |
YES |
get_business |
Full detail with all fields |
DetailHeader + KeyValueList + AvatarImage (logo) |
PARTIALLY |
create/update/delete_business |
Confirmation |
ActionButton |
YES |
Gaps: Avatar/logo display component.
5. Calendar (38 tools — largest single file)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_calendar_groups |
List of calendar groups |
DataTable |
YES |
get_calendars |
List: name, calendarType, slotDuration, isActive, groupId |
DataTable + StatusBadge + FilterChips |
YES |
get_calendar |
Single calendar detail |
DetailHeader + KeyValueList |
YES |
get_calendar_events |
Events: startTime, endTime, title, status, contactId, assignedUserId |
CalendarView + DataTable + Timeline |
PARTIALLY |
get_free_slots |
Available time slots by date |
TimeSlotGrid |
NO |
create/get/update/delete_appointment |
Appointment: title, startTime, endTime, status (new/confirmed/cancelled/showed/noshow) |
DetailHeader + KeyValueList + StatusBadge |
YES |
get_appointment_notes |
List of notes with body, userId |
Timeline |
YES |
create/update_block_slot |
Block slot data |
CalendarView |
NO |
get_blocked_slots |
Blocked time ranges |
CalendarView |
NO |
get_calendar_resources_equipments |
Equipment: name, quantity, outOfService, capacity |
DataTable + ResourceCapacityBar |
PARTIALLY |
get_calendar_resources_rooms |
Rooms: name, quantity, capacity |
DataTable |
YES |
get_calendar_notifications |
Notification configs: receiverType, channel, notificationType |
DataTable + StatusBadge |
YES |
Gaps: Calendar/schedule view component. Time slot picker grid. Resource utilization bar.
6. Campaigns (12 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_campaigns |
List: name, type (email/sms/voicemail), status (draft/scheduled/running/completed/paused) |
DataTable + StatusBadge + FilterChips |
YES |
get_campaign |
Full campaign detail |
DetailHeader + KeyValueList |
YES |
get_campaign_stats |
Opens, clicks, bounces, deliveries, unsubscribes |
StatsGrid + MetricCard + FunnelChart |
PARTIALLY |
get_campaign_recipients |
List: status (sent/delivered/opened/clicked/bounced) |
DataTable + StatusBadge |
YES |
start/pause/resume_campaign |
Action confirmations |
ActionButton + ActionBar |
YES |
get_scheduled_messages |
List of scheduled messages |
DataTable + Timeline |
YES |
Gaps: Funnel/waterfall chart for campaign delivery pipeline (sent→delivered→opened→clicked).
7. Companies (5 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_companies |
List: name, phone, email, website, industry, employeeCount, annualRevenue, tags |
DataTable + FilterChips |
YES |
get_company |
Full detail with customFields, address |
DetailHeader + KeyValueList |
YES |
create/update/delete_company |
Confirmation |
ActionButton |
YES |
Covered: YES
8. Contacts (31 tools — second largest)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
search_contacts |
List: firstName, lastName, email, phone, tags, source |
DataTable + SearchBar + FilterChips |
YES |
get_contact |
Full contact detail: all fields, customFields, tags |
DetailHeader + KeyValueList + TagList |
PARTIALLY |
create/update/delete_contact |
Confirmation |
ActionButton |
YES |
add/remove_contact_tags |
Updated tags array |
TagList |
NO |
get_contact_tasks |
List: title, dueDate, completed, assignedTo |
DataTable + StatusBadge + ChecklistView |
PARTIALLY |
create/update_contact_task |
Task detail |
KeyValueList |
YES |
get_contact_notes |
List of notes: body, userId, timestamp |
Timeline |
YES |
get_contact_appointments |
List of appointments |
Timeline + DataTable |
YES |
upsert_contact |
Created/updated contact + isNew flag |
StatusBadge + KeyValueList |
YES |
get_duplicate_contact |
Matched contact or null |
DuplicateCompare |
NO |
get_contacts_by_business |
Contact list filtered by business |
DataTable |
YES |
bulk_update_contact_tags |
Bulk result count |
MetricCard |
YES |
add/remove_contact_followers |
Followers list |
AvatarGroup |
NO |
add/remove_contact_to_campaign/workflow |
Confirmation |
ActionButton |
YES |
Gaps: Tag list/chip display, checklist/task list view, duplicate record comparison side-by-side, avatar group for followers.
9. Conversations (20 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
search_conversations |
List: contactName, lastMessageBody, unreadCount, starred |
DataTable + StatusBadge + SearchBar |
YES |
get_conversation |
Conversation + messages array: type, body, direction, timestamp |
ChatThread + Timeline |
NO |
get_recent_messages |
Enhanced conversations with last message |
DataTable + StatusBadge |
YES |
send_sms/send_email |
Message ID, conversation ID |
ActionButton |
YES |
get_email_message |
Full email: subject, html, from, to, cc, bcc, attachments |
EmailPreview |
NO |
get_message |
Message detail with type, body, status |
KeyValueList + StatusBadge |
YES |
get_message_recording |
Audio data, contentType |
AudioPlayer |
NO |
get_message_transcription |
Transcription text array |
TranscriptView |
NO |
add_inbound_message/add_outbound_call |
Confirmation |
ActionButton |
YES |
Gaps: Chat/message thread view, email preview with HTML rendering, audio player for recordings, transcript viewer.
10. Courses (30 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_courses |
List: title, description, thumbnailUrl, visibility, categoryId |
DataTable + CardGrid |
PARTIALLY |
get_course |
Course detail with all fields |
DetailHeader + KeyValueList |
YES |
get_course_posts |
Lessons: title, contentType (video/text/quiz/assignment), content, visibility |
DataTable + StatusBadge |
YES |
get_course_products |
Products: title, description, imageUrl |
CardGrid |
NO |
get_course_offers |
Pricing: name, price, currency, type (one-time/subscription), interval |
LineItemsTable |
YES |
get_course_enrollments |
List of enrolled contacts |
DataTable |
YES |
get_student_progress |
Progress data: completed lessons, total |
ProgressBar + CourseProgressView |
PARTIALLY |
update_lesson_completion |
Completion status |
StatusBadge |
YES |
get_course_instructors |
List of instructors |
DataTable |
YES |
get_course_categories |
Category list |
DataTable |
YES |
Gaps: Card grid for visual product/course browsing. Course-specific progress view showing lesson-by-lesson completion.
11. Custom Fields V2 (8 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
ghl_get_custom_fields_by_object_key |
Fields array + folders array: name, dataType, options, fieldKey |
DataTable + TreeView (folders) |
PARTIALLY |
ghl_get_custom_field_by_id |
Single field detail |
KeyValueList |
YES |
ghl_create/update/delete_custom_field |
Confirmation |
ActionButton |
YES |
ghl_create/update/delete_custom_field_folder |
Folder management |
ActionButton |
YES |
Gaps: Tree/folder view for hierarchical field organization.
12. Email ISV (1 tool)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
verify_email |
result, risk level, reasons array, recommendation |
StatusBadge + KeyValueList + RiskIndicator |
PARTIALLY |
Gaps: Risk/score indicator (visual gauge or traffic light).
13. Email Tools (5 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_email_campaigns |
List: status (active/pause/complete/cancelled), total |
DataTable + StatusBadge |
YES |
get_email_templates |
List of templates |
DataTable |
YES |
create/update/delete_email_template |
Confirmation |
ActionButton |
YES |
Covered: YES
14. Forms (3 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_forms |
List of forms with type |
DataTable |
YES |
get_form_submissions |
Submissions: contact data, field values, timestamps |
DataTable + FormResponseView |
PARTIALLY |
get_form_by_id |
Form detail |
DetailHeader + KeyValueList |
YES |
Gaps: Form submission viewer showing field labels with submitted values.
15. Funnels (8 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_funnels |
List: name, type (funnel/website), category, steps/pages |
DataTable + FilterChips |
YES |
get_funnel |
Funnel detail with pages |
DetailHeader + KeyValueList + StepFlow |
PARTIALLY |
get_funnel_pages |
Pages: name, path, order |
DataTable + StepFlow |
PARTIALLY |
count_funnel_pages |
Integer count |
MetricCard |
YES |
get_funnel_redirects |
Redirects: pathName, target, action |
DataTable |
YES |
create/update/delete_funnel_redirect |
Confirmation |
ActionButton |
YES |
Gaps: Step/flow visualization showing funnel page sequence.
16. Invoices (20 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
list_invoices |
List: title, status, contactId, currency, amount, dates |
DataTable + StatusBadge + FilterChips |
YES |
get_invoice |
Full invoice: items[], amounts, tax, contact, dates |
DetailHeader + LineItemsTable + KeyValueList + InvoiceDocument |
PARTIALLY |
list_estimates |
List: title, status (draft/sent/accepted/declined/invoiced/viewed) |
DataTable + StatusBadge |
YES |
list_invoice_templates |
Templates list |
DataTable |
YES |
list_invoice_schedules |
Recurring schedule list |
DataTable + StatusBadge |
YES |
send_invoice |
Send confirmation |
ActionButton |
YES |
create_invoice_from_estimate |
New invoice |
ActionButton |
YES |
generate_invoice_number |
Unique number string |
InfoBlock |
YES |
Gaps: Invoice document preview (formatted like a real invoice/PDF).
17. Links (5 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_links |
Trigger links: name, redirectTo, fieldKey, fieldValue |
DataTable |
YES |
get_link |
Link detail |
KeyValueList |
YES |
create/update/delete_link |
Confirmation |
ActionButton |
YES |
Covered: YES
18. Location (27 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
search_locations |
List: name, address, phone, email, website |
DataTable + SearchBar |
YES |
get_location |
Full location detail: name, address, timezone, settings |
DetailHeader + KeyValueList + SplitLayout |
YES |
get_location_tags |
Tag list: name, id |
DataTable + TagList |
PARTIALLY |
search_location_tasks |
Tasks: title, completed, assignedTo, dueDate |
DataTable + StatusBadge |
YES |
get_location_custom_fields |
Fields: name, dataType, model, placeholder |
DataTable |
YES |
get_location_custom_values |
Values: name, value |
KeyValueList |
YES |
get_location_templates |
Templates: type (sms/email/whatsapp), content |
DataTable + FilterChips |
YES |
get_timezones |
Array of timezone strings |
DataTable |
YES |
create/update/delete_location |
Confirmation |
ActionButton |
YES |
Covered: YES (mostly)
19. Media (3 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_media_files |
Files/folders: name, type, size, url, parentId, createdAt |
DataTable + MediaGallery + TreeView |
NO |
upload_media_file |
fileId, url |
ActionButton |
YES |
delete_media_file |
Confirmation |
ActionButton |
YES |
Gaps: Media gallery grid with thumbnails. File/folder tree browser.
20. OAuth (10 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_oauth_apps |
List of OAuth apps |
DataTable |
YES |
get_installed_locations |
Locations with install status |
DataTable + StatusBadge |
YES |
get_connected_integrations |
Connected integrations list |
DataTable + StatusBadge |
YES |
get_api_keys |
API key list |
DataTable |
YES |
| All CUD operations |
Confirmations |
ActionButton |
YES |
Covered: YES
21. Objects (9 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_all_objects |
Objects: labels, key, type (standard/custom) |
DataTable + StatusBadge |
YES |
get_object_schema |
Schema with fields array, properties |
KeyValueList + DataTable |
YES |
search_object_records |
Records with dynamic properties |
DataTable + SearchBar |
YES |
get_object_record |
Record with properties key-value |
KeyValueList |
YES |
create/update/delete |
Confirmations |
ActionButton |
YES |
Covered: YES
22. Opportunities (10 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
search_opportunities |
List: name, status (open/won/lost/abandoned), monetaryValue, pipeline, stage, contact |
DataTable + StatusBadge + FilterChips |
YES |
get_pipelines |
Pipelines with stages array |
PipelineView or KanbanBoard |
PARTIALLY |
get_opportunity |
Full opportunity detail: name, value, stage, contact, customFields |
DetailHeader + KeyValueList + StatusBadge |
YES |
create/update/delete_opportunity |
Confirmations |
ActionButton |
YES |
upsert_opportunity |
Opportunity + isNew flag |
StatusBadge |
YES |
add/remove_opportunity_followers |
Followers list |
AvatarGroup |
NO |
Gaps: KanbanBoard already exists but pipeline view with stages + values needs stage-specific styling. Avatar group for followers.
23. Payments (22 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
list_orders |
Orders: status, amount, contactId, items, dates |
DataTable + StatusBadge + FilterChips |
YES |
get_order_by_id |
Full order: items, totals, contact, fulfillment status |
DetailHeader + LineItemsTable + StatusBadge |
YES |
list_transactions |
Transactions: amount, type, status, dates |
DataTable + StatusBadge + CurrencyDisplay |
PARTIALLY |
get_transaction_by_id |
Transaction detail |
KeyValueList + StatusBadge |
YES |
list_subscriptions |
Subscriptions: status, amount, interval, nextBilling |
DataTable + StatusBadge |
YES |
get_subscription_by_id |
Subscription detail |
KeyValueList + StatusBadge |
YES |
list_coupons |
Coupons: code, discountType, discountValue, status, dates |
DataTable + StatusBadge |
YES |
list_order_fulfillments |
Fulfillments: trackingNumber, carrier, items, status |
DataTable + ShipmentTracker |
PARTIALLY |
create_order_fulfillment |
Fulfillment confirmation |
ActionButton |
YES |
Gaps: Shipment/fulfillment tracking timeline. Currency formatting component.
24. Phone (20 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_phone_numbers |
List: number, name, forwardingNumber, callRecording |
DataTable + StatusBadge |
YES |
search_available_numbers |
Available numbers: number, type, capabilities |
DataTable + FilterChips |
YES |
get_ivr_menus |
IVR menus: name, greeting, options (digit→action→destination) |
DataTable + FlowDiagram |
PARTIALLY |
get_voicemail_settings |
Settings object |
KeyValueList |
YES |
get_voicemails |
List: status (new/read/archived), duration, transcription |
DataTable + StatusBadge + AudioPlayer |
PARTIALLY |
get_caller_ids |
List of verified caller IDs |
DataTable + StatusBadge |
YES |
| All CUD operations |
Confirmations |
ActionButton |
YES |
Gaps: IVR flow diagram, audio player for voicemails.
25. Products (10 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
ghl_list_products |
Products: name, productType, availableInStore, description, image |
DataTable + CardGrid + StatusBadge |
PARTIALLY |
ghl_get_product |
Full product: variants, medias, collections, prices |
DetailHeader + KeyValueList + ImageCarousel |
PARTIALLY |
ghl_list_prices |
Prices: name, amount, currency, type (one_time/recurring), compareAtPrice |
LineItemsTable + CurrencyDisplay |
PARTIALLY |
ghl_list_inventory |
Inventory: availableQuantity, sku, product, allowOutOfStockPurchases |
DataTable + StockIndicator |
PARTIALLY |
ghl_list_product_collections |
Collections: name, slug, image |
CardGrid |
NO |
Gaps: Card grid for product catalog, image carousel, stock level indicator, currency display.
26. Reporting (12 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_attribution_report |
Source tracking: sources, lead counts, conversion rates |
BarChart + DataTable + StatsGrid |
NO |
get_call_reports |
Call metrics: duration, outcomes, inbound/outbound counts |
BarChart + StatsGrid + MetricCard |
NO |
get_appointment_reports |
Appointment stats: booked, confirmed, showed, noshow |
StatsGrid + PieChart + BarChart |
NO |
get_pipeline_reports |
Pipeline performance: stage values, conversion rates |
FunnelChart + StatsGrid + MetricCard |
NO |
get_email_reports |
Email metrics: deliverability, opens, clicks, bounces |
StatsGrid + BarChart + FunnelChart |
NO |
get_sms_reports |
SMS metrics: sent, delivered, failed |
StatsGrid + PieChart |
NO |
get_funnel_reports |
Funnel metrics: page views, conversions, conversion rate |
FunnelChart + StatsGrid |
NO |
get_ad_reports |
Ad performance: impressions, clicks, spend, CPC, conversions |
StatsGrid + LineChart + DataTable |
NO |
get_agent_reports |
Agent performance: calls, emails, appointments, revenue |
DataTable + StatsGrid + BarChart |
NO |
get_dashboard_stats |
Overview stats: contacts, revenue, appointments, tasks |
StatsGrid + MetricCard + SparklineChart |
PARTIALLY |
get_conversion_reports |
Conversion tracking by source |
BarChart + DataTable |
NO |
get_revenue_reports |
Revenue by period: groupBy (day/week/month) |
LineChart + DataTable + MetricCard |
NO |
Gaps: THIS IS THE BIGGEST GAP. Reporting needs: BarChart, LineChart, PieChart, FunnelChart, SparklineChart. None exist.
27. Reputation (14 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_reviews |
Reviews: platform, rating (1-5), text, status (replied/unreplied), date |
DataTable + StarRating + StatusBadge + FilterChips |
PARTIALLY |
get_review_stats |
Aggregate: avg rating, total count, breakdown by rating |
StatsGrid + MetricCard + StarRating + BarChart |
PARTIALLY |
send_review_request |
Confirmation |
ActionButton |
YES |
get_review_requests |
List: status (sent/clicked/reviewed), contact |
DataTable + StatusBadge |
YES |
get_connected_review_platforms |
Platform connections |
DataTable + StatusBadge |
YES |
get_review_links |
Platform-specific links |
KeyValueList |
YES |
reply_to_review |
Reply confirmation |
ActionButton |
YES |
Gaps: Star rating display component. Rating distribution bar chart.
28. SaaS (6 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_saas_locations |
Sub-accounts: name, isActive, subscription status |
DataTable + StatusBadge + FilterChips |
YES |
get_saas_location |
Location detail at agency level |
DetailHeader + KeyValueList |
YES |
pause/enable_saas_location |
Status change |
ActionButton + StatusBadge |
YES |
rebilling_update |
Rebilling config |
KeyValueList |
YES |
Covered: YES
29. Smart Lists (8 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_smart_lists |
List: name, filter criteria |
DataTable |
YES |
get_smart_list |
Detail with filters array |
KeyValueList + FilterBuilder |
PARTIALLY |
get_smart_list_contacts |
Contacts matching criteria |
DataTable |
YES |
get_smart_list_count |
Integer count |
MetricCard |
YES |
create/update/delete/duplicate |
Confirmations |
ActionButton |
YES |
Gaps: Visual filter builder showing filter conditions (though FilterChips covers simple cases).
30. Snapshots (6 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_snapshots |
List: name, description, locationId |
DataTable |
YES |
get_snapshot |
Snapshot detail |
DetailHeader + KeyValueList |
YES |
create_snapshot |
New snapshot |
ActionButton |
YES |
push_snapshot_to_subaccounts |
Push operation with override options |
ActionButton + ChecklistView (overrides) |
PARTIALLY |
get_snapshot_push_status |
Push status/progress |
ProgressBar + StatusBadge |
YES |
Covered: YES (mostly)
31. Social Media (16 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
search_social_posts |
Posts: summary, media[], status, scheduleDate, type (post/story/reel), accounts |
DataTable + StatusBadge + FilterChips |
YES |
get_social_post |
Post detail with media array |
DetailHeader + MediaGallery + KeyValueList |
PARTIALLY |
create_social_post |
New post with media |
ActionButton |
YES |
get_social_accounts |
Connected accounts + groups |
DataTable + AvatarGroup |
PARTIALLY |
get_social_categories/tags |
Category/tag lists |
DataTable + TagList |
PARTIALLY |
get_csv_upload_status |
Upload status list |
DataTable + StatusBadge + ProgressBar |
YES |
start_social_oauth |
OAuth URL/data |
ActionButton |
YES |
Gaps: Media gallery for post media preview, tag list component.
32. Store (17 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
ghl_list_shipping_zones |
Zones: name, countries[], shippingRates[] |
DataTable |
YES |
ghl_get_shipping_zone |
Zone detail with countries/states |
DetailHeader + KeyValueList + DataTable |
YES |
ghl_list_shipping_rates |
Rates: name, amount, currency, conditionType |
DataTable + CurrencyDisplay |
PARTIALLY |
ghl_get_available_shipping_rates |
Available rates for order context |
DataTable + CurrencyDisplay |
PARTIALLY |
ghl_list_shipping_carriers |
Carriers: name, services[], callbackUrl |
DataTable |
YES |
ghl_get_store_setting |
Settings: shippingOrigin, notifications |
KeyValueList |
YES |
| All CUD operations |
Confirmations |
ActionButton |
YES |
Covered: YES (mostly)
33. Surveys (2 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
ghl_get_surveys |
List: survey names, types |
DataTable |
YES |
ghl_get_survey_submissions |
Submissions with meta: total, pagination, field values |
DataTable + FormResponseView |
PARTIALLY |
Gaps: Form/survey response viewer (same as forms).
34. Templates (16 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_sms_templates |
List: name, body (with merge fields) |
DataTable |
YES |
get_email_templates |
(from email-tools) |
DataTable |
YES |
get_voicemail_templates |
List: name, audioUrl |
DataTable |
YES |
get_social_templates |
List: name, content, platforms |
DataTable |
YES |
get_whatsapp_templates |
List: name, category, language, status (approved/pending/rejected), components |
DataTable + StatusBadge |
YES |
get_snippets |
List: name, shortcut, content, type |
DataTable + FilterChips |
YES |
| All CUD operations |
Confirmations |
ActionButton |
YES |
Covered: YES
35. Triggers (11 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_triggers |
List: name, type, status (active/inactive), filters, actions |
DataTable + StatusBadge + FilterChips |
YES |
get_trigger |
Trigger detail with filters[] and actions[] |
DetailHeader + KeyValueList + FlowDiagram |
PARTIALLY |
get_trigger_types |
Available trigger type definitions |
DataTable |
YES |
get_trigger_logs |
Execution logs: status (success/failed), timestamps |
DataTable + StatusBadge + Timeline |
YES |
test/duplicate_trigger |
Confirmations |
ActionButton |
YES |
Gaps: Flow diagram for trigger logic (condition → action visualization).
36. Users (6 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_users |
List: firstName, lastName, email, phone, role, type |
DataTable + FilterChips |
YES |
get_user |
User detail with permissions |
DetailHeader + KeyValueList |
YES |
search_users |
Search results |
DataTable + SearchBar |
YES |
create/update/delete_user |
Confirmations |
ActionButton |
YES |
Covered: YES
37. Webhooks (9 tools)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
get_webhooks |
List: name, url, events[], active |
DataTable + StatusBadge |
YES |
get_webhook |
Detail with events |
DetailHeader + KeyValueList |
YES |
get_webhook_events |
Available event types list |
DataTable |
YES |
get_webhook_logs |
Delivery logs: status (success/failed/pending), timestamps |
DataTable + StatusBadge + Timeline |
YES |
retry/test_webhook |
Confirmations |
ActionButton |
YES |
Covered: YES
38. Workflows (1 tool)
| Tool |
Data Returned |
Ideal UI Components |
Covered? |
ghl_get_workflows |
List: name, status, type |
DataTable + StatusBadge |
YES |
Covered: YES
Part 2: Gap Analysis — Missing Components
HIGH Priority (needed by 5+ endpoint categories)
| # |
Component |
What It Does |
GHL Endpoints That Need It |
Priority |
| 1 |
BarChart |
Horizontal/vertical bar chart for comparing categories (e.g., source attribution, agent performance) |
Reporting (attribution, calls, appointments, emails, agents, conversions), Reputation (rating distribution), Affiliates (stats) |
HIGH |
| 2 |
LineChart |
Time-series line chart for trends (revenue over time, ad performance) |
Reporting (ad reports, revenue reports), Campaigns (stats over time), Affiliates (earnings trend) |
HIGH |
| 3 |
PieChart / DonutChart |
Proportional breakdown (appointment statuses, SMS delivery, review platforms) |
Reporting (appointment reports, SMS reports), Reputation (platform breakdown), Campaigns (recipient statuses) |
HIGH |
| 4 |
CurrencyDisplay |
Formatted monetary value with currency symbol, locale formatting (e.g., "$1,234.56 USD") |
Affiliates (commissions, payouts), Payments (orders, transactions, subscriptions), Invoices, Products (prices), Opportunities (monetaryValue), Store (shipping rates) |
HIGH |
| 5 |
TagList |
Visual tag/chip display for arrays of tags — inline colored pills |
Contacts (tags), Location (tags), Social Media (tags), Blog (tags), Companies (tags) |
HIGH |
| 6 |
CardGrid |
Grid of visual cards with image, title, description — for browsable catalogs |
Products (product list), Courses (course list, course products), Blog (sites), Social Media (accounts), Media (gallery) |
HIGH |
| 7 |
AvatarGroup |
Stacked circular avatars for users/followers/team members |
Contacts (followers), Opportunities (followers), Social Media (accounts), Calendar (assigned users) |
HIGH |
MEDIUM Priority (needed by 2-4 endpoint categories)
| # |
Component |
What It Does |
GHL Endpoints That Need It |
Priority |
| 8 |
FunnelChart |
Horizontal funnel/waterfall showing conversion stages with drop-off |
Reporting (pipeline reports, funnel reports), Campaigns (sent→delivered→opened→clicked) |
MEDIUM |
| 9 |
CalendarView |
Monthly/weekly/daily calendar with event blocks and time slots |
Calendar (events, free slots, blocked slots), Appointments (scheduling views) |
MEDIUM |
| 10 |
ChatThread |
Conversation message thread with bubbles, timestamps, direction (in/out), multi-type (SMS, email, call) |
Conversations (get_conversation messages), Contact detail (conversation tab) |
MEDIUM |
| 11 |
MediaGallery |
Grid of image/video thumbnails with lightbox, file info overlay |
Media (file listing), Products (medias), Social Media (post media), Blog (images) |
MEDIUM |
| 12 |
StarRating |
Visual star display (1-5) with average + count, and optional distribution bar |
Reputation (reviews, review stats), Products (product reviews) |
MEDIUM |
| 13 |
AudioPlayer |
Inline audio player with play/pause, seek, duration display |
Conversations (call recordings), Phone (voicemails), Templates (voicemail templates) |
MEDIUM |
| 14 |
SparklineChart |
Tiny inline chart for embedding in MetricCard or table cells — shows trend direction |
Reporting (dashboard stats), any metric that has historical data |
MEDIUM |
| 15 |
FlowDiagram |
Simple node→arrow→node flow visualization for sequential/conditional logic |
Triggers (condition→action flow), Phone (IVR menu options), Funnels (page flow) |
MEDIUM |
| 16 |
TreeView |
Hierarchical expandable tree for folders/parent-child structures |
Media (file/folder browser), Custom Fields V2 (folders), Course categories |
MEDIUM |
LOW Priority (needed by 1-2 endpoint categories)
| # |
Component |
What It Does |
GHL Endpoints That Need It |
Priority |
| 17 |
EmailPreview |
Rendered HTML email preview in a safe iframe/container with header info (from, to, subject) |
Conversations (email messages), Email templates preview |
LOW |
| 18 |
ContentPreview |
Rich HTML/text content preview (sanitized) for blog posts, course content |
Blog (post content), Courses (lesson content) |
LOW |
| 19 |
ChecklistView |
Task/checklist with checkbox, title, due date, assignee — for to-do style lists |
Contacts (tasks), Location (tasks), Snapshots (override checklist) |
LOW |
| 20 |
StockIndicator |
Visual stock level indicator (green/yellow/red) with quantity display |
Products (inventory levels) |
LOW |
| 21 |
DuplicateCompare |
Side-by-side comparison of two records highlighting differences |
Contacts (duplicate detection) |
LOW |
| 22 |
TranscriptView |
Time-stamped conversation transcript with speaker labels |
Conversations (call transcriptions) |
LOW |
Part 3: Updated Full Component Catalog
Layout Components (5 existing)
| Component |
Description |
PageHeader |
Page title, breadcrumbs, primary actions |
Card |
Content container with optional header/footer |
StatsGrid |
Grid layout for multiple metric cards |
SplitLayout |
Two-panel layout (master/detail, sidebar) |
Section |
Titled section with collapsible content |
Data Display Components (12 existing + 10 new = 22)
| Component |
Description |
Status |
DataTable |
Sortable, paginated table with column config |
Existing |
KanbanBoard |
Drag-and-drop columns (pipelines, stages) |
Existing |
MetricCard |
Single KPI with value, label, trend indicator |
Existing |
StatusBadge |
Colored pill showing entity status |
Existing |
Timeline |
Vertical timeline of events/activities |
Existing |
ProgressBar |
Horizontal progress indicator |
Existing |
InfoBlock |
Key message/notice display |
Existing |
TagList |
NEW — Colored tag pills for arrays of tags |
New |
CardGrid |
NEW — Image+title+desc grid for browsable catalogs |
New |
AvatarGroup |
NEW — Stacked circular avatar icons for users/followers |
New |
CurrencyDisplay |
NEW — Formatted monetary value with currency code |
New |
StarRating |
NEW — Star display (1-5) with average, count, distribution |
New |
AudioPlayer |
NEW — Inline audio player with controls |
New |
StockIndicator |
NEW — Stock level visual (quantity + color coding) |
New |
TreeView |
NEW — Hierarchical expandable folder/tree structure |
New |
MediaGallery |
NEW — Thumbnail grid with lightbox for files/images |
New |
ChecklistView |
NEW — Task/to-do checklist with status, due dates |
New |
Chart Components (0 existing + 5 new = 5)
| Component |
Description |
Status |
BarChart |
NEW — Vertical/horizontal bar chart for category comparison |
New |
LineChart |
NEW — Time-series line chart for trends |
New |
PieChart |
NEW — Proportional breakdown (pie or donut) |
New |
FunnelChart |
NEW — Horizontal funnel showing stage-by-stage drop-off |
New |
SparklineChart |
NEW — Tiny inline chart for embedding in cards/tables |
New |
Detail View Components (3 existing + 4 new = 7)
| Component |
Description |
Status |
DetailHeader |
Entity header with name, status, avatar, primary actions |
Existing |
KeyValueList |
Label-value pairs for entity details |
Existing |
LineItemsTable |
Table with quantity, price, subtotals for invoices/orders |
Existing |
ChatThread |
NEW — Conversation message bubbles with timestamps and direction |
New |
EmailPreview |
NEW — Rendered HTML email in safe container with header info |
New |
ContentPreview |
NEW — Rich HTML/text content preview (sanitized) |
New |
TranscriptView |
NEW — Time-stamped transcript with speaker labels |
New |
Interactive Components (5 existing + 1 new = 6)
| Component |
Description |
Status |
SearchBar |
Search input with debounce and submit |
Existing |
FilterChips |
Toggleable filter pills for status/type/etc. |
Existing |
TabGroup |
Tab navigation for sectioned views |
Existing |
ActionButton |
Primary/secondary/danger action buttons |
Existing |
ActionBar |
Grouped action buttons (toolbar) |
Existing |
DuplicateCompare |
NEW — Side-by-side record comparison with diff highlights |
New |
Visualization Components (0 existing + 3 new = 3)
| Component |
Description |
Status |
CalendarView |
NEW — Month/week/day calendar with event blocks |
New |
FlowDiagram |
NEW — Node→arrow→node sequential/conditional flow |
New |
Part 4: Summary Stats
| Metric |
Value |
| Total tool files analyzed |
38 |
| Total individual tools (endpoints) |
~365 |
| Tools fully covered by current 20 components |
~220 (60%) |
| Tools partially covered |
~105 (29%) |
| Tools NOT covered (need new components) |
~40 (11%) |
| Existing components |
20 |
| New components needed |
22 |
| Updated total component count |
42 |
| Biggest gap area |
Reporting (12 tools, zero chart coverage) |
| Most-needed new component |
BarChart (used by 9+ tool categories) |
| Second most-needed |
CurrencyDisplay (used by 6+ tool categories) |
Coverage Heat Map by Category
| Category |
Tools |
Fully Covered |
Partially |
Not Covered |
| Affiliates |
17 |
13 |
4 |
0 |
| Associations |
10 |
9 |
1 |
0 |
| Blog |
7 |
5 |
2 |
0 |
| Businesses |
5 |
4 |
1 |
0 |
| Calendar |
38 |
28 |
7 |
3 |
| Campaigns |
12 |
10 |
2 |
0 |
| Companies |
5 |
5 |
0 |
0 |
| Contacts |
31 |
22 |
6 |
3 |
| Conversations |
20 |
11 |
5 |
4 |
| Courses |
30 |
22 |
6 |
2 |
| Custom Fields V2 |
8 |
7 |
1 |
0 |
| Email ISV |
1 |
0 |
1 |
0 |
| Email Tools |
5 |
5 |
0 |
0 |
| Forms |
3 |
2 |
1 |
0 |
| Funnels |
8 |
6 |
2 |
0 |
| Invoices |
20 |
17 |
3 |
0 |
| Links |
5 |
5 |
0 |
0 |
| Location |
27 |
25 |
2 |
0 |
| Media |
3 |
1 |
0 |
2 |
| OAuth |
10 |
10 |
0 |
0 |
| Objects |
9 |
9 |
0 |
0 |
| Opportunities |
10 |
8 |
1 |
1 |
| Payments |
22 |
17 |
4 |
1 |
| Phone |
20 |
14 |
4 |
2 |
| Products |
10 |
4 |
4 |
2 |
| Reporting |
12 |
1 |
1 |
10 |
| Reputation |
14 |
9 |
5 |
0 |
| SaaS |
6 |
6 |
0 |
0 |
| Smart Lists |
8 |
7 |
1 |
0 |
| Snapshots |
6 |
5 |
1 |
0 |
| Social Media |
16 |
11 |
5 |
0 |
| Store |
17 |
14 |
3 |
0 |
| Surveys |
2 |
1 |
1 |
0 |
| Templates |
16 |
16 |
0 |
0 |
| Triggers |
11 |
8 |
3 |
0 |
| Users |
6 |
6 |
0 |
0 |
| Webhooks |
9 |
9 |
0 |
0 |
| Workflows |
1 |
1 |
0 |
0 |
Priority Build Order (what to build first for max coverage)
- BarChart + LineChart + PieChart → unlocks all 12 Reporting tools + improves Campaigns, Affiliates, Reputation
- CurrencyDisplay → improves Payments, Invoices, Products, Affiliates, Opportunities, Store
- TagList → improves Contacts, Companies, Social Media, Blog, Location
- CardGrid → improves Products, Courses, Media, Blog
- ChatThread → unlocks Conversations properly
- CalendarView → unlocks Calendar events/scheduling properly
- AvatarGroup → improves Contacts, Opportunities, Social Media
- FunnelChart → completes Reporting + Campaigns
- MediaGallery + TreeView → unlocks Media library properly
- StarRating → improves Reputation management