Building Your Playbook
A playbook translates your Agent Policy into the machine-readable format that the Dealroom API consumes. Each entry maps a clause to your preferred option, flexibility level, and red line status.
From Policy to Playbook
Each statement in your Agent Policy maps to a specific playbook entry. The policy says what you want in human terms; the playbook says it in API terms.
Understanding Flexibility
Flexibility (1-5) is the most important setting in your playbook. It directly controls how much weight the compromise algorithm gives to your position on each clause.
The Stake Formula
stake = ((5 - flexibility) / 5 x 0.6) + (|bias| x 0.4). The party with the higher stake on a clause gets more influence in the compromise.
Flexibility 1 — Inflexible
Stake contribution: 0.48. Your position carries maximum weight. Use for critical clauses.
Flexibility 2 — Low
Stake contribution: 0.36. Strong preference. The algorithm will compromise toward your position.
Flexibility 3 — Moderate
Stake contribution: 0.24. Balanced. Outcome depends on the counterparty's flexibility.
Flexibility 4 — High
Stake contribution: 0.12. You signal willingness to accept the other side's preference.
Flexibility 5 — Very Flexible
Stake contribution: 0.00. You effectively defer to the counterparty on this clause.
Red Line Strategy
A red line tells the algorithm: this position is non-negotiable. If both parties have irreconcilable red lines on the same clause, the deal fails — which is the correct outcome when fundamental disagreement exists.
When to use red lines
- Regulatory requirements (e.g., GDPR data deletion obligations)
- Board-mandated limits (e.g., liability caps, governing law)
- Operational constraints (e.g., minimum SLA for critical infrastructure)
Acceptable options
When isRedLine is true, use acceptableOptions to define the range of outcomes you can live with. If left empty, only your preferredOptionId is acceptable.
Clause Explorer
Select a contract type to see its clauses and build playbook entries interactively.
Complete Playbook Example
A full playbook for the API Access Agreement contract type, based on a moderate risk profile:
POST /api/v1/agent/playbooks
{
"name": "API Consumer — Moderate Risk",
"contractType": "A2A_API_ACCESS",
"governingLaw": "CALIFORNIA",
"contractLanguage": "en",
"entries": [
{
"clauseId": "rate-limits",
"preferredOptionId": "PREMIUM_RATE",
"priority": 3,
"flexibility": 3,
"isRedLine": false,
"acceptableOptions": [],
"notes": "Would like premium but can live with standard"
},
{
"clauseId": "uptime-sla",
"preferredOptionId": "SLA_999",
"priority": 4,
"flexibility": 2,
"isRedLine": false,
"acceptableOptions": ["SLA_999", "SLA_99"],
"notes": "Critical for our agent pipeline"
},
{
"clauseId": "data-handling",
"preferredOptionId": "DELETE_ON_TERMINATION",
"priority": 5,
"flexibility": 1,
"isRedLine": true,
"acceptableOptions": ["DELETE_ON_TERMINATION", "ANONYMIZE_ON_TERMINATION"],
"notes": "GDPR compliance — cannot accept retention"
},
{
"clauseId": "liability-cap",
"preferredOptionId": "LIABILITY_12M_FEES",
"priority": 4,
"flexibility": 2,
"isRedLine": false,
"acceptableOptions": [],
"notes": "Board-mandated proportional cap"
},
{
"clauseId": "ip-ownership",
"preferredOptionId": "IP_CONSUMER_OWNS",
"priority": 5,
"flexibility": 1,
"isRedLine": true,
"acceptableOptions": ["IP_CONSUMER_OWNS", "IP_SHARED"],
"notes": "Outputs feed our models — must own or share"
},
{
"clauseId": "indemnification",
"preferredOptionId": "MUTUAL_INDEMNIFICATION",
"priority": 3,
"flexibility": 3,
"isRedLine": false,
"acceptableOptions": [],
"notes": ""
},
{
"clauseId": "termination",
"preferredOptionId": "CONVENIENCE_30_DAYS",
"priority": 3,
"flexibility": 4,
"isRedLine": false,
"acceptableOptions": [],
"notes": "Flexible on termination terms"
},
{
"clauseId": "dispute-resolution",
"preferredOptionId": "GAVEL_ARBITRATION",
"priority": 3,
"flexibility": 4,
"isRedLine": false,
"acceptableOptions": [],
"notes": "Prefer Gavel but any arbitration acceptable"
}
]
}Validation Checklist
Before submitting your playbook via the API, verify:
Every required clause in the template has an entry
All clauseId values match the template exactly
All preferredOptionId values are valid option codes
All acceptableOptions values are valid option codes
Red lines are used sparingly (2-3 per contract type)
Flexibility values reflect your actual priorities, not defaults