Getting started
From install to your first send in a few minutes.
On this page
Install
messengerr needs Ruby 3.2 or newer.
gem install messengerr
messengerr --version
Configure an integration
An integration is the provider that actually delivers your messages. See what is available:
messengerr integrations
email:
postmark — not configured
sms:
clicksend — not configured
Set one up. messengerr asks for each key, checks them against the provider’s API, and only stores them if the check passes.
messengerr credentials setup postmark
Setting up postmark (email):
server token:
from:
Postmark is configured and verified.
Your typing is not echoed back (nothing appears at all, not even asterisks), and every required key is prompted this way, including from. For ClickSend (SMS) the prompts are username, api key, and an optional from. Where the credentials are stored, and how, is covered in Credentials.
Postmark only sends from addresses you have verified in your Postmark account, so use a verified sender for from.
Prepare a CSV
One row per message. The first row is the header. Any column can feed a placeholder.
name,email,plan
Ann,ann@example.com,Pro
Bob,bob@example.com,Team
Preview with a dry run
--dry-run walks the whole wizard and shows what would be sent, but sends nothing.
messengerr send --dry-run
You will be asked, in order:
- Delivery method:
emailorsms. - The message. Use
{{name}}-style placeholders. - For email, the subject. Placeholders work here too.
- The path to your CSV.
- Which column feeds each placeholder, and which column holds the address or phone number.
You then see any bad contacts, and a preview of the first messages. The full walkthrough is in Sending.
Send for real
Run the same command without --dry-run. After the preview, messengerr asks Send N message(s)? [y/n]. Nothing leaves your machine until you answer y.
messengerr send
When it finishes you get a summary such as Done — sent: 2, failed: 0, dropped: 1, and a ledger file recording every result. If anything failed, you are offered a retry. If the run is interrupted, resume it.
Next
- Writing messages and preparing CSVs
- Every command and flag
- Limitations worth knowing before a large send