Paperless Post logo

Paperless Post automation

Send Paperless Post invitations from a spreadsheet

The guest list grew in a shared sheet with extra columns, two emails for some people, families on one line and notes about plus-ones. Paperless Post wants its own template, so before anything goes out somebody has to rebuild the file row by row.

Cotlet does it in your own Paperless Post account with list_events, list_guests, list_contacts, add_guests and send_invitation, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Official options

Can Paperless Post do this on its own?

Paperless Post has no API for guest lists or sending (checked 12 Oct 2026). The website imports a .csv or .xlsx file that matches its own template, on desktop only. Integrations for Paperless Pro subscribers are rolling out slowly: Raiser's Edge is in beta, and Salesforce, HubSpot and Mailchimp have a waitlist. Cleaning a list that does not match the template stays a manual job.

By hand

How you do it in Paperless Post today

  1. On a computer, open the draft, go to the Add guests page and choose Upload (.csv, .xlsx); Paperless Post does not offer spreadsheet upload on mobile.
  2. Download the Invite Guests Spreadsheet template and copy your list into it: a Name column and a single Email or Phone column are required, Group Name, Total Invited and Message are optional, and any other column is rejected.
  3. If the file uses Total Invited, open the event's RSVP options and turn on Allow guests to bring additional guests with a number at least as large as the biggest party in the sheet.
  4. Upload, then read the Paste a List box for rows that failed, fix each error and add those guests again; a family can upload half-complete when only some members fail.
  5. Press the blue Send button, or choose Send later with a date, time and time zone and press Schedule. The rebuild has to be repeated for every event that uses the same list.

With an agent

How to send Paperless Post invitations from a spreadsheet

Prompt

Take guests.xlsx from my planner, clean it up for Paperless Post (one contact per guest, families as groups, plus-ones in Total Invited), add everyone to the unsent list of my "Summer Gala" Card and schedule it for Friday at 9:00 New York time. Show me the rows you had to fix first.
  1. 01

    Find the right draft

    The agent looks up the invitation with list_events and confirms the title and date with you, because Paperless Post keeps every draft and a copied event can carry the same name.

  2. 02

    Clean the rows before anything is added

    Each guest gets exactly one contact: the email when a row has both, or the one you prefer. Rows sharing a surname and address become one group_name, plus-ones go into total_invited and are capped at 10, and personal notes over 200 characters are shortened or dropped.

  3. 03

    Remove people who are already invited

    The agent compares the cleaned file with list_guests for this event and with your Address Book from list_contacts. Guests already on the list are skipped, and near matches such as the same name with a different email are shown to you instead of added twice.

  4. 04

    Add the guests, then report the leftovers

    add_guests fills the unsent list in batches. Rows Paperless Post refuses come back with the reason, for example a phone number outside the U.S. or Canada, and the agent lists them so you can find an email address.

  5. 05

    Send or schedule only on your word

    The agent tells you the final count and whether Total Invited needs the Allow guests to bring additional guests setting, which you turn on in the event's RSVP options. send_invitation then waits for your OK; a list over 2,000 guests is scheduled in waves.

What you get back

Example data

Summer Gala (Card), draft found
File: 143 rows, 128 guests after cleaning
Grouped: 19 families, 41 guests with plus-ones (largest party 5)
Skipped: 6 already on the guest list, 2 duplicates inside the file
Not added: Lena Fischer (+49 phone, no email), Raj Patel (no contact)
Before sending: set Allow guests to bring additional guests to 5
Scheduled: Fri 16 Oct, 9:00 America/New_York, 128 guests

Other ways to ask

  • Add the 30 people from the PTA export to the bake sale Flyer but do not send yet; I want to check the list first.
  • Use the guest list from last year's holiday party for this year's Card, skip anyone who bounced last time, and send now.
  • My CRM export has 3,400 contacts. Load them and schedule the invitation in waves of 2,000 starting Monday at 10:00.

Before you automate it

What Paperless Post allows, and what to know first

  • The Paperless Post guest template allows up to 10 total invited per guest, and a personal Message longer than 200 characters makes that row fail to upload.
  • Paperless Post schedules a send for at most 2,000 recipients at a time; up to 5,000 can be sent in real time with the Send button.
  • Free Paperless Post designs go to the first 50 recipients at no cost, then each invite costs 1 Coin; on Paperless Pro each guest sent to counts against the yearly guest allowance.
  • A scheduled Paperless Post Card cannot be edited until its scheduled send is cancelled with Edit or cancel scheduled sending, then rescheduled.
  • Paperless Post accepts pasted phone numbers only from U.S. states and Canadian provinces; guests elsewhere need an email address or a Shareable Link.

send_invitation asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: Paperless Post: Upload a spreadsheet of contacts to my guest list · Paperless Post: Scheduling your Card or Flyer to send later · Paperless Post: How many recipients can I send to? · Paperless Post: Copy and paste a list of names and emails

REST

Call add_guests from a script

curl

curl https://cotlet.dev/api/v1/paperless-post/add_guests \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"event_id":"ev_8F3K2Q","guests":[{"name":"Maya Chen","email":"maya@example.com","total_invited":2},{"name":"Jordan Reyes","email":"jordan@example.com","group_name":"Reyes family"},{"name":"Ana Reyes","phone":"+12125550188","group_name":"Reyes family"}]}'

Example response

{
  "event_id": "ev_8F3K2Q",
  "added": 2,
  "unsent_list_total": 2,
  "status": "unsent"
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is paperless-post_add_guests. Example data.

Schedule it in n8n, Make, Zapier or cron

Tools

Paperless Post tools this automation uses

Cotlet Paperless Post tools used to send Paperless Post invitations from a spreadsheet
Tool Parameters
list_events status, limit, cursor
list_guests event_id, status, tag, search
list_contacts search, cursor
add_guests event_id, guests
send_invitation event_id, send_at
All 11 Paperless Post tools with descriptions

Frequently asked questions

Can the agent turn on plus-ones for the event?

No. Allow guests to bring additional guests is a toggle in the RSVP options of the Paperless Post invitation, and Paperless Post requires it to match the largest party size when a spreadsheet uses Total Invited. The agent tells you the number to set before it sends.

Give your agent access to Paperless Post.

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