Connect Your AI Agent with Ironclad for Slack

Integrate Ironclad MCP server into your Slack workspace for instant access to your AI agent.

Back to MCP Servers
Ironclad
Ironclad
Ironclad is the only platform built from the ground up to handle all contract types – legal, sales, finance, HR, marketing, procurement, and more.

Categories

Business Management

Available Tools

Tools that your AI agent can use through this MCP server to interact with Ironclad

Update Workflow Attributes

Updates attribute values on an in-flight Ironclad workflow. The workflow must be in the Review step; document/file-type attributes are not supported. Provide updates as a flat JSON object of attribute key to new value — each pair is converted to Ironclad's internal {action: "set", path, value} update format automatically. Run Search Workflows or Get Workflow first to find the workflowId, then run Get Workflow to see current attribute keys and values, or Describe Workflow Template for the attribute format reference (complex types like monetaryAmount, address, date, duration). Example: set workflowId to "wf_xyz789" and updates to {"contractValue": {"currency": "USD", "amount": 75000}, "renewalDate": "2027-01-01"}; the action confirms the update was applied. See the documentation

Update Record

Updates properties on an existing Ironclad record. Provide properties as a JSON object where each key maps to a {type, value} wrapper — the same shape as Create Record. Run Search Records first to find the recordId, and Describe Workspace to discover valid property keys and their exact required type (record property types are snake_case, e.g. string, number, monetary_amount, address, date, duration, boolean — do not guess). Only the properties you include are changed; omitted properties are left as-is. Example: set recordId to "rec_abc123" and properties to {"contractValue": {"type": "monetary_amount", "value": {"currency": "USD", "amount": 75000}}}; returns the updated record. See the documentation

Search Workflows

Searches Ironclad workflows using structured filters and/or Ironclad's native formula filter language. Use this to find a workflow's ID before Get Workflow or Update Workflow Attributes. The filter formula operates on attribute keys in [brackets] — run Describe Workspace first to see valid attribute keys. Formula operators: Equals([attr], 'value'), NotEqual([attr], 'value'), Contains([attr], 'value'), IsEmpty([attr]), IsNotEmpty([attr]), LessThan([attr], value) / LessThanOrEqual([attr], value), GreaterThan([attr], value) / GreaterThanOrEqual([attr], value), Date(2026, 1, 1) (year, month, day), Today(), RelativeDate(Today(), -7, 'days') (anchor - Today() or Date(...) -, offset, unit; unit is one of days, weeks, months, years), And(cond1, cond2, ...), Or(cond1, cond2, ...). String values support both single and double quotes. Worked examples: find by counterparty name Contains([counterpartyName], 'Acme'); find workflows with an agreement date in the last week GreaterThan([agreementDate], RelativeDate(Today(), -7, 'days')); find workflows missing a signed copy IsEmpty([signedCopy]). Status and template are not formula-filterable properties — to find cancelled or completed workflows, set the status prop to cancelled,completed; to find workflows launched from a specific template, set the template prop instead of using filter. Example: set status to "active" and pageSize to 5 to retrieve the 5 most recently updated active workflows; returns {"list": [{"id": "wf_xyz789", "title": "Acme NDA", "status": "active"}], "count": 1}. See the documentation

Search Records

Searches Ironclad repository records using structured filters and/or Ironclad's native formula filter language. Use this to find a record's ID before Get Record, Update Record, or Delete Record. The filter formula operates on property keys in [brackets] — run Describe Workspace first to see valid property keys. Formula operators: Equals([prop], 'value'), NotEqual([prop], 'value'), Contains([prop], 'value'), IsEmpty([prop]), IsNotEmpty([prop]), LessThan([prop], value) / LessThanOrEqual([prop], value), GreaterThan([prop], value) / GreaterThanOrEqual([prop], value), Date(2026, 1, 1) (year, month, day), Today(), RelativeDate(Today(), -7, 'days') (anchor - Today() or Date(...) -, offset, unit; unit is one of days, weeks, months, years), And(cond1, cond2, ...), Or(cond1, cond2, ...). String values support both single and double quotes. Worked examples: find by name Contains([name], 'Hammond'); find records with an agreement date in the last 30 days GreaterThan([agreementDate], RelativeDate(Today(), -30, 'days')); find records missing a contract value IsEmpty([contractValue]). Record type is not a formula-filterable property — to find vendor agreements or NDAs, set the types prop to vendor_agreement,nda instead of using filter. Example: set filter to Contains([name], 'Hammond') to find a record by name; returns {"list": [{"id": "rec_abc123", "name": "Hammond Foundation NDA", "type": "nda"}], "count": 1}. See the documentation

List Workflow ID Options

Returns one page of Ironclad workflows as {label, value} pairs (where value is the workflow ID). Call this before running Get Workflow or Update Workflow Attributes to find a valid workflowId. Search Workflows is the primary way to find a workflow by attribute values; use this action only to page through the full list or when resolving the workflowId prop directly. Results are 0-indexed by page; if the response contains the maximum number of items, increment page and call again to fetch more. Example return: [{"label": "Acme NDA Review", "value": "wf_xyz789"}, ...]. See the documentation

List Template ID Options

Returns Ironclad workflow template IDs and their display names as {label, value} pairs. Call this before running Launch Workflow or Describe Workflow Template to find a valid templateId. Results are 0-indexed by page; if the response contains the maximum number of items, increment page and call again to fetch more. Example return: [{"label": "NDA Template", "value": "tmpl_abc123"}, {"label": "Vendor Agreement", "value": "tmpl_xyz789"}, ...]. See the documentation

List Selected Events Options

Returns all Ironclad webhook event type names as {label, value} pairs. Call this to discover valid event types before configuring an Ironclad event source. Example return: [{"label": "WORKFLOW LAUNCHED", "value": "workflow_launched"}, {"label": "WORKFLOW UPDATED", "value": "workflow_updated"}, ...]. See the documentation

List Type Options

Returns all Ironclad record type keys and their display names as {label, value} pairs (where value is the type key). Call this before setting the type field in Create Record to find valid type keys. Example return: [{"label": "Vendor Agreement", "value": "vendor_agreement"}, {"label": "NDA", "value": "nda"}, ...]. See the documentation

List Record ID Options

Returns one page of Ironclad records as {label, value} pairs (where value is the record ID). Call this before using the links, parent, or children fields in Create Record to find valid record IDs. Search Records is the primary way to find a record by attribute values; use this action only to page through the full list or when resolving a record ID field directly. Results are 0-indexed by page; if the response contains the maximum number of items, increment page and call again to fetch more. Example return: [{"label": "Acme NDA", "value": "rec_abc123"}, ...]. See the documentation

List Properties Options

Returns all Ironclad record property keys and their display names (including the required type for each) as {label, value} pairs. Call this before setting the properties field in Create Record to find valid property keys and their exact type — do not guess a property's type. Example return: [{"label": "Counterparty Name (type: string)", "value": "counterpartyName"}, {"label": "Contract Value (type: monetary_amount)", "value": "contractValue"}, ...]. See the documentation

Launch Workflow

Launches a new workflow in Ironclad. Run Describe Workspace to find a template ID, then run Describe Workflow Template to discover the field keys, types, and constraints (including conditional fields) needed to build the attributes payload. Example: set templateId to "tmpl_abc123" and attributes to {"counterpartyName": "Acme Corp", "paperSource": "Our paper", "startDate": "2026-09-01"}; returns {"id": "wf_xyz789", "status": "review"}. See the documentation

Get Workflow

Retrieves the full Ironclad workflow object, including its schema and current attribute keys and types. Use the returned schema to construct a valid updates payload for Update Workflow Attributes. Run Search Workflows first to find a workflow ID. Example: set workflowId to "wf_xyz789" to retrieve a workflow with fields such as id, title, status, currentStep, and attributes (a map of attribute key → value). Use the optional fields param (e.g. "id,title,status") to return only specific top-level keys. See the documentation

Get Record

Retrieves a single Ironclad record by its ID, returning the record's name, type, properties, and metadata. Run Search Records first to find a valid record ID. Example: set recordId to "rec_abc123" to retrieve a record with fields such as id, name, type, and properties. See the documentation

Describe Workspace

Orients you to this Ironclad workspace: returns every configured record type and property (with its type), plus the first page of launchable workflow templates. This is the primary orienting call — run it first for any question about what record types, properties, or workflow templates exist in the workspace, before List Type Options / List Properties Options / List Template ID Options (those three exist only to resolve one value while configuring another tool's prop, not for general discovery — using them for discovery skips the bundled context this tool provides). Takes no parameters. If workflowTemplates looks capped at a page boundary, run List Template ID Options with an incremented page for the rest. Example return: {"recordTypes": {"vendor_agreement": "Vendor Agreement"}, "properties": {"contractValue": "monetary_amount", "counterpartyName": "string"}, "workflowTemplates": [{"id": "tmpl_abc123", "name": "NDA Template"}]}. See the documentation

Describe Workflow Template

Retrieves the fillable attribute schema for an Ironclad workflow template — the required call before Launch Workflow. Returns each field's type, display name, enum options, and whether it's required. Every field's description already includes a worked value-format example for complex types (address, monetaryAmount, date, duration, document/array) — use those examples verbatim, do not guess a shape. A field's required may be "conditional": when Ironclad's naming convention makes the trigger inferable (e.g. a field named set1Question2 triggered by a selector field set to "Set 1"), a dependsOn: {field, value} hint is included; whenever you set the selector to that value, also include the dependent field. If a conditional field has no dependsOn hint, its trigger isn't inferable from naming — watch for a MISSING_PARAM error naming it after you submit Launch Workflow, and retry with it included. Run Describe Workspace first to find a template ID. Example: set templateId to "tmpl_abc123" to retrieve a schema where each field looks like {"counterpartyName": {"type": "string", "displayName": "Counterparty Name", "required": "always", "description": "Value of Counterparty Name"}, "requiredAddress": {"type": "address", "displayName": "Required Address", "required": "always", "description": "Value of Required Address. Example: {\"lines\": [...], \"locality\": ..., \"region\": ..., \"postcode\": ..., \"country\": ...}"}}. See the documentation

Delete Record

Permanently deletes an Ironclad record by ID. This cannot be undone. Run Search Records first to find the recordId — confirm it's the right record before deleting, since Ironclad has no undo. Example: set recordId to "rec_abc123" to delete that record; the action confirms deletion succeeded. See the documentation

Create Record

Creates a new record in Ironclad. Provide properties as a JSON object where each key maps to a {type, value} wrapper. Run Describe Workspace first to see all valid record types and property keys (with their required type) in one call; List Type Options / List Properties Options exist only to resolve a single value for this action's props, not for general discovery. Property types are snake_case, e.g. string, number, monetary_amount, address, date, duration, boolean — not the camelCase types used by workflow attributes. Complex types use nested objects: monetary_amount {"currency": "USD", "amount": 25.37}, address {"lines": ["325 5th Street", "Suite 200"], "locality": "San Francisco", "region": "California", "postcode": "94107", "country": "USA"}. Example: set recordName to "Acme NDA", recordType to "vendor_agreement", and properties to {"counterpartyName": {"type": "string", "value": "Acme Corp"}, "contractValue": {"type": "monetary_amount", "value": {"currency": "USD", "amount": 50000}}}; returns {"id": "rec_abc123", "name": "Acme NDA"}. See the documentation