[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)

# Schedule a recurring Constant Contact email by copying the last one

> Copy last month's Constant Contact email, then schedule the copy for a set day and audience, up to a year ahead, without the Schedule page.

Source: https://cotlet.dev/integrations/constant-contact-api-mcp-server/schedule-recurring-email

Your monthly reminder or weekly digest goes out in the same layout every time, yet each send means copying the last one, picking the audience and setting the date by hand.

Cotlet does it in your own Constant Contact account with list\_emails, copy\_email, list\_lists and send\_email, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Constant Contact do this on its own?

Constant Contact can copy an email, schedule it up to a year ahead and resend to non-openers, but some of these features are not in all plans (checked 22 Oct 2026). Its Schedule page sets one send at a time, with no repeat setting. The official MCP server (beta) is built for transactional email, so it does not schedule a marketing email to your list.

## How you do it in Constant Contact today

1. In the left menu, go to Channels > Emails, click the three dots next to the last email and choose Details, then use Copy.
2. Edit the copy in the editor, then click Continue in the upper right to open the Schedule page.
3. Under Time and audience pick Schedule for later, then under Audience choose Lists or Segment; Filter by tag shows only if you have created tags.
4. Expand Sender details and check the subject line, preheader, From name, From address, Reply-to address and physical address.
5. Click Schedule at the top right or bottom right, and repeat the whole routine next month.

## How to schedule a recurring Constant Contact email by copying the last one

Prompt

```
On the 1st of each month, copy last month's rent reminder email, tell me when the copy is ready for me to edit, then schedule it for the 3rd at 9:00 to the Tenants list.
```

1. 01  
### Find the last issue  
list\_emails with status sent returns your sends. The agent picks the newest whose name matches the series you named, such as "Rent reminder".
2. 02  
### Copy it  
copy\_email makes a draft from that email with a new name. It changes no text: if the new issue needs new wording or dates, the agent stops here and gives you the draft name to edit in the editor, then continues when you say so.
3. 03  
### Resolve the audience  
list\_lists turns the name Tenants into a list ID. If two lists match, the agent asks you instead of choosing one.
4. 04  
### Check the date and the role  
The agent checks that the send time is in the future and no more than a year ahead. Scheduling needs an Account Owner or Account Manager login; a Campaign Creator cannot schedule or send.
5. 05  
### Schedule it  
send\_email sets the send time and the audience. It reaches your contacts, so it waits for your OK by default and shows the audience and the time first.

### What you get back

Example data

```
Copied "Rent reminder, September" as "Rent reminder, October"
Audience: Tenants
Scheduled for Nov 3, 9:00
Send can take up to 30 minutes, depending on the size of the list
```

### Other ways to ask

- Schedule the draft "Spring open house" for Thursday 9:00 to the Newsletter list with resend to non-openers turned on.
- List my scheduled emails and tell me which list or segment each one goes to.
- Every Friday, copy the Weekly digest and schedule the copy for Monday 8:00 once I confirm the edits.

## What Constant Contact allows, and what to know first

- Constant Contact lets you schedule an email up to a year in advance.
- Contacts added to a list before the send date also receive the email, and a segment refreshes when the email sends.
- A contact who is on more than one chosen list receives the email once.
- Only an Account Owner or an Account Manager can schedule or send; a Campaign Creator can build emails but not send them.
- Resend to non-openers is not available when the email runs a subject line A/B test, and some plans do not include it.

send\_email asks for your OK by default. To run it weekly without you, switch confirmation off for that tool in your dashboard.

Sources: [Constant Contact Help: Schedule and send an email](https://knowledgebase.constantcontact.com/guides/KnowledgeBase/5257-schedule-and-send-an-email-campaign) · [Constant Contact Help: Add and manage users in your account](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/41588-Add-and-manage-users-in-your-Constant-Contact-account?lang=en%5FUS) · [Constant Contact Help: View the details and reporting for a sent email](https://knowledgebase.constantcontact.com/articles/KnowledgeBase/18668-help-overview-the-email-details-page?lang=en%5FUS)

## Call send\_email from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/constant-contact/emails/7b1e9c30-4d2a-4f86-9a15-c3e8d0b72f41 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"list_ids":["5a8d3f21-6b9c-4e07-8d14-2f7c9e0a1b36"],"send_at":"2026-11-03T09:00:00+01:00"}'
```

Example response

```
{
"email_id": "7b1e9c30-4d2a-4f86-9a15-c3e8d0b72f41",
"status": "scheduled",
"scheduled_for": "2026-11-03T08:00:00Z",
"audience": "Tenants"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is constant\_contact\_write → send\_email. Example data.

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

## Constant Contact tools this automation uses

__Cotlet Constant Contact tools used to schedule a recurring Constant Contact email by copying the last one__
| Tool | Parameters |
| ------------ | --------------------------------------------------------------------- |
| list\_emails | status, limit, cursor |
| copy\_email | email\_id, name |
| list\_lists | limit, cursor |
| send\_email | email\_id, list\_ids, segment\_id, send\_at, resend\_to\_non\_openers |

[All 12 Constant Contact tools with descriptions](https://cotlet.dev/integrations/constant-contact-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Constant Contact to Cotlet?

Yes. You sign in to Constant Contact yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Constant Contact 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 Constant Contact automations

- [Weekly Constant Contact email report with AI](https://cotlet.dev/integrations/constant-contact-api-mcp-server/weekly-email-report.md)
- [Build a re-engagement list from Constant Contact non-openers](https://cotlet.dev/integrations/constant-contact-api-mcp-server/re-engagement-list.md)
- [Constant Contact API and MCP server: every tool](https://cotlet.dev/integrations/constant-contact-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Constant Contact.

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

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

---

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 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.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
