Skip to main content
Glama

Mergewell Mail Merge

Preview mail merge

preview_mail_merge
Read-onlyIdempotent

Use this when the user wants to check a mail merge before printing: see how their spreadsheet (CSV or Excel) or list fills a letter, certificate or envelope template, which template fields like {{First Name}} have no matching column, which columns were matched by a similar name (first_name for First Name), and which records have empty values. Returns the first 3 merged records (or from preview_from) and a missing-field report; no files. Does not send email, print, or make labels. Do not use for Outlook or Gmail email merges.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDate printed on letters and certificates and used for {{today}}, as YYYY-MM-DD, e.g. 2026-10-03. Defaults to today (US Eastern time); pass the user's local date when known.
fileNoThe spreadsheet with one row per recipient: Excel .xlsx, CSV or TSV, first row = column headers, e.g. donors.xlsx.
namesNoShortcut for a plain list of names (one column called Name), e.g. ["Ana Lopez", "Ben Okafor"]. Handy for certificates.
sheetNoFor an .xlsx file: the sheet (tab) name to use, e.g. Donors. Defaults to the first sheet that has data.
styleNoCertificates: design style: classic (navy double border), gold (cream with gold seal), modern (teal geometric), deco (burgundy art deco). Default classic.
senderNoLetters: your name/organization and address at the top. Envelopes: the return address. One line per entry, e.g. ["Riverbend Animal Shelter", "120 Elm St", "Springfield, IL 62701"].
closingNoLetters: closing line, e.g. "With gratitude,". Defaults to "Sincerely," unless the template already ends with a closing. Use "" for none.
recordsNoAlternative to a file: the recipients typed as objects with the same keys, e.g. [{"First Name": "Ana", "Last Name": "Lopez", "Amount": 250}].
signersNoCertificates: up to 3 signature lines, e.g. [{"name": "Alan Brooks", "title": "Principal"}].
subjectNoLetters: optional subject line printed as "Re: ...", may contain fields, e.g. "Your {{Year}} giving statement".
csv_textNoAlternative to a file: the list pasted as CSV or tab-separated text with a header row, e.g. "First Name,Last Name,City\nAna,Lopez,Austin".
templateNoLetters: the letter text from the salutation to the last paragraph, with merge fields, e.g. "Dear {{First Name|Friend}},\n\nThank you for your gift of {{Amount:currency}} on {{Gift Date:date}}.{{#if Company}} Please thank everyone at {{Company}}.{{/if}}". Syntax: {{Field}}, {{Field|default}}, {{Field:format}} with formats currency, number, integer, ordinal, date, short_date, iso_date, upper, lower, title, first_word, last_word; {{#if Field}}...{{else}}...{{/if}}, {{#if Field = value}}, {{#if Gift > 0}} (also !=, <, >=, <=; numbers or dates), {{#unless Field}}...{{/unless}}; {{today}} is the document date.
field_mapNoOptional explicit links from template fields to column names when names differ, e.g. {"Gift": "Donation Amount (USD)"}.
has_headerNoSet false if the first row of the file is data, not column names (columns are then called Column A, Column B, ...). Default true.
usps_styleNoEnvelopes: print the delivery address in USPS style (uppercase, no periods or commas). Default false.
organizationNoCertificates: issuing organization printed at the top, e.g. Lincoln Elementary School.
preview_fromNoRecord number to start the preview at, e.g. 1 (default) or 25 to check later rows.
body_templateNoCertificates: the line under the name, may contain fields, e.g. "for completing {{Course}} ({{Hours}} hours) on {{Completed:date}}".
document_typeYesWhat to merge into: letter (US business letter, one per row), certificate (landscape award/completion/participation certificate, one per row), or envelope (#10 envelope with recipient and return address). Example: letter.
envelope_sizeNoEnvelopes: "10" for a #10 business envelope 4-1/8 x 9-1/2 in (default) or "a7" for a 5-1/4 x 7-1/4 in invitation envelope.
missing_valuesNoWhat to do when a record has an empty value for a field with no default: leave_blank (default), skip_record (leave that record out), or placeholder (print [Field Name] for proofreading).
presented_lineNoCertificates: the line above the name. Default "This certificate is proudly presented to" ("This certifies that" for completion).
signature_nameNoLetters: name printed under the closing, e.g. Maria Chen.
include_addressNoLetters: print the recipient address block above the salutation. Default true when the sheet has address columns.
signature_titleNoLetters: title under the signature name, e.g. Executive Director.
address_templateNoOptional recipient address block (letters: inside address; envelopes: delivery address), one line per row, e.g. "{{First Name}} {{Last Name}}\n{{Street}}\n{{City}}, {{State}} {{ZIP}}". Defaults to one built from the name, company and address columns.
certificate_kindNoCertificates: sets the default title and wording, e.g. completion -> "Certificate of Completion". Default achievement.
certificate_titleNoCertificates: custom title, e.g. "Certificate of Appreciation" or "Volunteer of the Year".
recipient_templateNoCertificates: the name line, e.g. "{{First Name}} {{Last Name}}". Defaults to the Name column (or First + Last).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
batchYes
paperYes
styleYes
countsYes
fieldsYes
sourceYes
missingYes
previewYes
summaryYes
warningsYes
downloadsYes
document_typeYes
missing_totalYes
unmatched_fieldsYes
needs_confirmationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources