Wiki source code of Sending Bulk Messages from the Contract Report
Version 4.3 by Isaac Mejia on 2026/04/30 14:43
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
4.2 | 1 | = Sending Bulk Messages from the Contract Report = |
| |
1.1 | 2 | |
| |
2.1 | 3 | == Overview == |
| 4 | |||
| |
1.1 | 5 | Member Manager lets you send bulk emails and text messages to members directly from the Contract Report. This is useful when you want to message a specific contract group — for example, all members on a Frozen contract, all members in a specific program, or all members with contracts ending this month. |
| 6 | |||
| 7 | The feature uses the same email and SMS infrastructure as the Members tab, so opt-out preferences, communication settings, and personalization tokens all behave the same way. | ||
| 8 | |||
| |
2.1 | 9 | ---- |
| |
1.1 | 10 | |
| |
2.1 | 11 | == Before You Start == |
| |
1.1 | 12 | |
| 13 | Make sure your members have: | ||
| 14 | |||
| |
2.1 | 15 | * Email addresses on file with the TCPA email opt-in checked (for emails) |
| 16 | * Mobile phone numbers on file with the TCPA text opt-in checked (for texts) | ||
| 17 | * Reminders preference set to a value that allows the channel you're sending on: | ||
| 18 | ** **Nothing** → receives neither email nor text | ||
| 19 | ** **Email Only** → receives email only | ||
| 20 | ** **Text Only** → receives text only | ||
| 21 | ** **Both** → receives both | ||
| |
1.1 | 22 | |
| 23 | Members who don't meet these requirements will be filtered out automatically and excluded from the send. The recipient count shown before send already reflects this filtering. | ||
| 24 | |||
| |
2.1 | 25 | ---- |
| |
1.1 | 26 | |
| |
2.1 | 27 | == Step-by-Step == |
| |
1.1 | 28 | |
| |
2.1 | 29 | === 1. Run a Contract Report Query === |
| |
1.1 | 30 | |
| |
2.1 | 31 | Navigate to **Reports → Contract Report**. Set your filters (status, program, location, contract dates, etc.) and run the query. |
| |
1.1 | 32 | |
| |
2.1 | 33 | === 2. Switch to the Detail View === |
| |
1.1 | 34 | |
| |
2.1 | 35 | The bulk messaging buttons only appear on the **Detail** view, not the Summary view. |
| |
1.1 | 36 | |
| |
2.1 | 37 | {{info}} |
| |
1.1 | 38 | If you ran the query on Summary and then switched to Detail, re-run the query on Detail before clicking the messaging buttons. |
| |
2.1 | 39 | {{/info}} |
| |
1.1 | 40 | |
| |
2.1 | 41 | === 3. Choose Your Action === |
| |
1.1 | 42 | |
| 43 | Four buttons appear at the top of the report: | ||
| 44 | |||
| |
3.1 | 45 | |=Button|=What It Does| |
| 46 | |**Email All Found**|Sends an email to every member in the current result set| | ||
| 47 | |**Email Selected**|Sends an email to only the members you've checked in the table| | ||
| 48 | |**Text All Found**|Sends a text to every member in the current result set| | ||
| 49 | |**Text Selected**|Sends a text to only the members you've checked in the table| | ||
| |
1.1 | 50 | |
| |
2.1 | 51 | {{info}} |
| |
1.1 | 52 | If a member has multiple contracts that match your query, they will only receive one message — the system deduplicates by member ID before sending. |
| |
2.1 | 53 | {{/info}} |
| |
1.1 | 54 | |
| |
2.1 | 55 | === 4. Compose Your Message === |
| |
1.1 | 56 | |
| |
2.1 | 57 | **For emails:** |
| |
1.1 | 58 | |
| |
2.1 | 59 | * (Optional) Pick an existing template from the dropdown to pre-fill the subject and body. |
| 60 | * Enter a subject line. | ||
| 61 | * Edit the body in the rich text editor. You can use bold, italics, lists, links, and images the same way you would when emailing from a member profile. | ||
| 62 | * Use personalization tokens to customize each message: | ||
| 63 | ** **#FIRST NAME#** — member's first name | ||
| 64 | ** **#LAST NAME#** — member's last name | ||
| 65 | ** **#LOGIN#** — member's portal login | ||
| |
1.1 | 66 | |
| |
2.1 | 67 | **For texts:** |
| |
1.1 | 68 | |
| |
2.1 | 69 | * Enter your message as plain text. |
| 70 | * A character counter shows you how long the message is. Stay under 160 characters for a single SMS segment — longer messages will be sent as multiple segments and may cost more. | ||
| 71 | * Personalization tokens (#FIRST NAME#, etc.) work in texts too. | ||
| |
1.1 | 72 | |
| |
2.1 | 73 | === 5. Preview the Recipient Count === |
| |
1.1 | 74 | |
| 75 | The dialog shows you how many members will actually receive the message after TCPA and reminders filtering is applied. This is your final send count — use it to sanity-check the audience size before you click Send. | ||
| 76 | |||
| |
2.1 | 77 | === 6. Send === |
| |
1.1 | 78 | |
| |
2.1 | 79 | Click **Send**. The message dispatches through MSI's normal email (SendGrid) and SMS (Mobiery) infrastructure. You'll see a confirmation when the send is complete, including the final recipient count. |
| |
1.1 | 80 | |
| |
2.1 | 81 | ---- |
| |
1.1 | 82 | |
| |
2.1 | 83 | == Frequently Asked Questions == |
| |
1.1 | 84 | |
| |
3.1 | 85 | **Why is my recipient count lower than my report results?** |
| 86 | \\The count shown before send is after TCPA and reminders filtering. Members without opt-in or with reminders set to Nothing (or to a channel that doesn't match what you're sending) are automatically excluded. | ||
| |
1.1 | 87 | |
| |
3.1 | 88 | **Can I save a draft and come back to it later?** |
| 89 | \\No. The compose dialog resets when you close it. Compose and send in one session. | ||
| |
1.1 | 90 | |
| |
3.1 | 91 | **Where do bulk sends show up afterwards?** |
| 92 | \\Each send is logged to the system's message log with the recipient count, channel (email or SMS), and source = contract_report. They are not currently distinguished from member-tab messages in the standard message reports — that's a planned enhancement. | ||
| |
1.1 | 93 | |
| |
3.1 | 94 | **Can a member be messaged twice if they have multiple contracts?** |
| 95 | \\No. The system deduplicates by member ID before sending. If a member has 3 matching contracts, they receive 1 message. | ||
| |
1.1 | 96 | |
| |
3.1 | 97 | **What happens if a member's phone number or email is invalid?** |
| 98 | \\Bad addresses fail per-recipient — the rest of the send continues normally. The send count returned reflects only successful dispatches. | ||
| |
1.1 | 99 | |
| |
3.1 | 100 | **Can I use this on other reports?** |
| 101 | \\Not yet. The Contract Report is the first report wired up to bulk messaging. The backend supports any report; additional reports can be added as a future enhancement. | ||
| |
1.1 | 102 | |
| |
2.1 | 103 | **Why don't I see the buttons?** |
| |
1.1 | 104 | |
| |
2.1 | 105 | * You may be on the Summary view — switch to Detail. |
| 106 | * You may not have permission for messaging on this report — check with your account administrator. | ||
| 107 | * You may have switched views without re-running the query — re-run it on Detail. | ||
| |
1.1 | 108 | |
| |
2.1 | 109 | ---- |
| |
1.1 | 110 | |
| |
2.1 | 111 | == What This Feature Does NOT Do (Yet) == |
| |
1.1 | 112 | |
| 113 | These items were in the original feature plan but are not in this release: | ||
| 114 | |||
| |
2.1 | 115 | * **Pre-send breakdown by contract status** — you don't currently see a breakdown by Active, Frozen, Cancelled, etc. before confirming. |
| 116 | * **Multi-contract transparency** — no expandable list showing which members have multiple contracts. | ||
| 117 | * **Reporting differentiation** — message reports don't currently separate contract-based sends from member-based sends. | ||
| |
1.1 | 118 | |
| 119 | If any of these are important to your workflow, please let your CSM know. | ||
| 120 | |||
| |
2.1 | 121 | ---- |
| |
1.1 | 122 | |
| |
2.1 | 123 | == Need Help? == |
| |
1.1 | 124 | |
| |
2.1 | 125 | If you run into trouble, contact MSI Support and reference **Member Manager Sprint 33 / Bulk Messaging from Contract Report**. |