PigeonText beta

Beta guide

Everything you need to get going: set up your sending phone, import your contacts and send a first test text to yourself. It takes about 20 minutes. Thank you for testing PigeonText!

Before you start

You'll need:

  • An Android phone or an iPhone with the number your texts should come from. This is yoursending phone. Android needs version 8 or newer (the steps here are for Android 14, 15 and 16). On an iPhone, follow Using PigeonText on iPhone in place of steps 2 and 3.
  • A computer or tablet for writing and approving texts in the web app,app.pigeontext.app. (A phone browser works too, but a bigger screen is easier.)
  • About 20 minutes, and your phone nearby.

How PigeonText works: you write one message on the web, PigeonText makes a personal draft for each person, you approve every draft, and your phone (Android or iPhone) sends them one at a time from your own number. Replies come to your normal Messages app, like any text.

1. Get your account

  1. On your computer, go to app.pigeontext.app.
  2. Sign in with Google, or with your email and a password.
  3. Fill in Apply to use PigeonText and send it. You'll see "Your application is being reviewed" at the top of every page.
  4. While you wait, you can look around, import contacts and write messages. Scheduling texts unlocks once you're approved; the "being reviewed" banner then goes away.

2. Install the Android app

On an iPhone? Skip steps 2 and 3 and follow Using PigeonText on iPhone.

