# draft_winback

Returns messageId, draft and toEmail with a next-review instruction, or an error such as no matching/churned merchant..

## Purpose

Generate a personalized win-back draft for ONE churned merchant on demand. Lands in the review queue (pending_review) — NOT sent; use send_flow_message after the user approves. Calling it again for the same merchant replaces that standing draft rather than adding another. Requires GEMINI_API_KEY on the server.

## Credentials and scope

Owner workspace credential. The credential determines tool visibility. For tools with appId, use the HeyCrust app UUID from list_apps; the dashboard app selector does not supply MCP arguments for you.

## Inputs

- `shopDomainOrInstallId`: required; string; minLength: 1

## Example request

The identifiers and merchant are fictional. Replace them with records returned for your own workspace; this example is schema-checked, not a promise that the fictional record exists.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "draft_winback",
    "arguments": {
      "shopDomainOrInstallId": "example.myshopify.com"
    }
  }
}
```

POST this JSON to `https://heycrust.com/api/mcp` with `Content-Type: application/json` and `Authorization: Bearer <YOUR_CREDENTIAL>`. The tool result normally contains JSON encoded as text in `result.content`; inspect JSON-RPC errors and `result.isError` before using it.

## Result

Returns messageId, draft and toEmail with a next-review instruction, or an error such as no matching/churned merchant.

## Effects and verification

Reads a churned merchant, requests a draft from the configured Gemini provider and saves/replaces the standing pending-review draft. It does not send it. Obtain approval for the provider request; inspect the exact matched merchant before requesting a draft.

## Troubleshooting

A missing tool can mean that the credential lacks its catalog or required scopes. Invalid arguments are different from unavailable source data or a record outside the workspace. A handler can return a business error even when the argument schema is valid. Read [MCP overview](/docs/mcp) and [Help](/docs/help).
