SMS

What is a sticky sender?

A sticky sender keeps the same sending number for each recipient across messages.

A booking confirmation and its reminder are easier to recognize when they come from the same number. If the number changes, the recipient may see a separate conversation without the earlier context.

Why keep the same sender?

Reusing a sender helps the recipient recognize the conversation. It also directs replies to the same number.

A phone typically groups texts by sender. Rotating numbers can scatter one business conversation across several threads.

Replies go to the number on the message the customer answers. Changing your outbound number does not redirect a reply to an older text. Keep listening on that number while recipients may still use its thread.

That includes opt-outs. A STOP sent to an earlier number needs handling even after you start sending from another one. STOP keywords explains how Bird scopes that suppression.

How do I keep a sender stable in Bird?

You reuse the assigned sender in from on each free-text send. Store that assignment for each recipient.

Bird requires from for a free-text request. The value must identify a sender your workspace holds. For a phone number, include the country code, such as +15557654321.

Omitting from returns HTTP 422 SMSNoEligibleSender. An unowned number returns the same error. An unclaimed alphanumeric sender returns 422 SMSSenderNotConfigured. Verify the assignment before sending so a released number does not break the conversation.

The messaging_profile_id field does not provide a sender pool: Bird rejects it with 422 SMSUnsupportedFeature. The send endpoint documents these fields.

What should I store and check?

Store a sender for each recipient. Verify that it remains usable before reusing it.

For a new recipient, choose an owned sender permitted for that destination. Save that choice before sending concurrent messages, so two jobs do not assign different numbers to the same person.

For an existing recipient, reuse the assignment while the sender remains owned and eligible. If you release the number or its destination permissions change, select a replacement explicitly.

A dedicated sender for a market makes the assignment simpler because each recipient uses the same available number. You still need to handle a change if you retire that number.

Do template sends preserve the assignment?

Template sends choose their sender automatically, so you cannot force your stored assignment through from.

Bird rejects from alongside template. The template path selects a sender for the destination. It returns the selected value in the message's from field.

Use that returned value when storing the conversation. Do not assume it matches your last free-text sender. The template guide explains which values the template supplies.

Sender eligibility takes priority over continuity: an assigned number that is not permitted for a destination cannot be reused there. Sender types covers those constraints.

What happens to replies when I change numbers?

Replies to older messages continue targeting the old number.

Keep its inbound handling active during the transition if you still own it. Include both numbers' messages when reconstructing the conversation. MO and MT explains why incoming replies have their own message records.

Carry opt-outs into your sending decision before using the replacement. Bird's sender-specific suppression does not automatically become a workspace-wide preference. A new number must not become a way to keep messaging someone who asked you to stop.

In short

  1. A stable sender keeps the conversation recognizable.

    Reusing the number helps a recipient find earlier messages. It also keeps replies going to the same destination.

  2. Your application keeps the assignment.

    Bird free-text sends require from, so store which sender you use for each recipient.

  3. Template sends select their own sender.

    Bird rejects from alongside template. Do not assume a template send preserves your stored assignment.

  4. A sender change needs an inbound plan.

    Recipients can reply to older threads, so keep handling those replies and opt-outs during a transition.

Build on the same network.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Your next idea.
Ready to connect.