Deal Rooms

Deal Rooms tools include field-level argument descriptions and runnable examples for MCP clients.

Tools Covered

Tool Mutation Backend Routes
dealroom_list No /view-all-pitches-sorted
dealroom_open No /retrieve-pitch
dealroom_edit Yes
dealroom_create_from_playbook Yes

dealroom_list

List deal rooms with search/sort/pagination.

Backend routes: /view-all-pitches-sorted

Arguments

Field Type Required Description Example
sort_order string (ASC | DESC) No Sort direction. DESC
page number No Pagination page number (1-based). Defaults to 1. 1
page_size number No Number of rows per page. Defaults to 50, maximum 200. 50
search string No Free-text search term for list endpoints. banking
only_owner boolean No When true, list only deal rooms owned by caller. false
archived boolean No When true, list archived records. false
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000

Example Request

List active deal rooms

{
  "jsonrpc": "2.0",
  "id": "dealroom_list-1",
  "method": "tools/call",
  "params": {
    "name": "dealroom_list",
    "arguments": {
      "page": 1,
      "page_size": 50,
      "sort_order": "DESC",
      "search": "Mural",
      "only_owner": false,
      "archived": false
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "dealroom_list",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for dealroom_list.",
    "status": 400,
    "retryable": false
  }
}

dealroom_open

Open deal room and return canonical metadata.

Backend routes: /retrieve-pitch

Arguments

Field Type Required Description Example
pitch_id string Yes Deal room / playbook pitch identifier. PCH1774126974294428638749
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000

Example Request

Open one deal room

{
  "jsonrpc": "2.0",
  "id": "dealroom_open-1",
  "method": "tools/call",
  "params": {
    "name": "dealroom_open",
    "arguments": {
      "pitch_id": "PCH1774126974294428638749"
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "dealroom_open",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for dealroom_open.",
    "status": 400,
    "retryable": false
  }
}

dealroom_edit

Edit a deal room using the same payload contract as /edit-pitch-with-sections-and-contents.

Backend routes: Derived/indirect handler route.

Arguments

Field Type Required Description Example
pitch_id string Yes Deal room / playbook pitch identifier. PCH1774126974294428638749
pitch_data object No Direct payload object for `/edit-pitch-with-sections-and-contents` pitchData. Use this when you want to pass a full update object instead of individual top-level fields. {"title":"Mural x Revspire Workspace","headline":"Updated buyer workspace","public_access":true}
sections array No Deal room sections array sent to `/edit-pitch-with-sections-and-contents`. If omitted, MCP auto-loads existing sections from the current pitch. [{"id":"SEC1774126974294428638749","name":"Security and Compliance","order":1,"visibility":"Internal & External","contents":[{"id":"HXP1774126974294428638749","content":"KBD0215806635290000000000","arrangement":1,"tagline":"Security Overview","visibility":"Internal & External"}]}]
content_groups array No Optional content group payload array forwarded to `/edit-pitch-with-sections-and-contents` for grouped content layouts. [{"id":"GRP1774126974294428638749","name":"Security Bundle","order":1}]
custom_field_values object No Custom field key-value map sent during deal room edit. {"budget_confirmed":"Yes","target_close_date":"2026-06-30"}
allow_empty_sections boolean No When true and `sections` is explicitly empty, MCP allows sending an empty sections array instead of auto-filling from existing deal room sections. false
dealroom_name string No Display name for new deal room. If omitted, backend can derive from fallback `name`/playbook metadata. Mural - Openspace Mid Market Deal Room
name string No Alternate name field accepted by upstream create route. Mural - Openspace Mid Market Deal Room
opportunity_id string No Optional CRM opportunity ID associated with newly created deal room. 006fk000000casSAAQ
account_id string No Optional CRM account ID associated with newly created deal room. 001fk000003Ja1xAAC
title string No Optional title override shown in deal room hero/header. Mural x Revspire Workspace
headline string No Optional headline override for deal room cover section. Everything your buying team needs in one place
description string No Long-form description text for deal room metadata. Mutual action plan, case studies, and security resources for evaluation.
public_access boolean No If true, creates deal room with public access mode enabled. true
primary_color string No Brand primary color hex code for generated deal room. #2C6BED
crm_type string No CRM source hint forwarded to creation route. salesforce
disable_otp boolean No Disable OTP requirement for external viewers where policy permits. false
published boolean No When true, publish the created deal room immediately. true
cta_config object No Call-to-action configuration object expected by pitch create route. {"primaryLabel":"Book a demo","primaryUrl":"https://calendly.com/revspire/demo"}
dynamic_profiling boolean No Enable dynamic profiling features in created deal room. false
ai_bot_questions string No Seed questions for AI assistant in created deal room. What does implementation timeline look like?
branding object No Branding payload override object used during clone/create. {"logo":"https://cdn.example.com/logo.png","theme":"light"}
pitch_content_option object No Content inclusion options for playbook-to-dealroom cloning. {"includeArchived":false}
crm_amount number No Argument `crm_amount` for tool `dealroom_edit`. 1
crm_currency_iso string No Argument `crm_currency_iso` for tool `dealroom_edit`. example_crm_currency_iso
crm_stage_id string No Argument `crm_stage_id` for tool `dealroom_edit`. CRM_STAGE_ID_EXAMPLE
crm_stage_name string No Argument `crm_stage_name` for tool `dealroom_edit`. example_crm_stage_name
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Update deal room metadata without changing sections

{
  "jsonrpc": "2.0",
  "id": "dealroom_edit-1",
  "method": "tools/call",
  "params": {
    "name": "dealroom_edit",
    "arguments": {
      "pitch_id": "PCH1774126974294428638749",
      "dealroom_name": "Mural - Security Review Room",
      "title": "Mural x Revspire Security Review",
      "headline": "Updated stakeholder workspace",
      "public_access": true
    }
  }
}

Update metadata and send explicit sections payload

{
  "jsonrpc": "2.0",
  "id": "dealroom_edit-2",
  "method": "tools/call",
  "params": {
    "name": "dealroom_edit",
    "arguments": {
      "pitch_id": "PCH1774126974294428638749",
      "pitch_data": {
        "description": "Updated workspace for procurement and legal review."
      },
      "sections": [
        {
          "id": "SEC1774126974294428638749",
          "name": "Procurement",
          "order": 1,
          "visibility": "Internal & External",
          "contents": [
            {
              "id": "HXP1774126974294428638749",
              "content": "KBD0215806635290000000000",
              "arrangement": 1,
              "tagline": "Pricing Pack",
              "visibility": "Internal & External"
            }
          ]
        }
      ],
      "content_groups": [],
      "custom_field_values": {
        "target_close_date": "2026-06-30"
      },
      "allow_empty_sections": false
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "dealroom_edit",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for dealroom_edit.",
    "status": 400,
    "retryable": false
  }
}

dealroom_create_from_playbook

Create deal room from playbook with optional placeholder rendering and usage increment.

Backend routes: Derived/indirect handler route.

Arguments

Field Type Required Description Example
playbook_id string Yes Source playbook pitch ID used for cloning into a deal room. ITV8581355464240000000000
dealroom_name string No Display name for new deal room. If omitted, backend can derive from fallback `name`/playbook metadata. Mural - Openspace Mid Market Deal Room
name string No Alternate name field accepted by upstream create route. Mural - Openspace Mid Market Deal Room
opportunity_id string No Optional CRM opportunity ID associated with newly created deal room. 006fk000000casSAAQ
account_id string No Optional CRM account ID associated with newly created deal room. 001fk000003Ja1xAAC
title string No Optional title override shown in deal room hero/header. Mural x Revspire Workspace
headline string No Optional headline override for deal room cover section. Everything your buying team needs in one place
description string No Long-form description text for deal room metadata. Mutual action plan, case studies, and security resources for evaluation.
public_access boolean No If true, creates deal room with public access mode enabled. true
primary_color string No Brand primary color hex code for generated deal room. #2C6BED
crm_type string No CRM source hint forwarded to creation route. salesforce
disable_otp boolean No Disable OTP requirement for external viewers where policy permits. false
published boolean No When true, publish the created deal room immediately. true
cta_config object No Call-to-action configuration object expected by pitch create route. {"primaryLabel":"Book a demo","primaryUrl":"https://calendly.com/revspire/demo"}
dynamic_profiling boolean No Enable dynamic profiling features in created deal room. false
ai_bot_questions string No Seed questions for AI assistant in created deal room. What does implementation timeline look like?
branding object No Branding payload override object used during clone/create. {"logo":"https://cdn.example.com/logo.png","theme":"light"}
pitch_content_option object No Content inclusion options for playbook-to-dealroom cloning. {"includeArchived":false}
placeholder_replacements object No Template placeholder replacement key-value map used while rendering clone. {"company_name":"Mural","renewal_date":"2026-09-30"}
content_option_selections object No Map of slot content IDs (or slot instance IDs) to selected alternative content IDs from playbook content options. {"KBD0215806635290000000000":"KBD5567454989590000000000"}
allow_placeholder_failures boolean No When true, continue create flow even if some placeholders cannot be resolved. true
copy_background_assets boolean No When true, clone playbook public assets (main background, login background, and client logo) to the new deal room. true
disable_auto_description boolean No When true, skip MCP generated description and keep explicit/source description fallback behavior. false
client_name string No Optional client/company name used by MCP description generator for a more specific buyer-facing summary. Mural
strict_usage_increment boolean No When true, fail if playbook usage increment step cannot complete. false
render_folder_id string No Optional target folder ID for rendered cloned deal room assets. WRS3019077808610000000000
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Create deal room from playbook template

{
  "jsonrpc": "2.0",
  "id": "dealroom_create_from_playbook-1",
  "method": "tools/call",
  "params": {
    "name": "dealroom_create_from_playbook",
    "arguments": {
      "playbook_id": "ITV8581355464240000000000",
      "dealroom_name": "Mural - Openspace Mid Market Deal Room",
      "client_name": "Mural",
      "public_access": true,
      "content_option_selections": {
        "KBD0215806635290000000000": "KBD5567454989590000000000"
      },
      "placeholder_replacements": {
        "company_name": "Mural"
      },
      "allow_placeholder_failures": true,
      "copy_background_assets": true
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "dealroom_create_from_playbook",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for dealroom_create_from_playbook.",
    "status": 400,
    "retryable": false
  }
}