Skip to content
Elaichi Elaichi

crm

Planhat

Connect Planhat to Elaichi and hand every teammate a governed MCP endpoint — 97 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.

Planhat

AI tools

Planhat tools for your AI agents

97 tools are ready to mint as an MCP endpoint the moment you connect Planhat — governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_planhat_campaigns

List campaigns in Planhat. Returns an array of campaigns including _id, companyId, name, and campaignPurpose fields. Supports filtering, sorting, and pagination.

get_single_planhat_campaign_by_id

Get campaign by id in Planhat. Requires id. Returns key fields including _id, companyId, companyName, name, campaignPurpose, externalId, custom, and usage.

update_a_planhat_campaign_by_id

Update a specific campaign in Planhat using id. The response returns key fields including _id, name, campaignPurpose, companyId, externalId, companyName, __v, and sourceId.

create_a_planhat_campaign

Create a campaign in Planhat. Requires name and companyId. The response includes _id, name, campaignPurpose, companyId, externalId, sourceId, custom fields, and companyName.

delete_a_planhat_campaign_by_id

Delete a specific campaign in Planhat. Requires id. Returns fields n, ok, and deletedCount indicating the number of deleted items and operation status.

list_all_planhat_companies

List companies in Planhat. Returns key fields including _id, name, status, phase, domains, tags, owner, externalId, and custom metrics.

get_single_planhat_company_by_id

Get a specific company in Planhat using id. Returns key fields including _id, name, phase, status, createDate, lastUpdated, owner, domains, custom fields, and sales details for the specified company.

create_a_planhat_company

Create a new company in Planhat. Requires the name field. Returns company details including _id, name, status, externalId, phase, domains, and country.

update_a_planhat_company_by_id

Update a specific company in Planhat using its id. The response returns details including _id, name, status, externalId, phase, and key financial metrics such as mrrTotal and nrrTotal.

delete_a_planhat_company_by_id

Delete a company in Planhat using id. Requires id. Returns fields n, ok, and deletedCount indicating the number of deleted records and success status.

list_all_planhat_invoices

List invoices in Planhat. Returns fields such as _id, invoiceNo, amountDue, amountPaid, status, cId, cName, invoiceDate, dueDate, lineItems, amountTotal, and updatedAt for each invoice in the response.

get_single_planhat_invoice_by_id

Get a specific invoice by id in Planhat. Returns fields such as _id, invoiceNo, amountDue, amountPaid, status, cName, invoiceDate, dueDate, lineItems, and amountTotal. Requires id as a path parameter.

create_a_planhat_invoice

Create an invoice in Planhat. Requires cId. Optionally include invoiceDate and currency for meaningful data. Returns fields such as _id, invoiceNo, amountTotal, status, dueDate, invoiceDate, currency, and lineItems in the response.

update_a_planhat_invoice_by_id

Update an existing invoice in Planhat using its id. Returns fields such as _id, invoiceNo, amountTotal, status, dueDate, currency, lineItems, cName, and updatedAt in the response.

delete_a_planhat_invoice_by_id

Delete an invoice in Planhat using id. Requires id. Returns n, ok, and deletedCount fields indicating operation success and number of invoices removed.

list_all_planhat_endusers

List endusers in Planhat. Returns fields such as _id, companyId, name, email, lastActive, relevance, experience, and custom attributes for each enduser.

get_single_planhat_enduser_by_id

Get details of a specific enduser in Planhat using id. Returns key fields such as _id, companyId, companyName, name, email, lastActive, and custom attributes.

create_a_planhat_enduser

Create an enduser in Planhat. Requires companyId and at least one of email, externalId, or sourceId. Returns fields such as _id, email, firstName, lastName, companyId, companyName, name, createDate, and updatedAt.

update_a_planhat_enduser_by_id

Update an existing enduser in Planhat. Requires id. Returns fields such as _id, email, firstName, lastName, companyId, name, and updatedAt.

delete_a_planhat_enduser_by_id

Delete a specific enduser in Planhat using id. Returns confirmation fields n, ok, and deletedCount indicating deletion status.

list_all_planhat_issues

Get a list of issues in Planhat. Returns an array of issues with fields _id, companyIds, title, and status.

get_single_planhat_issue_by_id

Get a specific issue in Planhat by id. Returns fields such as _id, companyIds, title, status, createdAt, and updatedAt in the response.

create_a_planhat_issue

Create a new issue in Planhat. Requires title. Optionally include companyIds or enduserIds. Returns fields such as _id, title, description, status, companyIds, enduserIds, createdAt, and updatedAt.

update_a_planhat_issue_by_id

