[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Build a Postscript win-back SMS campaign

> Build the unengaged segment, save the win-back campaign as a draft, preview it on your phone and schedule it in Postscript from your AI agent.

Source: https://cotlet.dev/integrations/postscript-api-mcp-server/win-back-campaign

Postscript tells you to clean a quiet SMS list with a win-back campaign. The segment takes four criteria and the flow takes a dozen clicks, and both get rebuilt by hand each time.

Cotlet does it in your own Postscript account with list\_segments, create\_segment, create\_campaign, send\_preview and schedule\_campaign, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=postscript) [All Postscript tools](https://cotlet.dev/integrations/postscript-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Postscript do this on its own?

Postscript documents the win-back as a manual build in Segments and Flow Builder, with a Win-Back template category (checked 23 Oct 2026). The API reference lists no segment or campaign endpoints, and the official MCP server is read-only, so no official tool creates either.

## How you do it in Postscript today

1. In the dashboard, open Messaging > Segments > Create Segment and name the segment.
2. Add the criteria Postscript's win-back guide lists: Number of Orders equals 0 OR Last Order Date before last 365 days, Subscriber Has Clicked not equal to TRUE, Subscriber Created Date before last 180 days, and Number of Replies equals 0\. Click Save Segment.
3. Open Messaging > Flow Builder > Create Flow > Campaign > Create a new campaign, name it, pick the segment under Includes and click Save.
4. Drag in a Send Message block and write the text. Add a Subscriber Event Split with a Send Message block per branch, and optionally an Update Subscriber block to tag each branch.
5. Click Save Changes, then schedule the campaign or activate it right away.

## How to build a Postscript win-back SMS campaign

Prompt

```
Build a win-back campaign for subscribers who never ordered, never clicked and never replied, opted in over 180 days ago. Save it as a draft, send me a preview and wait for my OK before scheduling.
```

1. 01  
### Look for the segment first  
Your agent reads Messaging > Segments with list\_segments and searches the name. If an unengaged segment already exists, it reuses it and reports its Segment Size, so a second copy never piles up.
2. 02  
### Save the four criteria  
create\_segment gets the criteria from your prompt, each joined with and or or. include\_phone\_only stays off, because Postscript says purchase filters do not apply to phone-only subscribers. The agent reads the Segment Size back and stops if it is 0.
3. 03  
### Save the campaign as a draft  
create\_campaign puts the segment under Include, turns on "exclude customers messaged in the last 16 hours" and sets Order Created as the cancellation trigger, so buyers leave the flow. It saves the first Send Message block and sends nothing. The Subscriber Event Split and its branch replies you add in Flow Builder.
4. 04  
### Preview on a real phone  
send\_preview texts the message to the number you name. It waits for your OK, since it reaches a phone.
5. 05  
### Schedule it for the subscribers' hours  
schedule\_campaign runs only after you approve it. The agent asks for a date and time, and sets use\_subscriber\_time\_zone so each region gets the message at the same local time.

### What you get back

Example data

```
Segment "Unengaged 180 days": 3,412 subscribers (new)
Draft "Win-back, quiet subscribers" saved, includes the segment, excludes customers messaged in the last 16 hours
Preview sent to +1 555 0100
Scheduled for Oct 28, 11:00 in each subscriber's time zone, after your OK
```

### Other ways to ask

- Same win-back, but only for subscribers who opted in through a popup.
- Rebuild last quarter's win-back draft with this message and a new segment name.
- Create the segment and report its size, but save no campaign.

## What Postscript allows, and what to know first

- Postscript's win-back guide defines unengaged as zero orders or no order in 365 days, no link clicked, opted in more than 180 days ago and zero replies.
- A campaign flow can include and exclude up to 10 segments in total.
- The subscriber time zone option exists only for scheduled campaigns, not for Activate immediately.
- A stopped campaign flow cannot be reactivated, and some of its messages may still send after you stop it.
- Postscript advises including "Reply STOP to unsubscribe" in campaign messages at least once every month.

send\_preview and schedule\_campaign ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.

Sources: [Postscript Help: Clean your SMS list with a win-back campaign](https://help.postscript.io/en/articles/13563999-clean-your-sms-list-with-a-win-back-campaign) · [Postscript Help: Create a campaign flow](https://help.postscript.io/en/articles/13563955-create-a-campaign-flow) · [Postscript Help: Create a segment](https://help.postscript.io/en/articles/13563995-create-a-segment) · [Postscript Help: Message scheduling in campaign flows](https://help.postscript.io/en/articles/13563979-message-scheduling-in-campaign-flows)

## Call create\_segment from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/postscript/segments \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Unengaged 180 days","include_phone_only":false,"criteria":[{"criterion":"Number of Orders","parameter":"equals","value":"0"},{"join":"or","criterion":"Last Order Date","parameter":"before last","value":"365 days"},{"join":"and","criterion":"Subscriber Has Clicked","parameter":"not equal to","value":"TRUE"},{"join":"and","criterion":"Subscriber Created Date","parameter":"before last","value":"180 days"},{"join":"and","criterion":"Number of Replies","parameter":"equals","value":"0"}]}'
```

Example response

```
{
"segment_id": "60418",
"name": "Unengaged 180 days",
"size": 3412,
"include_phone_only": false
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is postscript\_write → create\_segment. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/postscript-api-mcp-server.md#automations)

## Postscript tools this automation uses

__Cotlet Postscript tools used to build a Postscript win-back SMS campaign__
| Tool | Parameters |
| ------------------ | -------------------------------------------------------------------------------------------- |
| list\_segments | search |
| create\_segment | name, criteria, include\_phone\_only |
| create\_campaign | name, include\_segments, exclude\_segments, exclude\_recently\_messaged, cancel\_on, message |
| send\_preview | campaign\_id, phone |
| schedule\_campaign | campaign\_id, starts\_at, use\_subscriber\_time\_zone |

[All 13 Postscript tools with descriptions](https://cotlet.dev/integrations/postscript-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Postscript to Cotlet?

Yes. You sign in to Postscript yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Postscript once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Postscript automations

- [Launch a Postscript VIP keyword campaign](https://cotlet.dev/integrations/postscript-api-mcp-server/vip-keyword-campaign.md)
- [Answer Postscript subscriber replies with AI](https://cotlet.dev/integrations/postscript-api-mcp-server/answer-subscriber-replies.md)
- [Postscript API and MCP server: every tool](https://cotlet.dev/integrations/postscript-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Postscript.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Postscript.

[Sign up free](https://cotlet.dev/app/signup?app=postscript)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
