Back to DocuPost in Excel
SheetXAI logo
DocuPost logo
DocuPost · Excel Guide

Bulk Send Physical Letters to Every Address in a Google Sheet

2026-05-14
5 min read

The Scenario

You are a real estate attorney. Seventy-five property owners need to receive a formal notice letter before the end of the week — a statutory requirement, not a nice-to-have. You have the mailing list in the 'Mailing List' worksheet: ToName in column A, Address1 in column B, City in column C, State in column D, Zip in column E, and the PDF URL for the letter in column F. The list came from the title company this morning.

You have used DocuPost before. You know it can handle the printing and mailing. What you do not have is three hours to copy each recipient into the DocuPost dashboard one at a time.

The bad version:

  • Open DocuPost's interface, click "New Recipient," and type ToName, Address1, City, State, and Zip from row 2 of the workbook manually. Paste the PDF URL into the document field. Confirm.
  • Repeat that sequence 74 more times, checking each address against the workbook as you go because transposing a zip code on a legal notice is not a mistake you want to explain.
  • Get to row 40, realize you skipped row 23 because you were scrolling, go back, find the gap, and add the missing recipient out of sequence.

Statutory deadlines do not negotiate. You bill by the hour, and this is not the work you are supposed to be billing for.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Excel workbook. It reads the mailing list, understands the column structure, and through its built-in DocuPost integration it dispatches every letter for you in one operation. You do not leave the workbook.

Open the SheetXAI sidebar and paste this prompt:

Read every row in the 'Mailing List' worksheet (columns: ToName, Address1, City, State, Zip), check the DocuPost balance is sufficient, then send a physical letter to each recipient using the PDF URL in column F as the document.

What You Get

  • SheetXAI checks your DocuPost account balance before dispatching anything — if the balance does not cover 75 letters, it tells you exactly what the current balance is and stops before spending a dollar.
  • For each successful dispatch, it writes "Mailed" into column G of that row.
  • Any row that fails — invalid address format, unreachable PDF URL — gets a specific error message in column G instead, so you know exactly which recipients need attention.
  • At the end you have a full in-workbook record of what was sent, what failed, and what the DocuPost API returned for each.

What If the Data Is Not Quite Ready

The PDF URL column is inconsistent

Some rows have the letter PDF in column F. Other rows have the URL in column H because someone added a "Certified Mail" flag in column G midway through building the list.

Read the 'Mailing List' worksheet. For rows where column G is blank, the PDF URL is in column F. For rows where column G says 'Certified', the PDF URL is in column H. Send a DocuPost letter to each row using ToName, Address1, City, State, Zip from columns A–E and the correct PDF column, then write 'Mailed' or the error in column I.

The address data needs cleanup before mailing

Column D has state names written as full words — "California," "Texas" — instead of two-letter abbreviations. DocuPost expects the abbreviation.

Before sending, normalize column D in the 'Mailing List' worksheet: convert any full state name to its two-letter USPS abbreviation. Then send a DocuPost letter to every row using columns A–F, and mark column G as 'Mailed' on success.

The mailing list spans multiple worksheets

The property owner list is split across two worksheets — 'Phase 1 Owners' and 'Phase 2 Owners' — both with the same column structure.

Read all rows from both the 'Phase 1 Owners' worksheet and the 'Phase 2 Owners' worksheet. Combine them and send a DocuPost letter to each recipient using columns A–E for the address and column F for the PDF URL. Mark column G as 'Mailed' in whichever worksheet each row came from.

The whole thing in one shot — balance check, cleanup, send, and flag stragglers

Check the DocuPost balance. If balance is at least $40, read the 'Mailing List' worksheet, normalize any full state names in column D to two-letter abbreviations, send a DocuPost letter to every row using columns A–E for the address and column F for the PDF URL, and write 'Mailed' in column G on success. If any row fails, write the error reason in column G. If the balance is under $40, put 'BALANCE TOO LOW — current: $X' in cell A1 and do not send anything.

The pattern across all four: describe the data condition and the action together. One prompt handles both.

Try It

Open any Excel workbook with a recipient list — property owners, clients, members, anyone who needs a physical letter — and get the 7-day free trial of SheetXAI to dispatch the whole mailing through DocuPost without leaving the workbook. If you have postcards to send too, see the bulk postcard spoke, or start from the DocuPost hub overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more