Integration

Cloze integration

Cloze is a relationship-management CRM that builds contact, company and deal records from email, calendar and phone activity. An agent can find, read, create, enhance and delete people, companies and projects (deals), list their timelines and read timeline entries, log notes, events, calls and to-dos, read the account stages, segments, steps, tags, views, team members and custom fields, and manage webhook subscriptions. The analytics queries, public form submission, team member editing, the email-opens feed and full message bodies are not exposed. Authentication is a Cloze API key sent as the api_key query parameter, or the same key sent as Authorization: Bearer.

Ask it in chat

Say what should happen.
The workflow builds itself.

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

What you can do with Cloze

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.

Project, 9 operations

  • create_projectCreate projectPOSTCreate a project, or merge the fields sent into an existing one when an identifier matches. Returns errorcode (0 on success) and message; use dryrun=true to validate only.
  • delete_projectDelete projectDELETEPermanently delete one project, found by an identifier (an app link (source:uniqueid), syncKey or portableId). Set team=true to delete the team copy instead of your own. Returns errorcode (0 on success).
  • find_projectsFind projectsGETSearch projects with filters (freeformquery, stage, segment, step, assignee), sort and paging (pagenumber from 1, pagesize). Returns the projects array and availablecount; countonly=true returns only the count.
  • find_similar_projectsFind similar projectsPOSTGiven one project (id), return other projects that look similar to it, as a projects array of full records.
  • get_many_projectsGet many projectsPOSTGet several projects at once by their identifiers (uniqueids array: syncKey, portableId or another unique id). Returns the projects array.
  • get_projectGet projectGETGet one project by an identifier (an app link (source:uniqueid), syncKey or portableId). Returns the full record under project, including contact details and custom fields.
  • get_projects_feedGet projects feedGETBulk-read projects in batches: the first call sets the filters, each next call passes the cursor returned by the previous one. Returns projects, cursor and availablecount.
  • get_project_timelineGet project timelinePOSTList the keys of the timeline entries (emails, calls, notes, meetings) of one project, newest first. Pass the returned stamp to get the next older page; read the content with get_messages.
  • update_projectUpdate projectPOSTMerge the fields sent into an existing project, found by one of its identifiers (an app link (source:uniqueid), syncKey or portableId). Fields left out keep their value. Returns errorcode (0 on success).

Company, 8 operations

  • create_companyCreate companyPOSTCreate a company, or merge the fields sent into an existing one when an identifier matches. Returns errorcode (0 on success) and message; use dryrun=true to validate only.
  • delete_companyDelete companyDELETEPermanently delete one company, found by an identifier (a domain name, email address, syncKey or portableId). Set team=true to delete the team copy instead of your own. Returns errorcode (0 on success).
  • find_companiesFind companiesGETSearch companies with filters (freeformquery, stage, segment, step, assignee), sort and paging (pagenumber from 1, pagesize). Returns the companies array and availablecount; countonly=true returns only the count.
  • get_companies_feedGet companies feedGETBulk-read companies in batches: the first call sets the filters, each next call passes the cursor returned by the previous one. Returns companies, cursor and availablecount.
  • get_companyGet companyGETGet one company by an identifier (a domain name, email address, syncKey or portableId). Returns the full record under company, including contact details and custom fields.
  • get_company_timelineGet company timelinePOSTList the keys of the timeline entries (emails, calls, notes, meetings) of one company, newest first. Pass the returned stamp to get the next older page; read the content with get_messages.
  • get_many_companiesGet many companiesPOSTGet several companies at once by their identifiers (uniqueids array: syncKey, portableId or another unique id). Returns the companies array.
  • update_companyUpdate companyPOSTMerge the fields sent into an existing company, found by one of its identifiers (a domain name, email address, syncKey or portableId). Fields left out keep their value. Returns errorcode (0 on success).

