DealTraq Docs
Tool reference

Company actions

Tools that create companies, attach files, run company actions, cast Inbox votes, and propose reviewable company changes.

These tools change company data. Most of them write immediately, with no approval step inside DealTraq. Only propose_company_changes creates a proposal for review.

Ask for writes explicitly

Your assistant should change DealTraq data only when you ask it to. Every write tool takes an idempotencyKey, so a retried call with the same key and input returns the first result instead of writing twice. See How writes work.

list_company_action_capabilities

Read · Cost 1

Lists every company action your assistant can run, what it does, whether it is destructive, and which input fields it requires. Your assistant uses this to pick the right action and the right tool.

This tool takes no inputs.

Example: What can you change on a company in DealTraq?

Action catalog

ActionWhat it doesDestructive
company.vote.setSaves or clears your personal Inbox vote. Prefer set_my_inbox_vote.No
company.inbox_vote.applyApplies the team's Inbox votes. If votes disagree, you choose the outcome (LEAD or ARCHIVED) after reviewing them.No
company.profile.updateEdits company fields, links, lead, and custom-field values.No
company.stage.transitionMoves a company to another pipeline stage, including the Archived stage.No
company.note.createAdds a company note.No
company.note.updateEdits a company note.No
company.note.deleteDeletes a company note.Yes
company.founder.createAdds a founder.No
company.founder.updateEdits a founder.No
company.founder.deleteDeletes a founder.Yes
company.contact.upsertCreates or updates a company contact.No
company.contact.deleteDeletes a company contact.Yes
company.category.assignAssigns a category.No
company.category.unassignRemoves a category.Yes
company.team.assignAssigns a member to the company team, optionally with a role.No
company.team.unassignRemoves a team assignment.Yes
company.custom_field_definition.createCreates a company custom field.No
company.custom_field_definition.updateEdits a custom field's label or configuration.No
company.custom_field_definition.archiveArchives a custom field.Yes
company.custom_field_option.createAdds an option to a choice-type custom field.No
company.custom_field_option.updateEdits a custom-field option.No
company.custom_field_option.deleteDeletes a custom-field option.Yes
company.archiveSoft-deletes the company record. This is not the Archived pipeline stage.Yes
company.restoreRestores a soft-deleted company.No
company.mergeMerges one company into another and soft-deletes the source.Yes
company.task.createCreates a task linked to the company.No
company.task.updateEdits a task's status, schedule, visibility, assignees, or archive state.No
company.task_comment.createAdds a comment or reply to a task.No
company.task_comment.updateEdits a comment you wrote.No
company.task_comment.deleteDeletes a comment you wrote.Yes
company.scoring_feedback.createAdds feedback used in future company scoring.No
company.meeting.moveMoves a meeting from one company to another.No

Archive versus the Archived stage

To pass on a company and move it to your CRM's Archived stage, use company.stage.transition. company.archive removes the company record from DealTraq views (it can be restored with company.restore).

create_company

Write — immediate · Cost 10

Adds a new company to DealTraq, optionally in a specific stage and with a lead. If DealTraq matches the request to a company that already exists, it returns that company (matchedExisting: true) instead of creating a duplicate.

InputTypeRequiredDescription
namestring, up to 500 charactersYesCompany name.
idempotencyKeystring, 8 to 200 charactersYesStable key for this creation.
descriptionstring, up to 20,000 charactersNoFactual summary: what the company builds, for whom, and where it comes from. Put opinions and thesis fit in a note instead.
websiteUrlURLNoCompany website.
stageIdUUIDNoStage to place the company in.
leadOrgMemberIdUUIDNoMember to set as lead.
founderNamesstringNoFounder names.
source, sourceLinkstring, URLNoWhere the deal came from.
meetingNotesLink, driveLink, metadataLinkURLNoRelated links.
customFieldsobjectNoCustom-field values.

Example: Add Acme Robotics (acmerobotics.com) to our Inbox, sourced from the YC demo day list.

add_company_file

Write — immediate · Cost 20

Attaches one file from your conversation to a company, optionally inside an existing company folder. The result confirms the file name, type, and size but never echoes the content or returns a storage link.

InputTypeRequiredDescription
companyIdUUIDYesThe company to attach the file to.
fileNamestring, up to 255 charactersYesFile name, without folder paths.
mimeTypestringYesFile type, such as application/pdf.
contentBase64stringYesFile content, base64-encoded.
idempotencyKeystring, 8 to 200 charactersYesStable key for this upload.
folderIdUUIDNoExisting company folder to put the file in.
isCompanyDeckbooleanNoMark the file as the company's deck.

Notes

  • Files must be non-empty and at most 5 MiB.

Example: Attach this pitch deck PDF to Acme and mark it as their deck.

execute_non_destructive_company_action

Write — immediate · Cost 10

Runs one action from the catalog that is marked non-destructive, such as adding a note, updating the profile, moving a stage, or creating a task. The change takes effect immediately.

