Integration

Ontraport integration

Ontraport is a CRM and marketing automation platform. Create, merge, update, find and delete contacts; read field definitions (custom fields included); tag and untag contacts or custom objects by tag ID or name; subscribe them to campaigns and sequences; pause or resume rules and sequences; manage tags and products; read campaigns, offers, forms, tasks, messages, transactions, purchases, orders, landing pages, rules and groups; cancel or reschedule tasks; and subscribe webhooks. Money-moving transaction routes (charge, refund, void, invoice, write-off), message sending, bulk deletes, field editing, calendar, inbox and credit card routes are not exposed. Authentication is an App ID and an API key from the Ontraport Administration settings, sent as the Api-Appid and Api-Key headers; each account may make 180 requests per minute.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Ontraport.Built from the 60 Ontraport tools below, on the connection you add once.

What you can do with Ontraport

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Tag, 7 operations

  • add_tagsAdd tagsPUTAdds tags (add_list, tag IDs) to objects (ids) of one type (objectID, 0 for contacts). Processed in the background: data says the tags are being processed.
  • create_tagCreate tagPOSTCreates a tag for one object type (contacts unless object_type_id says otherwise). A tag name must be unique within its object type. Returns tag_id.
  • delete_tagDelete tagDELETEPermanently deletes one tag by id; every object carrying it loses the tag.
  • get_tagGet tagGETReturns every field of one tag by id.
  • list_objects_with_tagList objects with tagGETLists the objects of one type (objectID, 0 for contacts) that carry a tag, given by tag_id or tag_name, 50 per page.
  • list_tagsList tagsGETLists tags, 50 per page (start and range page through them), optionally filtered by ids, condition or search.
  • remove_tagsRemove tagsDELETERemoves tags (remove_list, tag IDs) from objects (ids) of one type (objectID, 0 for contacts). Processed in the background.

Contact, 5 operations

  • create_contactCreate contactPOSTCreates a contact and returns it with its new id. It does not check for duplicates: use merge_contact to update a contact with the same email instead. Custom fields are sent by their field name.
  • delete_contactDelete contactDELETEPermanently deletes one contact by id.
  • get_contactGet contactGETReturns every field of one contact by id. Custom fields are returned only when you name them in listFields.
  • list_contactsList contactsGETLists contacts, 50 per page (start and range page through them), optionally filtered by ids, condition, search or group. Pass listFields to choose the fields returned, including custom fields.
  • update_contactUpdate contactPUTUpdates the given fields of an existing contact, found by id or unique_id (one is required; id wins). Fields left out keep their value. Returns the changed attributes under data.attrs.

Product, 5 operations

  • create_productCreate productPOSTCreates a product with a name and a price and returns it with its id. A duplicate name gets (1), (2)... appended.
  • delete_productDelete productDELETEPermanently deletes one product by id.
  • get_productGet productGETReturns every field of one product by id.
  • list_productsList productsGETLists products, 50 per page (start and range page through them), optionally filtered by ids, condition or search.
  • update_productUpdate productPUTUpdates a product by id. name is required: send the current name to keep it, or a new one to rename. Leave price out to keep the current price.

Order, 3 operations

  • get_orderGet orderGETReturns every field of one order by id.
  • get_transaction_orderGet transaction orderGETReturns the order behind one transaction (id from list_transactions): its products, subtotal, grand total, taxes, shipping and invoice template.
  • list_ordersList ordersGETLists orders (recurring subscriptions and payment plans), 50 per page, optionally filtered by ids, condition or search.

Subscribe, 3 operations

  • subscribe_objectsSubscribe objectsPUTSubscribes objects (ids) of one type (objectID, 0 for contacts) to campaigns or sequences (add_list; say which with sub_type). This starts their automations. Processed in the background.
  • subscribe_webhookSubscribe webhookPOSTSubscribes a URL to an event, written name(id): object_create(0), sub_tag(4), unsub_tag(4), object_submits_form(1), purchase_product(1) or transaction_created_with_product(1). Returns the webhook id.
  • unsubscribe_objectsUnsubscribe objectsDELETEUnsubscribes objects (ids) of one type (objectID, 0 for contacts) from campaigns or sequences (remove_list; say which with sub_type). Processed in the background.

Campaign builder item, 2 operations

  • get_campaignGet campaignGETReturns every field of one campaign by id.
  • list_campaignsList campaignsGETLists campaigns (Campaign Builder automations), 50 per page. Their IDs are what subscribe_objects takes in add_list with sub_type Campaign.

Form, 2 operations

  • get_formGet formGETReturns every field of one form by id (form_id in list_forms). For an API form (type 13) the answer also carries html, the ready-to-embed form HTML.
  • list_formsList formsGETLists forms, 50 per page (start and range page through them), optionally filtered by ids, condition or search.

Invoice, 2 operations

  • get_transactionGet transactionGETReturns every field of one transaction by id.
  • list_transactionsList transactionsGETLists transactions (invoices, object type 46), 50 per page, optionally filtered by ids, condition (for example on contact_id) or search.

