growably_* — Growably / LeadConnector CRM

The Growably (LeadConnector) CRM tool namespace — contacts, opportunities, conversations, tags, notes, messaging, and workflow triggers, with the confirm-before-send rules.

Growably (a LeadConnector/GoHighLevel CRM) is the contact and pipeline system. The namespace splits cleanly into reads (growably_get over many entity types), safe writes (notes, tags, contact upserts), and outbound actions (messages, workflow triggers) that touch customers and therefore require confirmation first.

Reading — growably_get

One read tool, many entity types. entity_type selects what you’re listing or fetching.

growably_get(entity_type, id=None, query=None, pipeline_id=None,
             stage_id=None, contact_id=None, calendar_id=None,
             start_time=None, end_time=None, limit=20,
             start_after=None, start_after_id=None)
entity_typeReturnsKey filters
contactContactsquery (search), id
opportunityOpportunitiespipeline_id, stage_id, id
pipelineAll pipelines (for discovering pipeline/stage IDs)
conversationConversationscontact_id, id
conversation_messagesMessages in a conversationid (required)
contact_notes / contact_tasksNotes/tasks for a contactid = contact_id
calendar / calendar_eventCalendars / eventscalendar_id, start_time, end_time
workflowWorkflows (for discovering workflow IDs)
tag / custom_field / pipelineTags / custom fields / pipelines
form / form_submission / survey / invoice / locationAs namedid as form_id for submissions

limit defaults to 20 (max 100). Paginate with start_after / start_after_id from the previous response’s meta. Discover the ID-bearing entities (pipeline, workflow, custom_field) first when you need their IDs for the write tools below.

Safe writes

growably_upsert_contact

Create or update a contact, matched by email/phone. If a contact with the same email or phone exists it’s updated; otherwise created.

growably_upsert_contact(first_name, last_name=None, email=None, phone=None,
                        tags=None, source=None, custom_fields=None)

custom_fields format: [{"id": "<field_id>", "value": "<value>"}] — discover field IDs with growably_get(entity_type="custom_field").

growably_update

growably_update(entity_type, id, data)

entity_type is contact or opportunity. Don’t update tags through data here — it can overwrite the existing tag set. Use growably_manage_tags.

growably_manage_tags

Add or remove tags via the dedicated tag endpoints, which don’t clobber the existing set.

growably_manage_tags(contact_id, action, tags)

action is "add" or "remove"; tags is a list of strings.

growably_add_note

growably_add_note(contact_id, body)

growably_create_opportunity

growably_create_opportunity(name, pipeline_id, stage_id, contact_id,
                            monetary_value=None, status="open")

Discover pipeline_id / stage_id with growably_get(entity_type="pipeline"). status is one of open, won, lost, abandoned.

Outbound actions (confirm first)

growably_send_message

Send a message to a contact. Confirm with Wayne first — messages can’t be recalled.

growably_send_message(contact_id, message, type="SMS", subject=None,
                      email_from=None)

type is one of SMS (default), Email, GMB, WhatsApp, IG, FB, Custom. subject is required when type="Email"; email_from optionally overrides the sender.

growably_trigger_workflow

Enroll a contact in a workflow. Confirm first for any workflow that sends customer communications.

growably_trigger_workflow(contact_id, workflow_id)

Discover workflow_id with growably_get(entity_type="workflow").