InputTypeRequiredDescription
request.actionaction nameYesA non-destructive action from the catalog.
request.inputobjectYesThe action's input. Required fields are listed by list_company_action_capabilities.
idempotencyKeystring, 8 to 200 charactersYesStable key for this change.

Notes

  • Some actions require the company's current updatedAt (from get_company) so they fail rather than overwrite a newer change.

Example: Add a note to Acme summarizing today's call, and move it to Due Diligence.

execute_typed_company_action

Write — destructive · Cost 10

Runs any action from the catalog, including deleting notes, founders, or contacts, soft-deleting a company, and merging companies. The change takes effect immediately, with no approval step in DealTraq.

InputTypeRequiredDescription
request.actionaction nameYesAny action from the catalog.
request.inputobjectYesThe action's input.
idempotencyKeystring, 8 to 200 charactersYesStable key for this change.

Notes

  • Applying team Inbox votes (company.inbox_vote.apply) runs through this tool. If votes disagree, the first call returns the votes; after you choose LEAD or ARCHIVED, your assistant retries with your decision and the returned reviewedVotes token.

Example: Merge "Acme Inc" into "Acme Robotics"; they're the same company.

execute_company_action

Write — destructive · Cost 10

An older form of execute_typed_company_action, kept for existing clients. It runs any catalog action immediately but takes the action input as an untyped object, so clients see less about each action's fields. New integrations should use the typed tools.

InputTypeRequiredDescription
actionaction nameYesAny action from the catalog.
inputobjectYesThe action's input.
idempotencyKeystring, 8 to 200 charactersYesStable key for this change.

Example: Delete the duplicate founder entry on Acme.

get_my_inbox_vote

Read · Cost 2

Shows your own pending Inbox vote on a company (direction, reasons, and note) and the company's current stage. Your assistant reads this before and after setting a vote.

InputTypeRequiredDescription
companyIdUUIDYesThe company to check.

Example: Did I already vote on Acme?

set_my_inbox_vote

Write — immediate · Cost 10

Casts or clears your personal Inbox vote on a company. Your vote is pending until the team's votes are applied; it does not move the company.

  • UPVOTE (Proceed) also adds you to the company team.
  • DOWNVOTE (Archive) also removes your team assignments on the company.
  • CLEAR removes your vote and leaves team assignments unchanged.
InputTypeRequiredDescription
companyIdUUIDYesThe company to vote on.
voteUPVOTE, DOWNVOTE, or CLEARYesYour vote.
researchobjectFor UPVOTE and DOWNVOTEThe research behind the vote: schemaVersion: "company-research/v1", the full reportMarkdown with [source:key] citations, up to 20 keyed sources, gaps, and an optional summary. Omit for CLEAR.
reasonsarray, up to 10NoVote reasons. Kept from your previous vote if you repeat the same direction without them.
notestring, up to 1,000 charactersNoA short note. Kept from your previous vote if omitted.
idempotencyKeystring, 8 to 200 charactersYesStable key for this vote.

Notes

  • The research report is saved with the vote as unverified, agent-written research (up to 64 KB). It does not create notes or update company fields. Read it later with read_company_research_submission.
  • If no sources were inspected, the report must say so in gaps.
  • Applying the team's votes is a separate action (company.inbox_vote.apply) that you must ask for explicitly.

Example: Upvote Acme for me. Strong team and the market fits our thesis.

propose_company_changes

Write — proposal only · Cost 8

Creates a proposal to change a company's profile, its stage, or both, and returns a DealTraq link where it can be reviewed and approved. No company data changes during this call. The change runs only after approval inside DealTraq.

InputTypeRequiredDescription
companyIdUUIDYesThe company to change.
expectedUpdatedAtISO date-timeYesThe company's updatedAt from get_company. The proposal is rejected if the company changed since.
stageIdUUIDOne of stageId or profileThe stage to move the company to.
profileobjectOne of stageId or profileField changes: name, description, websiteUrl, founderNames, leadOrgMemberId, source, sourceLink, links, and customFields.
reasonstring, up to 2,000 charactersNoWhy the change is proposed, shown to the reviewer.
idempotencyKeystring, 8 to 200 charactersYesStable key for this proposal.

Notes

  • A profile change and a stage change become separate items in one proposal group, so each can be reviewed on its own.

Example: Propose moving Acme to Due Diligence, but don't apply the change directly.

get_company_change_proposal

Read · Cost 2

Returns the current status of a proposal created through MCP, with its approval link and the status of each item in the group. It never changes the proposal.

InputTypeRequiredDescription
proposalIdUUIDYesThe proposal to check.

Notes

  • Statuses are PROPOSED, APPROVED, REJECTED, EXECUTING, EXECUTED, FAILED, CANCELLED, and SUPERSEDED. When items in one group differ, the group status is MIXED; mutationExecuted is true once any item has executed.
  • You can read your own proposals. Organization owners and admins can read any MCP proposal in the organization.

Example: Has the Acme stage-change proposal been approved yet?

On this page