Update an issue in Planhat using id. Requires id. Returns fields such as _id, title, description, status, companies, updatedAt, and createdAt to confirm the update.

delete_a_planhat_issue_by_id

Delete an issue in Planhat. Requires id. Returns n, ok, and deletedCount fields indicating the result of the deletion operation.

list_all_planhat_licenses

List licenses in Planhat. Returns an array of licenses with fields such as _id, companyId, value, and product.

get_single_planhat_license_by_id

Get a specific license in Planhat using id. Returns renewalStatus, renewalDate, mrr, companyName, sourceId, and currency details. Supports id, extid, or srcid as identifiers.

create_a_planhat_license

Create a new license in Planhat. Requires companyId. Returns details such as renewalStatus, companyId, product, _currency, mrr, fromDate, toDate, and value.

update_a_planhat_license_by_id

Update a specific license in Planhat using id. Returns fields like renewalStatus, companyName, mrr, product, value, and renewalDate representing the updated license details.

delete_a_planhat_license_by_id

Delete a specific license in Planhat. Requires id. Returns fields n, ok, and deletedCount indicating deletion result.

list_all_planhat_opportunities

List opportunities in Planhat. Returns fields such as _id, title, and status for each opportunity. Supports filtering and sorting. Requires no parameters.

get_single_planhat_opportunity_by_id

Get a specific opportunity in Planhat using id. Returns fields such as _id (unique identifier), status (current state), companyId (related company), stageHistory (movement through stages), landingDate, comments, and companyName.

create_a_planhat_opportunity

Create an opportunity in Planhat. Requires companyId. Returns fields such as _id, status, salesStage, dealDate, ownerId, _currency, companyId, title, mrr, nrr, and companyName representing the created opportunity details.

update_a_planhat_opportunity_by_id

Update an existing opportunity in Planhat using id or externalId. Requires id. Returns fields such as _id, status, salesStage, dealDate, companyId, companyName, mrr, nrr, and closeDate.

delete_a_planhat_opportunity_by_id

Delete an opportunity in Planhat by id. Requires id. Returns fields n, ok, and deletedCount indicating the number of deleted records and operation success.

list_all_planhat_projects

List projects in Planhat. Returns an array of projects with fields _id (unique project identifier), companyId (ID of associated company), and name (project name).

get_single_planhat_project_by_id

Get a specific project in Planhat by id. Returns fields including _id, companyId, companyName, name, startDate, custom attributes (e.g., Product, Renewal in days, Activity Count), and mrr.

create_a_planhat_project

Create a new project in Planhat. Requires name and companyId. Returns project details including _id, companyId, name, currency, mrr, startDate, endDate, and companyName.

update_a_planhat_project_by_id

Update a project in Planhat using id. Returns project details such as _id, companyId, name, startDate, endDate, currency, mrr, and custom fields. The project id must be provided in the request URL.

delete_a_planhat_project_by_id

Delete a specific project in Planhat. Requires id. Returns n, ok, and deletedCount indicating the deletion status and number of projects deleted.

list_all_planhat_tasks

Get list of tasks in Planhat. Returns an array of tasks with fields such as _id, mainType, ownerId, companyId, companyName, createdAt, updatedAt, and action. Requires no parameters.

get_single_planhat_task_by_id

Get a specific task in Planhat by id. The response includes key fields such as mainType, status, companyName, ownerName, workflowName, and timestamps for createdAt and updatedAt.

create_a_planhat_task

Create a new task in Planhat. Requires companyId. Returns fields such as mainType, action, status, companyId, ownerId, and timestamps (createdAt, updatedAt) representing the created task details.

update_a_planhat_task_by_id

Update a specific task in Planhat using id. Returns fields such as mainType, status, action, description, ownerId, companyId, createdAt, and updatedAt for the updated task.

delete_a_planhat_task_by_id

Delete a specific task in Planhat. Requires id parameter in the request path. Returns n, ok, and deletedCount to confirm the deletion status.

list_all_planhat_tickets

List tickets in Planhat. Returns fields such as _id, externalId, subject, snippet, status, email, url, companyId, companyName, createDate, and updateDate in the response.

delete_a_planhat_ticket_by_id

Delete a specific ticket in Planhat using id. Requires id in the request URL. Returns key ticket fields such as _id, subject, status, source, and updateDate for confirmation after deletion.

list_all_planhat_users

List all users in Planhat. Returns fields such as firstName, lastName, nickName, email, externalId, image, isHidden, removed, inactive, managers, teams, isExposedAsSenderOption, createdAt, updatedAt, and tzOffset.

get_single_planhat_user_by_id

Get a specific user in Planhat using id. Returns fields including _id, firstName, lastName, email, permissions, roles, and accountAccess.

