Partnership & Integration Evaluation
Someone proposes a partnership — an integration, a reseller deal, an academic collaboration. Instead of ad-hoc emails and gut feelings, this procedure gives you structured scoring, team input, and clear decision routing. The outcome is always one of three: proceed, pass, or defer.
Use it when: An inbound or outbound partnership opportunity comes in and you want a consistent, transparent way to evaluate it.
What makes it interesting: It uses a four-criteria scoring system (strategic fit, effort, revenue potential, risk) to produce a numeric score, then branches into three different paths depending on the result. If the team decides to defer, it schedules a reminder for 3 months later.
Walkthrough
Header
id: partnership-evaluation
version: 1
trigger: manual
category: Operations
# Partnership & Integration Evaluation
Evaluate an inbound or outbound partnership opportunity — integrations, resellers,
content providers, academic partners, or sponsors.Input
The inputs capture who the partner is, what they want, and how urgent the evaluation needs to be.
## Input
| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| partner_name | string | yes | | Organization name |
| contact_name | string | yes | | Primary contact |
| contact_email | string | yes | | Contact email |
| type | string | yes | | integration / reseller / content / academic / sponsorship |
| source | string | no | inbound | inbound / outbound / referral |
| summary | string | yes | | What they want, why it matters |
| urgency | string | no | normal | normal / time-sensitive |
| channel | string | no | #partnerships | Slack channel for discussion |State
The evaluation score and decision are tracked as invocation state (in-memory during execution), while the partnership record lives in Notion for long-term visibility.
## State
| Field | Storage | Description |
|-------|---------|-------------|
| eval_record | Notion DB row | Row in Partnerships database |
| score | invocation | Evaluation score (0-20) |
| decision | invocation | proceed / pass / defer |
| current_step | invocation | Where we are |Steps
Step 1 — Log the opportunity. Create a record and start a discussion thread for the team.
### log_opportunity
Create a row in the **Partnerships** database with name, contact, type, source,
status "Evaluating", and summary.
Post in {input.channel}:
> 🤝 New partnership opportunity
> **{input.partner_name}** ({input.type})
> {input.summary}
> Source: {input.source} | Contact: {input.contact_name}
> Thread below for discussion.
→ evaluateStep 2 — Evaluate and score. Wait for team input (shorter window if urgent), then score across four criteria. Each is rated 1–5, producing a total out of 20.
### evaluate
**Wait**: 3d for team input (1d if time-sensitive)
Collect thread responses. Score against criteria:
- **Strategic fit** (1-5): Alignment with roadmap and target market
- **Effort estimate** (1-5): Engineering/product time required
- **Revenue potential** (1-5): Direct revenue, user growth, or market access
- **Risk** (1-5, inverted): Legal, technical, or reputational concerns
Post summary in thread:
> **Evaluation: {input.partner_name}**
> Strategic fit: X/5 | Effort: X/5 | Revenue: X/5 | Risk: X/5
> Score: X/20
> Recommendation: proceed / pass / defer
Scoring thresholds:
- Score ≥ 14 → recommend proceed
- Score 8-13 → recommend defer
- Score < 8 → recommend pass
→ route_decisionStep 3 — Route the decision. Different actions depending on the outcome. "Proceed" creates a Linear project with kickoff tasks. "Defer" schedules a 3-month reminder.
### route_decision
Based on {state.decision}:
**If proceed:**
- Update status to "Active"
- Create Linear project: "{input.partner_name} Integration/Partnership"
- Create issues: kickoff call, technical scoping, legal review
- DM owner with project link
**If pass:**
- Update status to "Passed"
**If defer:**
- Update status to "Deferred"
- Schedule reminder for 3 months
→ notify_partnerStep 4 — Draft a response. The procedure drafts an email for a human to review and send — it never contacts external parties directly.
### notify_partner
Draft a response email (post in channel for human to review and send):
**If proceed:** "We'd love to move forward. Let's schedule a kickoff call."
**If pass:** "Not the right fit at this stage. We'll keep you in mind."
**If defer:** "Interested but can't commit now. Can we revisit in Q[next]?"
→ done ✓Output
## Output
| Field | Type | Description |
|-------|------|-------------|
| partner_name | string | Organization name |
| decision | string | proceed / pass / defer |
| score | number | Composite score out of 20 |
| linear_project | string | Linear project URL (if proceed) |
| eval_record_id | string | Notion page ID |Key Patterns
This procedure demonstrates patterns you can reuse:
- Structured scoring — multiple criteria combined into a single numeric score
- Three-way branching — proceed, pass, or defer, each with different actions
- Deferred follow-up — "defer" schedules a reminder for later re-evaluation
- Human-in-the-loop — drafts partner communication for a human to send, never auto-sends