We're live in beta — earn up to 12,000 credits by signing up today. Get started

LeadConnector MCP
for AI agents

FloConnector is a hosted LeadConnector MCP server. Securely connect Claude, ChatGPT and other AI clients to LeadConnector. Ask in plain English; it runs the 117 tools for you, behind one endpoint, with you deciding what it can touch.

Beta. Connect it today and every tool below is live. It is new enough that we are still testing it against real LeadConnector accounts, so tell us if something looks off and we will fix it fast.

Built in-house. We wrote this connector ourselves and call LeadConnector directly, with no third party in the path. Nothing in a request or response is retained by anyone but LeadConnector.

Single connection. One LeadConnector organisation per workspace. Connect another in a separate workspace.

Tools

Everything your AI can do in LeadConnector

117 tools your agent gets the moment LeadConnector is connected.

117 tools

  • search_contacts read

    Search contacts

    Search this sub-account's contacts by free text (name, email, or phone). Returns a page of contacts with a cursor for the next page.

  • get_contact read

    Get contact

    Fetch a single contact by id, including tags, custom fields and DND settings.

  • create_contact write

    Create contact

    Create a contact in this sub-account. Only locationId is strictly required, but supply at least a name, email or phone.

  • update_contact write

    Update contact

    Update a contact's fields. Note: supplying tags REPLACES all existing tags — use leadconnector_add_contact_tags / leadconnector_remove_contact_tags to change them incrementally.

  • delete_contact write

    Delete contact

    Permanently delete a contact from this sub-account.

  • add_contact_tags write

    Add contact tags

    Add one or more tags to a contact, leaving existing tags in place.

  • remove_contact_tags write

    Remove contact tags

    Remove one or more tags from a contact.

  • add_contact_note write

    Add contact note

    Attach a note to a contact.

  • list_contact_notes read

    List contact notes

    List all notes attached to a contact.

  • create_contact_task write

    Create contact task

    Create a task against a contact.

  • list_contact_tasks read

    List contact tasks

    List all tasks against a contact.

  • complete_contact_task write

    Complete contact task

    Mark a contact's task complete (or reopen it by passing completed=false).

  • list_contact_appointments read

    List contact appointments

    List a contact's calendar appointments.

  • add_contact_to_campaign write

    Add contact to campaign

    Enrol a contact into a marketing campaign, which is what actually sends them its emails and messages. Get the campaignId from leadconnector_list_campaigns. The campaign itself is built in LeadConnector; this puts a contact through it.

  • remove_contact_from_campaign write

    Remove contact from campaign

    Take a contact out of one marketing campaign, stopping its remaining messages to them.

  • remove_contact_from_all_campaigns write

    Remove contact from every campaign

    Take a contact out of EVERY marketing campaign at once, stopping all further campaign messages to them. Use for an opt-out or complaint; prefer leadconnector_remove_contact_from_campaign to stop just one.

  • add_contact_to_workflow write

    Add contact to workflow

    Enrol a contact into an automation workflow — the multi-step nurture sequences that send emails and SMS on a schedule. Get the workflowId from leadconnector_list_workflows.

  • remove_contact_from_workflow write

    Remove contact from workflow

    Take a contact out of an automation workflow, stopping its remaining steps for them.

  • search_conversations read

    Search conversations

    Search this sub-account's conversations, optionally filtered by contact, assignee or read/unread state.

  • get_conversation read

    Get conversation

    Fetch a single conversation by id, including its contact, channel type and unread count.

  • list_messages read

    List conversation messages

    List messages in a conversation, newest first. Paginate by passing the returned lastMessageId; the response's nextPage flag says whether more remain.

  • send_message write

    Send message

    Send an outbound message to a contact. For SMS/WhatsApp supply `message`; for Email supply `subject` plus `html` or `message`. The conversation is resolved from the contact.

  • list_calendars read

    List calendars

    List this sub-account's calendars. Call this first to get the calendarId needed to check availability or book, and to read each calendar's teamMembers — booking requires an assignedUserId drawn from that list.

  • get_free_slots read

    Get free slots

    Get a calendar's available appointment slots in a date range. Returns availability keyed by date (YYYY-MM-DD). The range cannot exceed 31 days.

  • list_calendar_events read

    List calendar events

    List booked appointments and events in a date range. One of calendarId, userId or groupId must be supplied.

  • book_appointment write

    Book appointment

    Book an appointment on a calendar for a contact. Check availability with leadconnector_get_free_slots first, unless you pass ignoreFreeSlotValidation.

  • update_appointment write

    Update appointment

    Update or reschedule an appointment. Pass startTime (and optionally endTime) to move it. For recurring appointments, pass the master event id to change the whole series.

  • cancel_appointment write

    Cancel appointment

    Cancel an appointment, keeping it on the calendar with a cancelled status (the record and its history are preserved).

  • list_pipelines read

    List pipelines

    List this sub-account's opportunity pipelines and their stages. Call this first to get the pipelineId and pipelineStageId needed to create or move an opportunity.

  • search_opportunities read

    Search opportunities

    Search this sub-account's opportunities, optionally filtered by pipeline, stage, status, contact or assignee.

  • get_opportunity read

    Get opportunity

    Fetch a single opportunity by id.

  • create_opportunity write

    Create opportunity

    Create an opportunity (deal) in a pipeline. Get pipelineId and pipelineStageId from leadconnector_list_pipelines first.

  • update_opportunity write

    Update opportunity

    Update an opportunity's name, stage, value or assignee. To change only the status, use leadconnector_update_opportunity_status.

  • update_opportunity_status write

    Update opportunity status

    Set an opportunity's status (open, won, lost or abandoned). Supply lostReasonId when marking it lost.

  • delete_opportunity write

    Delete opportunity

    Permanently delete an opportunity.

  • get_location read

    Get sub-account

    Fetch this LeadConnector sub-account's details — business name, address, timezone, contact details and settings.

  • list_custom_fields read

    List custom fields

    List the sub-account's custom field DEFINITIONS. Call this before setting customFields on a contact or opportunity — it returns each field's id, fieldKey and dataType, which is what those writes need.

  • list_custom_values read

    List custom values

    List the sub-account's custom VALUES — account-wide merge fields (e.g. {{ custom_values.booking_link }}) used in templates and messages. These are per-sub-account constants, not per-contact data.

  • list_location_tags read

    List tags

    List every tag defined in this sub-account. Useful before tagging a contact, so the model reuses an existing tag rather than creating a near-duplicate.

  • list_invoices read

    List invoices

    List this sub-account's invoices, optionally filtered by status, contact, date range or free-text search.

  • get_invoice read

    Get invoice

    Fetch a single invoice by id, including its line items, totals and amount due. A VOIDED invoice cannot be fetched here and returns 'Invoice not found' — that means voided, not deleted; find it via leadconnector_list_invoices with status 'void'.

  • generate_invoice_number read

    Generate invoice number

    Get the next available invoice number for this sub-account. Use before leadconnector_create_invoice if you want an explicit number.

  • create_invoice write

    Create invoice

    Create a draft invoice for a contact. Use leadconnector_get_contact first to get the contact's id, name, email and phone — all four are required. The invoice is created as a draft; send it with leadconnector_send_invoice.

  • update_invoice write

    Update invoice

    Update an existing invoice. Line items, issue date and due date must all be supplied.

  • send_invoice write

    Send invoice

    Send an invoice to its recipients by email, SMS, or both. Email delivery is reliable; the SMS actions require the sub-account to have bought a phone number, and silently deliver nothing without one — prefer 'email' unless you know a number is configured. Use 'send_manually' to mark it sent without contacting anyone. Requires the id of the user sending it — get one from leadconnector_list_users.

  • void_invoice write

    Void invoice

    Void a SENT invoice. The record is kept but the invoice is no longer payable. A draft cannot be voided (delete it instead), and neither can an invoice that has already taken a payment. After voiding, the invoice can no longer be fetched by id — leadconnector_get_invoice returns 'Invoice not found'. It is still listed by leadconnector_list_invoices with status 'void', which is the way to confirm the void succeeded. This response already carries the final voided state.

  • delete_invoice write

    Delete invoice

    Permanently delete a DRAFT invoice. Only drafts can be deleted — LeadConnector refuses anything already sent, paid or voided. To stop a sent invoice being payable, use leadconnector_void_invoice instead.

  • record_invoice_payment write

    Record invoice payment

    Record a manual (offline) payment against an invoice — cash, cheque, card, bank transfer or other. This does not charge anything; it marks money already received.

  • create_text2pay_link write

    Create Text2Pay link

    Create a Text2Pay invoice and get back a payable link (invoiceUrl) for the contact. The link in the response is the dependable output — pass it on yourself. action:'send' delivers by SMS and requires the sub-account to have bought a phone number; without one it reports success and silently sends nothing, so prefer 'draft' and share the link. Note the response reports status 'draft' even when the invoice has already moved to 'sent'.

  • list_estimates read

    List estimates

    List this sub-account's estimates (quotes), optionally filtered by status, contact, date range or free-text search.

  • generate_estimate_number read

    Generate estimate number

    Get the next available estimate number for this sub-account. Use before leadconnector_create_estimate if you want an explicit number.

  • create_estimate write

    Create estimate

    Create a draft estimate (quote) for a contact. Use leadconnector_get_contact first — the contact's id, name, email and phone are all required. Send it with leadconnector_send_estimate, and turn an accepted one into an invoice with leadconnector_create_invoice_from_estimate.

  • update_estimate write

    Update estimate

    Update an existing estimate. Line items, issue date and expiry date must all be supplied — this is a full restatement, not a patch.

  • send_estimate write

    Send estimate

    Send an estimate to its contact by email and/or SMS. Email delivery is reliable; the SMS actions require the sub-account to have bought a phone number and deliver nothing without one. Use 'send_manually' to mark it sent WITHOUT contacting anyone.

  • update_estimate_status write

    Update estimate status

    Set an estimate's status — most usefully to 'accepted' or 'declined' once the customer has decided. An estimate MUST be 'accepted' before leadconnector_create_invoice_from_estimate will convert it. Note an accepted estimate becomes read-only, so make any edits first.

  • create_invoice_from_estimate write

    Create invoice from estimate

    Convert an ACCEPTED estimate into a real invoice, and return the new invoice. The estimate must already be at status 'accepted' (use leadconnector_update_estimate_status) — otherwise this fails with 'Estimate is not accepted'. The new invoice is created as a draft; send it with leadconnector_send_invoice.

  • delete_estimate write

    Delete estimate

    Permanently delete an estimate.

  • list_estimate_templates read

    List estimate templates

    List this sub-account's reusable estimate templates.

  • create_estimate_template write

    Create estimate template

    Create a reusable estimate template for this sub-account.

  • update_estimate_template write

    Update estimate template

    Update an estimate template. Line items are a full restatement, not a patch.

  • delete_estimate_template write

    Delete estimate template

    Permanently delete an estimate template.

  • list_invoice_schedules read

    List recurring invoice schedules

    List this sub-account's recurring invoice schedules, optionally filtered by status, date range or free-text search.

  • get_invoice_schedule read

    Get recurring invoice schedule

    Fetch one recurring invoice schedule, including its recurrence rule, line items and the invoices it has generated.

  • create_invoice_schedule write

    Create recurring invoice schedule

    Create a recurring invoice schedule as a DRAFT — it does not bill anyone until leadconnector_start_invoice_schedule is called. Use leadconnector_get_contact first; the contact's id, name, email and phone are all required. Which recurrence fields you must supply depends on intervalType: daily needs none, weekly needs dayOfWeek, monthly needs dayOfMonth + dayOfWeek + numOfWeek, and yearly needs those plus monthOfYear.

  • update_invoice_schedule write

    Update recurring invoice schedule

    Update a DRAFT recurring invoice schedule. Line items and the recurrence rule are a full restatement, not a patch. To change a schedule that is already running, use leadconnector_reschedule_invoice_schedule.

  • start_invoice_schedule write

    Start recurring invoice schedule

    Activate a draft schedule so LeadConnector begins issuing invoices on its recurrence rule. This is the point at which a real customer starts being billed — check the schedule with leadconnector_get_invoice_schedule first. Optionally enable auto-payment against a saved card.

  • reschedule_invoice_schedule write

    Update a running recurring invoice schedule

    Change a schedule that is ALREADY running and re-apply its recurrence in one call, without cancelling it. Line items and the recurrence rule are a full restatement, not a patch. Use leadconnector_update_invoice_schedule while a schedule is still a draft.

  • manage_invoice_schedule_autopayment write

    Manage recurring invoice auto-payment

    Turn auto-payment on or off for a running schedule, so each generated invoice is charged to a saved card instead of emailed for manual payment.

  • cancel_invoice_schedule write

    Cancel recurring invoice schedule

    Stop a running schedule so no further invoices are issued. Invoices it has already generated are unaffected — cancel stops future billing, it does not refund or void anything.

  • delete_invoice_schedule write

    Delete recurring invoice schedule

    Permanently delete a recurring invoice schedule.

  • list_orders read

    List orders

    List this sub-account's payment orders, optionally filtered by status, contact or date range.

  • get_order read

    Get order

    Fetch a single payment order by id, including its line items and contact snapshot.

  • list_transactions read

    List transactions

    List this sub-account's payment transactions, optionally filtered by contact, subscription or date range.

  • get_transaction read

    Get transaction

    Fetch a single payment transaction by id.

  • list_subscriptions read

    List subscriptions

    List this sub-account's recurring payment subscriptions.

  • list_products read

    List products

    List this sub-account's products.

  • get_product read

    Get product

    Fetch a single product by id or slug, including its variants.

  • create_product write

    Create product

    Create a product in this sub-account. Add prices afterwards with leadconnector_create_price.

  • update_product write

    Update product

    Update a product. This is a FULL REPLACE — name and productType must always be supplied, so read the product first with leadconnector_get_product and resend every field you want to keep.

  • delete_product write

    Delete product

    Permanently delete a product.

  • list_prices read

    List product prices

    List the prices defined for a product.

  • create_price write

    Create product price

    Add a price to a product. Use type 'recurring' for subscriptions, 'one_time' for a single charge.

  • list_social_accounts read

    List social accounts

    List the social media accounts connected to this sub-account, with each one's health: isExpired, expire (when the platform token lapses) and deleted. Use it to check whether posting will work before attempting it, and to get the account ids that creating a post requires. Reconnecting an expired account is done by the user in LeadConnector; this reports status, it cannot repair it.

  • list_social_posts read

    List social posts

    List social posts in a date window. Both fromDate and toDate are required — there is no unbounded listing.

  • get_social_post read

    Get social post

    Fetch a single social post by id.

  • create_social_post write

    Create social post

    Create a social media post across one or more connected accounts. Get accountIds from leadconnector_list_social_accounts and a userId from leadconnector_list_users. Set scheduleDate to schedule it.

  • update_social_post write

    Update social post

    Update an existing social post — its text, media, schedule or status. This is a RE-STATEMENT, not a patch: accountIds and userId must be supplied every time, even when unchanged.

  • delete_social_post write

    Delete social post

    Delete a draft or scheduled social post. It CANNOT retract a post that has already been published: LeadConnector returns success but the post stays live on the platform and in the list. To remove a published post, the user must delete it in the social network itself.

  • list_blog_sites read

    List blog sites

    List this sub-account's blogs. Call this first — every other blog operation needs a blogId.

  • list_blog_posts read

    List blog posts

    List posts on a blog, all statuses by default. Get the blogId from leadconnector_list_blog_sites.

  • list_blog_categories read

    List blog categories

    List blog categories for this sub-account. Their ids are required when creating a post.

  • list_blog_authors read

    List blog authors

    List blog authors for this sub-account. An author id is required when creating a post.

  • check_blog_slug read

    Check blog URL slug

    Check whether a blog post URL slug is already taken. Use before leadconnector_create_blog_post to avoid a clash.

  • create_blog_post write

    Create blog post

    Publish a blog post. LeadConnector requires ALL of these: title, blogId, imageUrl, description, rawHTML, status, imageAltText, categories, author, urlSlug and publishedAt. Gather ids from leadconnector_list_blog_sites, leadconnector_list_blog_categories and leadconnector_list_blog_authors first.

  • update_blog_post write

    Update blog post

    Update a blog post. Like create, this is a FULL REPLACE — every required field must be resent, not just the ones you are changing.

  • create_email_template write

    Create email template

    Create an email template in this sub-account's builder, then set its content with leadconnector_update_email_template. Templates are what campaigns and workflows send, so this is how an email is authored for marketing use. Note it does NOT send anything on its own.

  • update_email_template write

    Update email template content

    Set an email template's HTML body. Supply complete, self-contained HTML with inline CSS — email clients strip stylesheets, and remote images are blocked by default, so prefer text and background colours over images. Returns a previewUrl you can share to show how it renders.

  • delete_email_template write

    Delete email template

    Permanently delete an email template from the builder.

  • list_email_templates read

    List email templates

    List this sub-account's email builder templates.

  • list_email_campaigns read

    List email campaigns

    List this sub-account's email campaigns and their schedules. Set showStats to include each campaign's performance — delivered, opened and clicked counts plus revenue. This is the ONLY way to read email campaign statistics; LeadConnector (GoHighLevel) exposes no separate stats endpoint to a sub-account.

  • list_users read

    List users

    List the users (staff) in this sub-account. Needed to get a userId for sending invoices, creating Text2Pay links and creating social posts.

  • get_user read

    Get user

    Fetch a single user by id, including their roles and permissions.

  • list_workflows read

    List workflows

    List this sub-account's automation workflows and their statuses.

  • list_campaigns read

    List campaigns

    List this sub-account's campaigns.

  • list_forms read

    List forms

    List this sub-account's forms.

  • list_form_submissions read

    List form submissions

    List form submissions, newest first, optionally for one form or date range. Covers all history unless a date range is given.

  • list_surveys read

    List surveys

    List this sub-account's surveys.

  • list_survey_submissions read

    List survey submissions

    List survey submissions, newest first, optionally for one survey or date range. Covers all history unless a date range is given.

  • list_trigger_links read

    List trigger links

    List this sub-account's trigger links (trackable redirect links usable in messages and emails).

  • create_trigger_link write

    Create trigger link

    Create a trackable trigger link that redirects to a target URL.

  • list_businesses read

    List businesses

    List the businesses defined in this sub-account (used to group contacts by company).

  • list_object_schemas read

    List custom object schemas

    List this sub-account's custom object types. Their keys are needed to search records — custom objects carry a 'custom_objects.' prefix.

  • search_object_records read

    Search custom object records

    Search records of a custom object. Get the schemaKey from leadconnector_list_object_schemas (custom objects are prefixed 'custom_objects.'). Query syntax is property:value, e.g. name:Buddy.

  • list_funnels read

    List funnels

    List this sub-account's funnels.

  • list_media read

    List media files

    List files in this sub-account's media library, including files inside folders. Returns each file's public URL, which is what attaching media to a social post needs. Pass type 'folder' to browse the folder structure instead.

  • upload_media write

    Upload media from a URL

    Register a file that is already on a public URL into this sub-account's media library, so it can be found later and attached to a social or blog post. IMPORTANT: this does NOT copy the file into LeadConnector — the library entry points at the original URL, so if that URL stops working the media breaks. Prefer a stable, permanent source. A local file cannot be uploaded through this connection.

  • delete_media write

    Delete media

    Permanently delete a file or folder from this sub-account's media library. Deleting a folder removes what is inside it.

Questions, answered

How do I connect LeadConnector to Claude?

Create a FloConnector workspace, connect LeadConnector once from the dashboard, then add your FloConnector endpoint to Claude as a custom connector. Claude handles the sign-in prompt; there is no server to host and no code to write. The same endpoint works in ChatGPT.

What can Claude do in LeadConnector?

117 tools: 58 that read LeadConnector data and 59 that change it. Every tool is listed on this page, so you can see exactly what the model is able to call before you connect.

Does the AI see my LeadConnector password or API keys?

No. FloConnector holds the LeadConnector credential, encrypted before it is stored, and calls LeadConnector on the model's behalf. The AI client only ever sees the tools and their results, never the credential behind them.

Can I stop it changing anything in LeadConnector?

Yes. Each connection is exposed through a profile, and a profile carries only the tools you switch on. Leave the 59 write tools off and the connection is read-only.

Does this work with ChatGPT as well as Claude?

Yes. The endpoint is a standard hosted MCP server, so it works in any client that supports MCP connectors, including Claude and ChatGPT.