create_a_planhat_user

Create a new user in Planhat. Requires nickName, email, firstName, and lastName in the payload. Returns user details including firstName, lastName, notification preferences, and visibility flags.

update_a_planhat_user_by_id

Update a user in Planhat using id. The response returns fields such as _id, firstName, lastName, email, nickName, roles, and createDate showing the updated user details.

delete_a_planhat_user_by_id

Delete a specific user in Planhat using id. Requires the id parameter in the URL. Returns an empty JSON object upon successful deletion.

list_all_planhat_conversations

List conversations in Planhat. Returns fields such as date, subject, snippet, companyId, companyName, userIds, and endusers for each conversation.

get_single_planhat_conversation_by_id

Get a specific conversation in Planhat using id. Returns key fields such as type, subject, snippet, date, companyName, users, and endusers that describe the conversation content and participants.

create_a_planhat_conversation

Create a new conversation in Planhat. Requires companyId. Returns conversation details including id, subject, description, date, companyName, users, and endusers.

update_a_planhat_conversation_by_id

Update a specific conversation in Planhat. Requires id. Returns fields such as _id, subject, description, users, endusers, companyId, companyName, date, and createDate with updated conversation details.

delete_a_planhat_conversation_by_id

Delete a specific conversation in Planhat. Requires id. Returns conversation details including starred, pinned, isOpen, companyId, subject, description, users, and endusers fields before deletion.

list_all_planhat_custom_fields

Get a list of custom fields in Planhat. Returns fields such as _id, name, type, parent, and visibility properties including isFeatured, isHidden, and isLocked.

get_single_planhat_custom_field_by_id

Get a specific custom field in Planhat by id. Requires id. Returns _id, isFeatured, listValues, parent, type, isHidden, and name fields with details about the custom field configuration.

create_a_planhat_custom_field

Create a custom field in Planhat. Requires name, parent, and type. Returns fields such as _id (unique identifier), name, parent, type, and display flags (isFeatured, isHidden, isLocked) that describe the created custom field.

update_a_planhat_custom_field_by_id

Update a specific custom-field in Planhat. Requires id. Returns fields such as _id, isFeatured, isHidden, isShared, parent, type, and name indicating the updated field configuration.

delete_a_planhat_custom_field_by_id

Delete a specific custom field in Planhat using id. Returns fields n, ok, and deletedCount in the response indicating the deletion result.

list_all_planhat_assets

List assets in Planhat. Returns an array of assets with fields _id, companyId, and name in the response.

get_single_planhat_asset_by_id

Get a specific asset in Planhat by id. The response includes fields such as _id (unique identifier), companyId (associated company), companyName (company name), name (asset name), custom (custom fields), externalId (external reference), and usage (usage metrics).

create_a_planhat_asset

Create a new asset in Planhat. Requires name and companyId. Returns the created asset with fields such as _id, name, companyId, externalId, sourceId, custom fields, and companyName in the response.

update_a_planhat_asset_by_id

Update an asset in Planhat using the required id parameter. Returns _id, name, companyId, externalId, companyName, __v, and sourceId fields in the response.

delete_a_planhat_asset_by_id

Delete a specific asset in Planhat. Requires id. Returns n, ok, and deletedCount fields indicating the number of deleted records and operation success.

list_all_planhat_churn

List churn records in Planhat. Returns fields such as _id, licenseId, companyId, companyName, churnDate, products, currency, and value for each record.

get_single_planhat_churn_by_id

Get a specific churn record in Planhat using id. Requires id in the path. Returns _id, licenseId, companyId, companyName, churnDate, products, currency, value, and reasons.

create_a_planhat_churn

Create a churn record in Planhat. Requires companyId and isChurn. Returns fields such as _id (record identifier), churnDate (date of churn), reasons (list of churn reasons), value (monetary impact), currency, comment, companyId, and companyName.

update_a_planhat_churn_by_id

Update a specific churn record in Planhat using id. The response returns fields such as _id, snoozed, products, reasons, churnDate, value, currency, comment, companyId, and companyName.

delete_a_planhat_churn_by_id

Delete a specific churn record in Planhat. Requires id. Returns fields n, ok, and deletedCount indicating the number of records removed, operation success, and delete count.

list_all_planhat_nps

List NPS records in Planhat. Returns fields such as _id, npsId, email, npsDate, nps score, npsComment, scoreType, and company identifiers (cId, campaignId) representing survey responses and their metadata.

get_single_planhat_np_by_id

Get a specific NPS in Planhat by id. Returns _id, npsId, email, npsDate, nps, scoreType, cId, campaignId, source, and sourceId fields to identify and track the NPS response.

