Wiki source code of Sending Bulk Messages from the Contract Report
Last modified by Isaac Mejia on 2026/05/05 14:27
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
6.1 | 1 | {{include reference="KBArticleHeader.WebHome"/}} |
| |
4.2 | 2 | = Sending Bulk Messages from the Contract Report = |
| |
1.1 | 3 | |
| |
2.1 | 4 | == Overview == |
| 5 | |||
| |
1.1 | 6 | 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. |
| 7 | |||
| 8 | 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. | ||
| 9 | |||
| |
2.1 | 10 | ---- |
| |
1.1 | 11 | |
| |
2.1 | 12 | == Before You Start == |
| |
1.1 | 13 | |
| 14 | Make sure your members have: | ||
| 15 | |||
| |
2.1 | 16 | * Email addresses on file with the TCPA email opt-in checked (for emails) |
| 17 | * Mobile phone numbers on file with the TCPA text opt-in checked (for texts) | ||
| 18 | * Reminders preference set to a value that allows the channel you're sending on: | ||
| 19 | ** **Nothing** → receives neither email nor text | ||
| 20 | ** **Email Only** → receives email only | ||
| 21 | ** **Text Only** → receives text only | ||
| 22 | ** **Both** → receives both | ||
| |
1.1 | 23 | |
| 24 | 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. | ||
| 25 | |||
| |
2.1 | 26 | ---- |
| |
1.1 | 27 | |
| |
2.1 | 28 | == Step-by-Step == |
| |
1.1 | 29 | |
| |
2.1 | 30 | === 1. Run a Contract Report Query === |
| |
1.1 | 31 | |
| |
2.1 | 32 | Navigate to **Reports → Contract Report**. Set your filters (status, program, location, contract dates, etc.) and run the query. |
| |
1.1 | 33 | |
| |
2.1 | 34 | === 2. Switch to the Detail View === |
| |
1.1 | 35 | |
| |
2.1 | 36 | The bulk messaging buttons only appear on the **Detail** view, not the Summary view. |
| |
1.1 | 37 | |
| |
2.1 | 38 | {{info}} |
| |
1.1 | 39 | 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 | 40 | {{/info}} |
| |
1.1 | 41 | |
| |
2.1 | 42 | === 3. Choose Your Action === |
| |
1.1 | 43 | |
| 44 | Four buttons appear at the top of the report: | ||
| 45 | |||
| |
3.1 | 46 | |=Button|=What It Does| |
| 47 | |**Email All Found**|Sends an email to every member in the current result set| | ||
| 48 | |**Email Selected**|Sends an email to only the members you've checked in the table| | ||
| 49 | |**Text All Found**|Sends a text to every member in the current result set| | ||
| 50 | |**Text Selected**|Sends a text to only the members you've checked in the table| | ||
| |
1.1 | 51 | |
| |
2.1 | 52 | {{info}} |
| |
1.1 | 53 | 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 | 54 | {{/info}} |
| |
1.1 | 55 | |
| |
2.1 | 56 | === 4. Compose Your Message === |
| |
1.1 | 57 | |
| |
2.1 | 58 | **For emails:** |
| |
1.1 | 59 | |
| |
2.1 | 60 | * (Optional) Pick an existing template from the dropdown to pre-fill the subject and body. |
| 61 | * Enter a subject line. | ||
| 62 | * 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. | ||
| 63 | * Use personalization tokens to customize each message: | ||
| 64 | ** **#FIRST NAME#** — member's first name | ||
| 65 | ** **#LAST NAME#** — member's last name | ||
| 66 | ** **#LOGIN#** — member's portal login | ||
| |
1.1 | 67 | |
| |
2.1 | 68 | **For texts:** |
| |
1.1 | 69 | |
| |
2.1 | 70 | * Enter your message as plain text. |
| 71 | * 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. | ||
| 72 | * Personalization tokens (#FIRST NAME#, etc.) work in texts too. | ||
| |
1.1 | 73 | |
| |
2.1 | 74 | === 5. Preview the Recipient Count === |
| |
1.1 | 75 | |
| 76 | 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. | ||
| 77 | |||
| |
2.1 | 78 | === 6. Send === |
| |
1.1 | 79 | |
| |
2.1 | 80 | 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 | 81 | |
| |
2.1 | 82 | ---- |
| |
1.1 | 83 | |
| |
2.1 | 84 | == Frequently Asked Questions == |
| |
1.1 | 85 | |
| |
3.1 | 86 | **Why is my recipient count lower than my report results?** |
| 87 | \\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 | 88 | |
| |
3.1 | 89 | **Can I save a draft and come back to it later?** |
| 90 | \\No. The compose dialog resets when you close it. Compose and send in one session. | ||
| |
1.1 | 91 | |
| |
3.1 | 92 | **Where do bulk sends show up afterwards?** |
| 93 | \\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 | 94 | |
| |
3.1 | 95 | **Can a member be messaged twice if they have multiple contracts?** |
| 96 | \\No. The system deduplicates by member ID before sending. If a member has 3 matching contracts, they receive 1 message. | ||
| |
1.1 | 97 | |
| |
3.1 | 98 | **What happens if a member's phone number or email is invalid?** |
| 99 | \\Bad addresses fail per-recipient — the rest of the send continues normally. The send count returned reflects only successful dispatches. | ||
| |
1.1 | 100 | |
| |
3.1 | 101 | **Can I use this on other reports?** |
| 102 | \\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 | 103 | |
| |
2.1 | 104 | **Why don't I see the buttons?** |
| |
1.1 | 105 | |
| |
2.1 | 106 | * You may be on the Summary view — switch to Detail. |
| 107 | * You may not have permission for messaging on this report — check with your account administrator. | ||
| 108 | * You may have switched views without re-running the query — re-run it on Detail. | ||
| |
1.1 | 109 | |
| |
2.1 | 110 | ---- |
| |
1.1 | 111 | |
| |
2.1 | 112 | == What This Feature Does NOT Do (Yet) == |
| |
1.1 | 113 | |
| 114 | These items were in the original feature plan but are not in this release: | ||
| 115 | |||
| |
2.1 | 116 | * **Pre-send breakdown by contract status** — you don't currently see a breakdown by Active, Frozen, Cancelled, etc. before confirming. |
| 117 | * **Multi-contract transparency** — no expandable list showing which members have multiple contracts. | ||
| 118 | * **Reporting differentiation** — message reports don't currently separate contract-based sends from member-based sends. | ||
| |
1.1 | 119 | |
| 120 | If any of these are important to your workflow, please let your CSM know. | ||
| 121 | |||
| |
2.1 | 122 | ---- |
| |
1.1 | 123 | |
| |
2.1 | 124 | == Need Help? == |
| |
1.1 | 125 | |
| |
2.1 | 126 | If you run into trouble, contact MSI Support and reference **Member Manager Sprint 33 / Bulk Messaging from Contract Report**. |
| |
5.1 | 127 | {{include reference="KBSupportCTA.WebHome"/}} |