Person, 8 operations

  • create_personCreate personPOSTCreate a person, or merge the fields sent into an existing one when an identifier matches. Returns errorcode (0 on success) and message; use dryrun=true to validate only.
  • delete_personDelete personDELETEPermanently delete one person, found by an identifier (an email address, phone number, syncKey or portableId). Set team=true to delete the team copy instead of your own. Returns errorcode (0 on success).
  • find_peopleFind peopleGETSearch people with filters (freeformquery, stage, segment, step, assignee), sort and paging (pagenumber from 1, pagesize). Returns the people array and availablecount; countonly=true returns only the count.
  • get_many_peopleGet many peoplePOSTGet several people at once by their identifiers (uniqueids array: syncKey, portableId or another unique id). Returns the people array.
  • get_people_feedGet people feedGETBulk-read people in batches: the first call sets the filters, each next call passes the cursor returned by the previous one. Returns people, cursor and availablecount.
  • get_personGet personGETGet one person by an identifier (an email address, phone number, syncKey or portableId). Returns the full record under person, including contact details and custom fields.
  • get_person_timelineGet person timelinePOSTList the keys of the timeline entries (emails, calls, notes, meetings) of one person, newest first. Pass the returned stamp to get the next older page; read the content with get_messages.
  • update_personUpdate personPOSTMerge the fields sent into an existing person, found by one of its identifiers (an email address, phone number, syncKey or portableId). Fields left out keep their value. Returns errorcode (0 on success).

Webhook subscription, 3 operations

  • create_webhook_subscriptionCreate webhook subscriptionPOSTSubscribe target_url to person, company or project change events; returns uniqueid. Deliveries are not signed (they only carry an X-Cloze-Subscription-ID header), and the url must answer OK within 10 seconds.
  • delete_webhook_subscriptionDelete webhook subscriptionPOSTCancel a webhook subscription, identified by event plus its uniqueid (from create_webhook_subscription or list_webhook_subscriptions) or its client_reference.
  • list_webhook_subscriptionsList webhook subscriptionsGETList your webhook subscriptions with event, target_url, scope, suspension state and delivery counts.

Segment, 2 operations

  • list_contact_segmentsList contact segmentsGETList the people and company segments of the account (segment ids and names), for the segment field of the person and company tools.
  • list_project_segmentsList project segmentsGETList the project segments of the account (segment ids and names), for the segment field of the project tools.

Stage, 2 operations

  • list_contact_stagesList contact stagesGETList the stages that apply to people and companies: the internal stage keys with your custom labels.
  • list_project_stagesList project stagesGETList the stages that apply to projects: the internal stage keys with your custom labels. Use the keys as stage on the project tools.

Communication, 1 operation

  • create_communicationCreate communicationPOSTLog a call, text, meeting, email or direct message on the timeline (style), with its date, sender, recipients and subject. This records the item in Cloze; it does not send it.

Content record, 1 operation

  • create_content_recordCreate content recordPOSTAdd a note, event, external to do or file entry to the timeline (style). note and todo need uniqueid and source. Returns errorcode (0 on success).

Custom field, 1 operation

  • list_custom_fieldsList custom fieldsGETList the custom fields of the account (id, name, type, allowed values), optionally only those for people, companies or projects (relationtype).

Message, 1 operation

  • get_messagesGet messagesPOSTGet the content of timeline entries by their keys (from get_person_timeline and its siblings): from, recipients, subject, preview, body, style, date. Can return private email and call content.

Recipient list, 1 operation

  • list_recipient_listsList recipient listsGETList the tags, audiences and subscriptions that can serve as recipient lists for mail merges.

Step, 1 operation

  • list_stepsList stepsGETList the next steps available per segment and stage, optionally for one segment (and one stage within it). Use the step ids as step on the record tools.

Subteam node, 1 operation

  • list_subteam_nodesList subteam nodesGETList the subteam (hierarchy) nodes defined in your team. Requires the View User and Edit Team permissions.

Tag, 1 operation

  • list_tagsList tagsGETList the tags used on people, companies or projects (type, default person), up to limit (default 100).

Team member, 1 operation

  • list_team_membersList team membersGETList the members of your current Cloze team with their email, name, role and subteam node. Requires the View User and Edit Team permissions.

Team role, 1 operation

  • list_team_rolesList team rolesGETList the roles defined in your Cloze team. Requires the View User and Edit Team permissions.

Todo, 1 operation

  • create_todoCreate todoPOSTCreate a To Do (subject required), optionally with a reminder date (when), an assignee and linked people, companies or projects (references). Returns errorcode (0 on success).

User profile, 1 operation

  • get_user_profileGet user profileGETGet the connected Cloze user: email, name, phone, address, country, account key, the scopes granted and the team rights. Use it to check the connection.

View, 1 operation

  • list_viewsList viewsGETList the saved views (companies, projects) and audiences (people) of the account.

Use Cloze from Claude Code, Cursor or Codex

Connect Cloze in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Cloze 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 Cloze

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Cloze once

    Add your Cloze 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.

Cloze integration FAQ

What can you do with the Cloze integration?

LiveContext exposes 45 operations on Cloze, covering project, company, person and webhook subscription.

Popular integrations

Browse the whole catalog