PigeonText isn't in the Google Play Store yet, so you install it from our website. The full steps, with pictures, are at pigeontext.app/download. In short:

  1. On your sending phone, open pigeontext.app/download in Chrome and tap Download. If Chrome warns about the file, tap Download anyway.
  2. Tap Open when it finishes (or find it in the Files app under Downloads).
  3. First time only: Android asks to allow installs from Chrome. Tap Settings, turn onAllow from this source, then go back.
  4. Tap Install. If Google Play Protect asks, let it scan, or tap More details, thenInstall anyway.
  5. Android 15 and 16: touch and hold the PigeonText icon, tap App info, tap ⋮ in the corner, then Allow restricted settings. (If you don't see it yet, do step 3 below first; it appears after Android blocks texting once.)

3. Sign in and allow what it needs

Open PigeonText on the phone and sign in with the same account you use on the web. The app then walks you through one screen per permission:

ScreenWhy it's neededNeeded?
Send textsSends your approved texts from your number. PigeonText never reads your messages.Required
Alarms & remindersWakes the phone at each send time, even while it's asleep.Required
NotificationsTells you when a campaign pauses, finishes or has a text that needs attention.Strongly recommended
BatteryStops Android from putting PigeonText to sleep, so texts aren't late.Strongly recommended
ContactsOnly if you import people from this phone. You pick who; nothing is uploaded until you do.Optional

The last screen says "This phone is now your sending phone." To check from your computer: the top bar of the web app shows a green Phone ready.

Skipped something? On the phone, open Settings → Permissions. The Home screen also shows a card for anything still missing.

Using PigeonText on iPhone

iPhones don't let apps send texts, so on an iPhone an Apple Shortcut sends them. Your iPhone checks in at fixed times (8 AM, 10 AM, 12 PM, 2 PM, 4 PM, 6 PM and 8 PM) and sends up to 12 texts at each one, 2 minutes apart, even while it's locked.

  1. In the web app, open Settings → Sending phone and tap Switch to iPhone. It shows your shortcut URL once: tap Copy (doing this on your iPhone is easiest).
  2. On your iPhone, add the PigeonText Sender shortcut (the link is in Settings) and paste your shortcut URL when it asks.
  3. In the Shortcuts app, open Automation and create a Time of Day automation for each of the 7 check-in times. Set each to Run Immediately, turnNotify When Run off, and have it run PigeonText Sender.
  4. Run the shortcut once by hand (it sends nothing yet). Back in Settings, Last check-in shows the time you ran it.
  5. In Settings, run Test your iPhone while you're holding your phone. The first time an automation sends a text, iOS asks whether the shortcut may send messages, and the question goes away after a few seconds: tap Allow right away. When the test passes, the top bar saysiPhone ready.

When you choose a send time, you pick the check-in to start at; PigeonText fills it and rolls the rest into your next free check-ins. If your iPhone misses a check-in, its texts wait for the next one; a campaign pauses if a text gets 6 hours late. PigeonText emails you when a campaign pauses by itself or finishes, when a text needs a look, and when your iPhone misses a check-in. Lost your shortcut URL or think someone else has it? Tap Make a new token in Settings and paste the new shortcut URL into the shortcut's first action.

4. Import contacts

Use whichever is easiest. You can mix them.

From your phone (Android)

In the Android app, Settings → Import phone contacts. Pick the people you want; nothing is uploaded until you choose.

From a spreadsheet

  1. Save your sheet as a CSV file. In Google Sheets: File → Download → Comma-separated values (.csv).
  2. In the web app, Contacts → Import contacts, and choose the file.
  3. Match each column to a contact detail. Using the PigeonText Google Sheet? PressPigeonText Google Sheet to match its columns in one click.
  4. Check the summary and import. Up to 5,000 rows per file.

One at a time

Contacts → Add contact on the web.

Numbers without a country code are read as US numbers. Importing again updates names and details but never changes anyone's "Don't text" setting.

Want to use details like a campus or a small group in your messages? Add them on the Fieldspage, then use them as merge fields, for example {Campus}.

5. Send a first test campaign to yourself

Do this once before texting anyone else, so you see the whole journey. You'll need about 15 minutes, with your sending phone on and connected.

  1. Add yourself as a contact: Contacts → Add contact, with your own name and number. (Texting your own number works: it arrives on the same phone. A second phone of yours works too.)
  2. Start a campaign: Campaigns → New campaign. Name it "My first test" and write a message such as:Hi {FirstName|friend}, this is my first PigeonText test!{FirstName} becomes each person's first name; the part after | is used when someone has no first name.
  3. Recipients: pick yourself, then press Create drafts. (For a big campaign later, tick Test with 2 contacts first to check the wording on two drafts before making all of them.)
  4. Review drafts: read your draft. Edit it if you like, then press Approve (orApprove all). Nothing is ever sent without your approval, and editing an approved draft sends it back to Draft.
  5. Choose send time: pick a window that starts in a few minutes, then Schedule. PigeonText suggests 8 am to 9 pm, but you can pick any hours (handy for people in other time zones). Times already booked by another of your campaigns can't be picked. On an iPhone, pick the next check-in instead.
  6. Watch it go: the campaign page shows Scheduled, then Sending, then Sent, and the text arrives on your phone. A little later the campaign says Completed.

What PigeonText always does, so you don't have to think about it:

  • Sends only drafts you approved.
  • Waits at least 2 minutes between texts (so 30 texts take at least an hour).
  • Sends at most 200 texts a day, and never runs two of your campaigns at the same time.
  • Never resends a failed or unconfirmed text by itself. You decide.
  • Never texts anyone marked "Don't text".

Sending a few at a time

On Choose send time, pick A few at a time instead of All in one window to text a list slowly, for example 1 person every weekday at 10:00 AM until everyone has been texted. Choose the start date and time, how many texts go out each time, and how often (every few days, weeks or months, with Weekdays only to skip Saturdays and Sundays). Who goes firstcan be your contact order, closest first (by level) or random. The preview shows the plan, such as "30 texts, 1 each weekday at 10:00 AM, Oct 9 – Nov 19", and Show all dates lists every send.

  • Only the few minutes each send needs are booked, so your other campaigns can use the rest of the day.
  • If a send would land on another campaign's time, PigeonText lists every clash and lets you pick another time. It never moves a send for you.
  • A trickle can run for up to a year. All the usual rules still apply: 2 minutes between texts, 200 a day, and nothing sent to anyone marked "Don't text".
  • Pause it any time. When you Resume, it carries on with the same pattern from the next send; it never squeezes the missed ones in.
  • If your phone is off when a text is due, that text still goes out late once the phone is back, as long as that's within 6 hours. Later than that, the campaign pauses and tells you.

6. What each status means

Campaigns

StatusWhat it means
DraftYou're still writing the message or choosing who gets it.
In reviewDrafts are made. Read them, edit any you like, and approve them.
ScheduledApproved and booked. Your phone will start sending at the time you picked.
SendingYour phone is sending, one text at a time, at least 2 minutes apart.
PausedNothing is sending. The campaign page says why and what to do; then press Resume.
CompletedEvery text was sent, skipped or marked. Nothing more will go out.
CancelledYou cancelled it. Texts not yet sent never will be.

Texts

StatusWhat it means
DraftWritten by PigeonText from your message, waiting for you. Not sent without your approval.
ApprovedYou approved this exact text. If you edit it, it goes back to Draft.
SkippedYou chose not to send it.
ScheduledBooked for a send time. Your phone sends it then.
On holdThe campaign is paused. It waits until you press Resume.
SendingYour phone is sending it right now.
SentYour phone confirmed it went out.
FailedYour phone tried and reported it couldn't be sent (for example no signal). Never tried again by itself.
Needs attentionYour phone tried but never heard back, so it may or may not have gone out. PigeonText won't try again. Check your Messages app, then mark it Sent or Failed on the campaign page.
Don't textThe person is marked “Don't text”, so it wasn't sent.
CancelledThe campaign was cancelled or the contact deleted before it went out.

Why a campaign pauses by itself

  • Your sending phone hasn't sent anything for 30 minutes while texts were due (off, no signal or no connection). For a campaign sent a few at a time, PigeonText waits until the text is 6 hours late.
  • Several texts failed (3 in a row, or more than 1 in 10).
  • The phone can't send: the texting permission was turned off, there's no SIM, or the app needs an update.
  • Texts are more than 6 hours late. PigeonText pauses rather than send them at a surprising time.

You get an alert on your phone (on an iPhone, by email). Fix what it says, then press Resume. Texts then go out one at a time again, never in a burst.

If someone replies STOP

PigeonText never reads your replies, so it doesn't act on "STOP" by itself (people also say "stop" in normal conversation). If someone asks not to get texts, open them in Contacts and pressMark as Don't text. Any texts still waiting for them are skipped. If they later tell you they want texts again, the same screen has Allow texting again.

7. Reporting problems

Something wrong, confusing or missing? Please tell us. Every report helps.

  • Web app: Send feedback at the bottom of the left menu, orSettings → Help and feedback.
  • Android app: Settings → About → Send feedback.
  • Or email support@pigeontext.app from anywhere.

The Send feedback form already fills in which version and device you're using. Please include:

  • what you were doing, what you expected, and what happened instead;
  • roughly when it happened, and the campaign's name if it's about one;
  • a screenshot, if you can.

You don't need to send your contacts' numbers or your message text. The campaign name and time are enough for us to look into it.

8. Known limits

  • Your sending phone has to stay on and connected. Texts go out from your phone, so while it's off, in airplane mode, out of signal or without Wi-Fi or mobile data, nothing is sent. Texts wait and go out once it's back. On Android, after 30 minutes the campaign pauses and tells you (after 6 hours for a campaign sent a few at a time); on an iPhone, texts wait for the next check-in, and the campaign pauses once a text is 6 hours late. Keep it charged during a campaign.
  • Android: don't force-stop the app. Android then blocks its alarms until you open it again, so texts stop. Swiping it away from recent apps is fine.
  • iPhones send only at check-ins: 8 AM, 10 AM, 12 PM, 2 PM, 4 PM, 6 PM and 8 PM, up to 12 texts each, so you can't pick other times. Importing contacts from the phone is Android only; on an iPhone, use a spreadsheet or add them on the web.
  • Android app updates are installed by hand from pigeontext.app/download. The app shows "Update available" when there's a new version. A version that's too old stops sending until you update, then you press Resume.
  • Pace: at least 2 minutes between texts and at most 200 a day, always. Each person gets at most one text per campaign.
  • Replies arrive in your normal Messages app and aren't shown in PigeonText.
  • Plain text messages only: no pictures or group texts. Long messages are split into parts by your carrier; the composer shows how many.
  • US numbers by default: numbers without a country code are read as US numbers.
  • It's a beta. Things will change, and the privacy policy andterms are still drafts being reviewed.