Beam
Open Beam
Blue bubbles

Getting leads to text first

Current documentation

The safest message is a reply. Engineer your funnel so leads message you first.

Why inbound-first wins

When a lead texts you first, everything changes: replies to them are unlimited, unpaced, and carry essentially zero reputation risk. The conversation starts with their consent baked in, on their initiative, which is the strongest position possible.

Every phone understands sms: links. Tapping one opens the lead's messaging app with your number and the message already typed. All they do is hit send:

sms:+15559876543?&body=Hey! I want the pricing breakdown

Put it on your landing pages, your booking confirmation pages, your email signatures. On mobile traffic this outperforms forms because it is two taps and zero typing.

1b. The funnel form that starts the text

The strongest version of the "Text us" link: a small form in your funnel collects the lead's name, and one tap opens their messaging app with a personal message already written, from them, with their name in it. They hit send, and the conversation exists, started by the lead. Drop this into any funnel page that accepts custom HTML:

<!-- Beam text-first funnel form. Edit the two lines below. -->
<div id="beam-textform" style="max-width:380px;margin:0 auto;font-family:system-ui,sans-serif">
  <input id="bt-first" placeholder="First name"
    style="width:100%;padding:13px 15px;margin-bottom:9px;border:1px solid #d8dee8;border-radius:11px;font-size:16px;box-sizing:border-box" />
  <input id="bt-last" placeholder="Last name"
    style="width:100%;padding:13px 15px;margin-bottom:9px;border:1px solid #d8dee8;border-radius:11px;font-size:16px;box-sizing:border-box" />
  <input id="bt-phone" placeholder="Your phone number" inputmode="tel"
    style="width:100%;padding:13px 15px;margin-bottom:12px;border:1px solid #d8dee8;border-radius:11px;font-size:16px;box-sizing:border-box" />
  <button onclick="beamText()"
    style="width:100%;padding:15px;background:#0A84FF;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer">
    💬 Text us now
  </button>
  <p id="bt-desktop" style="display:none;text-align:center;color:#5a6472;font-size:14px;margin-top:10px"></p>
</div>
<script>
  var BEAM_NUMBER = "+15559876543";            // your Beam number
  var BEAM_PRODUCT = "the AI sales system";     // what they're interested in

  function beamText() {
    var first = document.getElementById("bt-first").value.trim();
    var last = document.getElementById("bt-last").value.trim();
    if (!first) { document.getElementById("bt-first").focus(); return; }
    var name = last ? first + " " + last : first;
    var msg = "Hey, it's " + name + ". I'm interested in " + BEAM_PRODUCT + ".";
    var ua = navigator.userAgent;
    var body = encodeURIComponent(msg);
    // each platform wants its own link format; Macs open Messages.app too
    var link;
    if (/iPhone|iPad|iPod/i.test(ua)) link = "sms:" + BEAM_NUMBER + "&body=" + body;
    else if (/Android/i.test(ua)) link = "sms:" + BEAM_NUMBER + "?body=" + body;
    else if (/Macintosh/i.test(ua)) link = "sms:" + BEAM_NUMBER + "&body=" + body;
    if (link) {
      window.location.href = link;   // opens Messages with the text ready to send
    } else {
      // Windows etc: show the number so they can text from their phone
      var d = document.getElementById("bt-desktop");
      d.style.display = "block";
      d.textContent = "Text \"" + msg + "\" to " + BEAM_NUMBER + " from your phone";
    }
  }
</script>

What lands in your Beam inbox: "Hey, it's Sarah Miller. I'm interested in the AI sales system." Sent by her, from her real number, which means: instant consent trail, unlimited unpaced replies, and the assistant can engage on the spot. The phone field is optional for the text itself (their number arrives with the message automatically) but collecting it also feeds your CRM form tracking if your funnel captures the fields.

Make it your ownChange the two variables at the top: your Beam number, and what they're interested in. If your funnel already knows the product from the page they're on, set BEAM_PRODUCT per page ("Botox specials", "the HVAC tune-up", "the webinar replay") and every inbound text tells you exactly which funnel it came from.

2. The QR code

Encode the same sms: link in a QR code for anything physical: event banners, mailers, business cards, packaging. Scanning opens a ready-to-send text:

sms:+15559876543?&body=SAW YOU AT THE EXPO, send me the info

Any QR generator works. Make the prefilled body specific to where the code lives ("SAW YOU AT THE EXPO") and you also learn which placement drives the texts.

3. The ad with a text call-to-action

Instead of driving ad clicks to a form, drive them to a text: "Text PRICING to (555) 987-6543 and get the full breakdown in 2 minutes." The lead's first touch is their own message, your reply rate is near 100% by definition, and you captured a phone number that actually answers texts.

4. The voice handoff

Your voice receptionist ends every call with "I am texting you the details right now." Beam sends the recap, and the lead's reply opens a two-way thread you can work forever:

curl -X POST https://beam.aisync.link/v1/messages \
  -H "x-api-key: YOUR_WORKSPACE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+15551234567",
    "message": "Great talking just now! Here is the recap I promised. Any questions, just text me back here."
  }'

5. The missed-call text-back

Someone calls, nobody picks up. Your automation fires a Beam message within seconds: "Sorry we missed you! What can I help with? Faster to text anyway." A missed call becomes an open thread instead of a lost lead. Wire it exactly like the new-lead webhook, triggered by your CRM's missed-call event.

The hybrid most businesses run

First touches to fresh opt-in leads (paced, personalized), plus inbound-first everywhere you can engineer it. Over time the inbound share grows, and the number gets healthier as it does, because nothing builds reputation like people texting you first.