create_a_planhat_np

Create an NPS record in Planhat. Requires email and score. Returns _id, email, score, euId, cId, scoreType, dateSent, dateAnswered, and __v fields in the response.

update_a_planhat_np_by_id

Update an NPS record in Planhat by id. Requires id. Returns fields such as _id, campaignId, email, score, euId, cId, scoreType, dateSent, dateAnswered, and comment for the updated record.

delete_a_planhat_np_by_id

Delete an NPS record in Planhat by specifying id in the request URL. Returns n (number of matched records), ok (operation status), and deletedCount (number of deleted records) in the response.

list_all_planhat_objective

List objectives in Planhat. Returns an array of objectives with fields such as _id (objective identifier), companyId (associated company), name (objective name), and health (status indicator).

get_single_planhat_objective_by_id

Get a specific objective in Planhat by id. Requires id. Returns key fields such as _id, companyId, companyName, name, health, externalId, and custom metrics data.

create_a_planhat_objective

Create a new objective in Planhat. Requires name and companyId (can reference company externalId or sourceId). Returns fields including _id, name, health, companyId, externalId, sourceId, custom, and companyName.

update_a_planhat_objective_by_id

Update an objective in Planhat using id. The response returns fields such as _id, name, health, companyId, externalId, companyName, and sourceId, representing the updated objective details.

delete_a_planhat_objective_by_id

Delete an objective in Planhat using the required id. Returns n (number of matched documents), ok (operation success flag), and deletedCount (number of deleted objectives).

list_all_planhat_sales

List sales in Planhat. Returns an array of sales objects including _id, product, value, and companyId fields.

get_single_planhat_sale_by_id

Get sale by id in Planhat. Requires id. Returns value, product, _currency, salesDate, companyId, and companyName fields in the response.

create_a_planhat_sale

Create a sale in Planhat. Requires companyId. Returns id, value, product, _currency, salesDate, companyId, and companyName in the response.

update_a_planhat_sale_by_id

Update a specific sale in Planhat using id. The response returns fields such as _id, value, product, _currency, salesDate, companyId, and companyName. Requires id in the request URL.

delete_a_planhat_sale_by_id

Delete a specific sale in Planhat. Requires id. Returns n, ok, and deletedCount fields indicating the number of records deleted and operation success.

list_all_planhat_time_entries

List time-entries in Planhat. Returns an array of time entries where each entry includes fields _id (unique identifier), hours (number of hours logged), and date (entry date).

get_single_planhat_time_entry_by_id

Get a specific time entry in Planhat by id. Requires id. Returns fields such as timesheetStatus (status of the entry), assignedModel (assigned entity type), hours (worked hours), date (entry date), and description (work details).

create_a_planhat_time_entry

Create a new time entry in Planhat. Requires date and hours. Hours must be positive, between 0.1 and 24, and can be a decimal. Returns timesheetStatus, _id, hours, date, description, totalBilled, totalCost, createdAt, and updatedAt.

update_a_planhat_time_entry_by_id

Update a specific time entry in Planhat using id. Returns fields such as _id, timesheetStatus, assignedModel, hours, date, description, totalBilled, totalCost, createdAt, and updatedAt.

delete_a_planhat_time_entry_by_id

Delete a specific time entry in Planhat using the required id parameter. Returns n (number of operations), ok (operation status), and deletedCount (number of deleted documents) in the response.

list_all_planhat_timesheet

List timesheets in Planhat. Returns a list of timesheets with fields _id, dateFrom, and dateTo in the response.

get_single_planhat_timesheet_by_id

Get a specific timesheet in Planhat by id. Requires id. Returns timeEntries (list of entry IDs), status (submission state), assignedModel and assignedId (owner details), dateFrom and dateTo (date range), and timestamps for tracking creation and updates.

create_a_planhat_timesheet

Create a new timesheet in Planhat. The timesheet is created with status 'submitted'. Returns fields such as timeEntries, status, assignedModel, _id, assignedId, dateFrom, dateTo, createdAt, and updatedAt.

update_a_planhat_timesheet_by_id

Update a specific timesheet in Planhat using id. Returns _id, timeEntries, status, assignedModel, assignedId, dateFrom, dateTo, createdAt, updatedAt, approvedBy, and dateOfApproval in the response.

delete_a_planhat_timesheet_by_id

Delete a specific timesheet in Planhat. Requires id. Returns n (matched records), ok (operation status), and deletedCount (number of records deleted) in the response.

How it works

From Planhat account to governed MCP endpoint

Connect

Link a Planhat account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Planhat tools are exposed, rename them, or freeze arguments.

Mint

Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.

Give every teammate a governed MCP server

Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.