# Ironclad — Pipedream Connect

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

- API slug: `ironclad` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Business Management
- Website: https://ironcladapp.com/
- Managed OAuth scopes: `scim.users.readUsers` · `public.workflows.readWorkflows` · `public.records.readSchemas` · `public.records.readRecords` · `public.records.createRecords` · `public.workflows.createWorkflows` · `public.workflows.updateWorkflows` · `public.webhooks.createWebhooks` · `public.webhooks.deleteWebhooks` · `public.workflows.readSchemas` · `public.records.deleteRecords` · `public.records.updateRecords`
- This page (HTML): https://pipedream.com/apps/ironclad
- Tools: 17 actions · 3 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: ironclad`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "ironclad",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Record:
const result = await mcp.callTool({
  name: "ironclad-create-record",
  arguments: {
    recordName: "Name",
    recordType: "Type",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Ironclad endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://ironcladapp.com/public/api/v1/records

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9pcm9uY2xhZGFwcC5jb20vcHVibGljL2FwaS92MS9yZWNvcmRz?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "ironclad-create-record",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    ironclad: { authProvisionId: "apn_xxxxxxx" },
    recordName: "Name",
    recordType: "Type",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (17)

### `ironclad-create-record` — Create Record (Write)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/create-record.md

### `ironclad-delete-record` — Delete Record (Write)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/delete-record.md

### `ironclad-describe-workflow-template` — Describe Workflow Template (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/describe-workflow-template.md

### `ironclad-describe-workspace` — Describe Workspace (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/describe-workspace.md

### `ironclad-get-record` — Get Record (Read-only)

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

Full schema: https://pipedream.com/apps/ironclad/actions/get-record.md

### `ironclad-get-workflow` — Get Workflow (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/get-workflow.md

### `ironclad-launch-workflow` — Launch Workflow (Write)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/launch-workflow.md

### `ironclad-list-properties-options` — List Properties Options (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/list-properties-options.md

### `ironclad-list-record-id-options` — List Record ID Options (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/list-record-id-options.md

### `ironclad-list-selected-events-options` — List Selected Events Options (Read-only)

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"}…

Full schema: https://pipedream.com/apps/ironclad/actions/list-selected-events-options.md

### `ironclad-list-template-id-options` — List Template ID Options (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/list-template-id-options.md

### `ironclad-list-record-type-options` — List Type Options (Read-only)

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"…

Full schema: https://pipedream.com/apps/ironclad/actions/list-record-type-options.md

### `ironclad-list-workflow-id-options` — List Workflow ID Options (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/list-workflow-id-options.md

### `ironclad-search-records` — Search Records (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/search-records.md

### `ironclad-search-workflows` — Search Workflows (Read-only)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/search-workflows.md

### `ironclad-update-record` — Update Record (Write)

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…

Full schema: https://pipedream.com/apps/ironclad/actions/update-record.md

### `ironclad-update-workflow` — Update Workflow Attributes (Write)

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}…

Full schema: https://pipedream.com/apps/ironclad/actions/update-workflow.md

## Triggers (3)

### `ironclad-new-approval-event-instant` — New Approval Event Instant (Instant)

Emit new event when a fresh approval event is generated.

Full schema: https://pipedream.com/apps/ironclad/triggers/new-approval-event-instant.md

### `ironclad-new-workflow-document-event-instant` — New Workflow Document Event (Instant) (Instant)

Emit new event when a workflow document event is freshly established.

Full schema: https://pipedream.com/apps/ironclad/triggers/new-workflow-document-event-instant.md

### `ironclad-new-workflow-event-instant` — New Workflow Event (Instant) (Instant)

Emit new event when a new workflow event is created.

Full schema: https://pipedream.com/apps/ironclad/triggers/new-workflow-event-instant.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
