Skip to content

Payment recovery dashboard-parity MCP tools (XDEV-2332 follow-up)#22

Closed
hookdump wants to merge 2 commits into
mcp-audit-log-readfrom
xdev-2332-recovery-parity
Closed

Payment recovery dashboard-parity MCP tools (XDEV-2332 follow-up)#22
hookdump wants to merge 2 commits into
mcp-audit-log-readfrom
xdev-2332-recovery-parity

Conversation

@hookdump

Copy link
Copy Markdown
Contributor

Stacked on #21. SDK half of churnkey/churnkey-api#884 — seven new tools closing the gap between the dashboard's payment recovery editor and the MCP surface.

New tools

  • update_recovery_email_offers — coupon (DISCOUNT) + one-time invoice discount (INVOICE_DISCOUNT, PERCENT ≤100 / AMOUNT) per email; null removes; CTA auto-fill/reset and paired-SMS mirroring documented as dashboard parity.
  • update_recovery_sms — SMS companion editing on the shared step guid: org feature gate, 160-text-char cap, dunning merge-field list, magic-link guidance, shared-schedule propagation.
  • add_recovery_email / remove_recovery_email — sequence steps as email+SMS pairs; add inherits the last step one day later; remove is confirm-gated (remove_recovery_email) and destructive-flagged.
  • update_recovery_audience + list_recovery_audience_attributes — rename + filter rules against the dunning palette; A/B-test lock and primary-campaign limitation documented.
  • set_recovery_blueprint_enabled — confirm-gated, destructive-flagged; documents that it saves and publishes in one step like the dashboard toggle.

update_recovery_email's schema now carries the dashboard length caps and notes that sendOnDay/timeToSend move the paired SMS.

Deferred (dashboard-only, noted in README/CHANGELOG): exclusion lists, one-time sendOnDate sends.

Tests

8 new vitest cases (routing, confirm literals, annotation flags, null-to-remove semantics, name cap). Full suite 66/66; tsc --noEmit clean.

🤖 Generated with Claude Code

hookdump and others added 2 commits June 11, 2026 09:59
update_recovery_email_offers, update_recovery_sms, add_recovery_email,
remove_recovery_email, update_recovery_audience,
list_recovery_audience_attributes, set_recovery_blueprint_enabled.
update_recovery_email docs now carry the dashboard length limits and
shared-schedule propagation notes. Deferred: exclusions, sendOnDate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The API now rejects the filter without payment_recovery.campaigns.read_pii
(it was an identity-existence oracle under the plain read scope).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hookdump hookdump marked this pull request as draft June 11, 2026 13:56
@hookdump hookdump marked this pull request as ready for review June 12, 2026 14:09
@hookdump

Copy link
Copy Markdown
Contributor Author

Superseded by #25 — [MCP reslice 2/2] @churnkey/mcp tool definitions (this tool is included there). Closing in favor of the reslice.

@hookdump hookdump closed this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant