# Send DoorLoop announcements to tenants and check who got them

> A water shutoff or parking change: the agent sends a DoorLoop announcement to one property by email, text or portal, then reads the delivery log.

Source: https://cotlet.dev/integrations/doorloop-api-mcp-server/send-tenant-announcements

A plumber books a water shutoff for Thursday morning, and every tenant in one building needs to hear about it by email and text. Once it is sent, someone still has to open the Communications Log to find whose text failed and who never opened the email.

Cotlet does it in your own DoorLoop account with list\_properties, send\_announcement and list\_communications, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=doorloop) [All DoorLoop tools](https://cotlet.dev/integrations/doorloop-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can DoorLoop do this on its own?

DoorLoop sends announcements only from its app, on the Pro and Premium plans; Starter does not include them (checked 12 Oct 2026). DoorLoop's API reference has no announcement endpoint (it lists and creates Communication Log entries only), and the Premium Zapier app has no action that sends one, so even Premium API access does not cover this job. The Communications Log shows delivery per recipient, and finding the failures there is left to you.

By hand

## How you do it in DoorLoop today

1. Click Create New at the top of the DoorLoop main menu and choose Announcements under Communications; the composer opens on the right of the Communications page.
2. Under Send to in the DoorLoop composer, pick tenants as the recipient type and a scope: the full portfolio, an entire property, specific units or individual tenants.
3. Under Send via, tick Email, Text Message, Voice Message or Tenant Portal, and give a portal post an expiration date if it should not stay on the portal homepage indefinitely.
4. Write a Subject of up to 50 characters and the message, up to 800 characters for a text and 300 for a voice message, then click Send.
5. Open Communications > Communications Log for each recipient's status. Failed texts and unopened emails are found there by hand and followed up one tenant at a time.

With an agent

## How to send DoorLoop announcements to tenants and check who got them

Prompt

```
Tell all tenants at Maple Court by email and text that the water is off Thursday from 9 to 12, show me the text first, and later tell me whose text failed.
```

1. 01  
### Pin down the building  
The agent resolves the property you named with list\_properties. "Maple" matching both Maple Court and Maple Row stops the run with both names, because a sent announcement cannot be called back.
2. 02  
### Fit the wording to each channel  
The subject is kept under 50 characters. A text over 160 characters costs more than one announcement credit per tenant, so the agent offers a short text version and keeps the full wording for email and the portal.
3. 03  
### Show the draft, then send  
send\_announcement goes out only after you approve the exact subject, body, property and channels. Text is dropped if you want to save credits or the building has tenants who asked not to be texted.
4. 04  
### Check delivery afterwards  
A later call to list\_communications, filtered from the send time, counts delivered, failed and pending messages and the emails opened so far. The agent runs it when you ask or on the next scheduled run.
5. 05  
### Name who it missed, do not resend  
Tenants with a failed text or a bounced email are listed by unit, so you can call them or tape a notice to the door. The agent does not send again on its own, since a second announcement reaches the whole property again.

### What you get back

Example data

```
Sent "Water shutoff Thursday" to Maple Court, 12 tenants, by email and text, after your OK.
Text version: 158 characters, 1 announcement credit per tenant.
Email: 12 delivered, 7 opened so far.
Text: 10 delivered, 1 failed (Unit 7, Rosa Lin), 1 with no status yet (Unit 11, Tom Avery).
Suggested follow-up: call Unit 7 today and check Unit 11 tomorrow morning.
```

### Other ways to ask

- Post the new parking rules on the tenant portal for Maple Court and Birch Lofts until 30 Nov, no email or text.
- Email every tenant in the portfolio that the office is closed on 26 Nov, and tomorrow tell me who has not opened it.
- Text tenants at Birch Lofts that the elevator is out today, under 160 characters so it uses one credit each.
- Which announcements from last week had failed texts, and in which units?

Before you automate it

## What DoorLoop allows, and what to know first

- DoorLoop announcements are not available on the Starter plan; the Pro plan adds bulk announcements by email or text, and Premium includes them as well.
- DoorLoop text announcements use 1 announcement credit per 160 characters, up to 800 characters, and a voice message uses 1 credit with a 300 character limit; email and Tenant Portal posts are free.
- A DoorLoop Tenant Portal announcement stays on the portal homepage indefinitely unless it gets an expiration date.
- DoorLoop's Communications Log tracks opens and link clicks for email, while a text entry only shows whether it was sent, delivered or failed.
- Deleting an entry from DoorLoop's Communications Log removes only the log record; the tenant still has the message.

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

Sources: [DoorLoop Help: Send an announcement to your tenants](https://support.doorloop.com/en/articles/6075940-send-an-announcement-to-your-tenants) · [DoorLoop Help: Communications Log](https://support.doorloop.com/en/articles/6193605-communications-log) · [DoorLoop pricing (announcements by plan)](https://www.doorloop.com/pricing)

REST

## Call send\_announcement from a script

curl

```
curl https://cotlet.dev/api/v1/doorloop/send_announcement \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Water shutoff Thursday","body":"Water will be off Thursday from 9:00 to 12:00 for pipe repairs.","property_ids":["pr_3a91c7"],"channels":["email","text"]}'
```

Example response

```
{
"communication_id": "cm_77f0",
"subject": "Water shutoff Thursday",
"channels": [
"email",
"text"
],
"recipients": 12,
"status": "sent"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is doorloop\_send\_announcement. Example data.

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

Tools

## DoorLoop tools this automation uses

__Cotlet DoorLoop tools used to send DoorLoop announcements to tenants and check who got them__
| Tool | Parameters |
| -------------------- | -------------------------------------- |
| list\_properties | search, cursor |
| send\_announcement | subject, body, property\_ids, channels |
| list\_communications | since, cursor |

[All 14 DoorLoop tools with descriptions](https://cotlet.dev/integrations/doorloop-api-mcp-server#tools)

## Frequently asked questions

### Can it send to owners or vendors?

DoorLoop's composer can address owners and vendors in the app, but send\_announcement targets tenants only.

### Can it message one unit or one tenant?

Not with send\_announcement, which targets whole properties or the full portfolio. DoorLoop's own composer lets you pick specific units or individual tenants under Send to.

## More DoorLoop automations

- [Record check and cash rent payments in DoorLoop](https://cotlet.dev/integrations/doorloop-api-mcp-server/record-rent-payments)
- [Create a new DoorLoop lease with tenant, rent and deposit](https://cotlet.dev/integrations/doorloop-api-mcp-server/create-lease)
- [DoorLoop API and MCP server: every tool](https://cotlet.dev/integrations/doorloop-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to DoorLoop.

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

[Request access](https://cotlet.dev/app/signup?app=doorloop)