Message, 2 operations

  • get_messageGet messageGETReturns every field of one message by id.
  • list_messagesList messagesGETLists messages (email, SMS, task and postcard templates), 50 per page, optionally filtered by ids, condition or search.

Meta, 2 operations

  • get_contact_fieldsGet contact fieldsGETReturns the contact object's field definitions, standard and custom: data.0.fields maps each field name to its alias (display name) and type. Use it to find the names of custom fields.
  • get_object_metaGet object metaGETReturns the field definitions of one object type (objectID), or of every type when objectID is left out: name and fields (alias and type per field name), keyed by type ID or name.

Object, 2 operations

  • get_objectGet objectGETReturns every field of one object of any type (objectID, e.g. a custom object 10000+) by id. For contacts prefer get_contact.
  • list_objectsList objectsGETLists objects of any type (objectID, for example a custom object 10000+), 50 per page, with the same ids, condition, search, sort and listFields filters as list_contacts.

Offer, 2 operations

  • get_offerGet offerGETReturns every field of one offer by id.
  • list_offersList offersGETLists offers, 50 per page (start and range page through them), optionally filtered by ids, condition or search.

Page, 2 operations

  • get_landing_pageGet landing pageGETReturns every field of one landing page by id.
  • list_landing_pagesList landing pagesGETLists landing pages (object type 20), 50 per page, optionally filtered by ids, condition or search.

Purchase, 2 operations

  • get_purchaseGet purchaseGETReturns every field of one purchase by id.
  • list_purchasesList purchasesGETLists purchases, 50 per page (start and range page through them), optionally filtered by ids, condition or search.

Rule, 2 operations

  • get_ruleGet ruleGETReturns every field of one rule by id.
  • list_rulesList rulesGETLists automation rules (events, conditions, actions), 50 per page. A rule can be paused with pause_objects (objectID 6).

Tag by name, 2 operations

  • add_tags_by_nameAdd tags by namePUTAdds tags by NAME (add_names) to objects (ids) of one type; a tag that does not exist yet is created. Processed in the background.
  • remove_tags_by_nameRemove tags by nameDELETERemoves tags by NAME (remove_names) from objects (ids) of one type (objectID, 0 for contacts). Processed in the background.

Task, 2 operations

  • get_taskGet taskGETReturns every field of one task by id.
  • list_tasksList tasksGETLists tasks, 50 per page (start and range page through them), optionally filtered by ids, condition or search.

Webhook, 2 operations

  • get_webhookGet webhookGETReturns every field of one webhook by id.
  • list_webhooksList webhooksGETLists webhooks, 50 per page (start and range page through them), optionally filtered by ids, condition or search.

Cancel, 1 operation

  • cancel_tasksCancel tasksPOSTCancels the tasks given by ids (objectID 1, the task object type).

Get all form block, 1 operation

  • list_form_blocksList form blocksGETReturns the name of every form block, keyed by form block ID (for example f1, or lp1.0.<uuid> for a form on a landing page), 50 per page.

Get by email, 1 operation

  • find_object_ids_by_emailFind object ids by emailGETReturns the ID of the contact (objectID 0) or custom object with the given email in data.id; with all=1, every matching ID in data.ids.

Get hosted url, 1 operation

  • get_landing_page_urlGet landing page urlGETReturns the hosted URL of one landing page (data is the URL string).

Get info, 1 operation

  • count_contactsCount contactsGETReturns how many contacts match the given condition, search or group (data.count), plus the default list fields. Use it to plan pagination of list_contacts.

Group, 1 operation

  • list_groupsList groupsGETLists saved groups (filtered lists of objects), 50 per page. A group ID can be passed as group_id, with performAll 1, to list its members.

Pause, 1 operation

  • pause_objectsPause objectsPOSTPauses rules, sequences or sequence subscribers (objectID says which) by ids. If any ID does not exist, nothing is changed.

Reschedule, 1 operation

  • reschedule_taskReschedule taskPOSTMoves one task (id) to a new due date and time (newtime, Unix seconds).

Saveorupdate, 1 operation

  • merge_contactMerge contactPOSTCreates a contact, or merges the given fields into the existing contact whose unique field (email, or unique_id) matches. Use it instead of create_contact to avoid duplicates. To update by id, use update_contact.

Unpause, 1 operation

  • unpause_objectsUnpause objectsPOSTResumes paused rules, sequences or sequence subscribers (objectID says which) by ids.

Unsubscribe, 1 operation

  • unsubscribe_webhookUnsubscribe webhookDELETEDeletes one webhook subscription by id; Ontraport stops posting to its URL.

Use Ontraport from Claude Code, Cursor or Codex

Connect Ontraport in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Ontraport operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Ontraport

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Ontraport once

    Add your Ontraport connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Ontraport integration FAQ

What can you do with the Ontraport integration?

LiveContext exposes 60 operations on Ontraport, covering tag, contact, product and order.

Popular integrations

Browse the whole catalog