Skip to content

WhatsApp setup

Bring your own number and the message templates to submit.

Bring your own number

Your customers can chat with the SmartRemit assistant on your own WhatsApp Business number.

  1. In your dashboard, enter your number's phone-number ID, access token, verify token and app secret.
  2. Point your Meta app's webhook at the callback URL shown on your dashboard's partner page, using the verify token you entered.
  3. Send your number a message. Inbound messages on your number are routed to your account, and replies, sign-in codes and delivery notices leave from your number as SmartRemit.

Meta's own setup steps are in the WhatsApp Business Platform documentation.

Message templates

WhatsApp only lets a business start a conversation, or write to someone who has not messaged it in the last 24 hours, with a message template that Meta has approved. Create each template in WhatsApp Manager for your own WhatsApp Business account, exactly as listed below: the same name, the same category and the language English (code en, not en_US). A template approved under a different name or language fails, and the message falls back to plain text, which only reaches someone who messaged your number in the last 24 hours.

Templates that name the brand say SmartRemit: submit them exactly as written. Every {{n}} variable needs a sample value when you submit; the samples below are safe to use.

Sent from your number today

  • transfer_deliveredUTILITY

    Tells the recipient their money was delivered. {{3}} is the sender's phone masked to its last 4 digits; {{4}} is always "bank account" today.

    Body
    Hi {{1}}, you've received {{2}} from the sender with phone number {{3}}. It's on its way to your {{4}}. Reply here if you have any questions.
    Language
    en
    Variables
    4 (samples: Priya · ₹4,750 · ••••4567 · bank account)
  • scheduled_payment_readyUTILITY

    Asks the sender to approve a scheduled transfer that is due, naming the schedule (how often, when it was set up) and how to stop it. The button suffix is the payment link token.

    Body
    Hi {{1}}, your {{2}} scheduled transfer of {{3}} to {{4}} is ready. You set up this schedule on {{5}}. Tap the button below to review and pay, or reply "cancel schedule" to stop it.
    Footer
    SmartRemit
    Button
    Review & Pay: https://smartremit.ai/pay/{{1}}
    Language
    en
    Variables
    5 (samples: Anand · monthly · $100.00 · Priya · September 3, 2026)
  • schedule_name_neededUTILITY

    Asks a sender with a scheduled transfer for their legal name before it can go out. {{1}} is the brand name, SmartRemit. Sent instead of the plain message only when the sender has not written in the last 24 hours.

    Body
    Your scheduled {{1}} transfer of {{2}}, due {{3}}, needs your full legal name before it can go out. Please reply to this message with your full name exactly as it appears on your ID.
    Footer
    SmartRemit
    Language
    en
    Variables
    3 (samples: SmartRemit · $200.00 · Monday, October 5)
  • transfer_delivered_senderUTILITY

    Delivery confirmation to the sender. Sent instead of the plain message only when the sender has not written in the last 24 hours.

    Body
    Your SmartRemit transfer of {{1}} to {{2}} has been delivered. Reference: {{3}}. Reply here if you have any questions.
    Language
    en
    Variables
    3 (samples: $50.00 · Priya · tx_a1b2c3)
  • transfer_in_reviewUTILITY

    Tells the sender a transfer is held for compliance review. {{1}} is "there" today (the transfer record carries no sender name). Sent instead of the plain message only when the sender has not written in the last 24 hours.

    Body
    Hi {{1}}, your transfer of {{2}} to {{3}} is being reviewed by our team for security. We'll update you shortly — no action is needed right now.
    Language
    en
    Variables
    3 (samples: Anand · $1,000.00 · Priya)
  • verification_neededUTILITYOptional (configured)

    Identity verification status (needed). Optional: until it is approved and configured, the same update is sent as a plain message.

    Body
    Hi {{1}}, an update on your SmartRemit account: {{2}} Reply here if you have any questions.
    Footer
    SmartRemit
    Language
    en
    Variables
    2 (samples: Anand · Please verify your identity to start sending money.)
  • verification_in_progressUTILITYOptional (configured)

    Identity verification status (in progress or received). Optional: until it is approved and configured, the same update is sent as a plain message.

    Body
    Hi {{1}}, an update on your SmartRemit account: {{2}} Reply here if you have any questions.
    Footer
    SmartRemit
    Language
    en
    Variables
    2 (samples: Anand · Your identity verification is in progress.)
  • verification_verifiedUTILITYOptional (configured)

    Identity verification status (verified). Optional: until it is approved and configured, the same update is sent as a plain message.

    Body
    Hi {{1}}, an update on your SmartRemit account: {{2}} Reply here if you have any questions.
    Footer
    SmartRemit
    Language
    en
    Variables
    2 (samples: Anand · You’re verified! You can now send money.)
  • verification_failedUTILITYOptional (configured)

    Identity verification status (failed). Optional: until it is approved and configured, the same update is sent as a plain message.

    Body
    Hi {{1}}, an update on your SmartRemit account: {{2}} Reply here if you have any questions.
    Footer
    SmartRemit
    Language
    en
    Variables
    2 (samples: Anand · We couldn’t verify your identity. Please tap below to try again.)
  • verification_codeAUTHENTICATIONOptional (configured)

    Delivers a sign-in or verification code. Meta writes the text of authentication templates; choose "Copy code" delivery and add the security recommendation. Optional: until it is approved and configured, the code is sent as a plain message.

    Body
    {{1}} is your verification code. For your security, do not share this code.
    Button
    Copy code
    Language
    en
    Variables
    1

Planned, not sent yet

Do not submit these until this guide says they are sent.

  • payment_reminderUTILITY

    Reminds the sender about an unpaid transfer.

    Body
    Hi {{1}}, your transfer of {{2}} to {{3}} is still pending. You can complete it using the button below.
    Button
    Complete Payment: https://smartremit.ai/pay/{{1}}
    Language
    en
    Variables
    3 (samples: Anand · $50.00 · Priya)
  • transfer_releasedUTILITY

    Tells the sender a held transfer was released.

    Body
    Good news {{1}} — your transfer of {{2}} to {{3}} has cleared review and is on its way.
    Language
    en
    Variables
    3 (samples: Anand · $1,000.00 · Priya)
  • transfer_cancelledUTILITY

    Tells the sender a transfer could not be completed.

    Body
    Hi {{1}}, your transfer of {{2}} to {{3}} could not be completed and any charge has been reversed. Reply here if you have questions.
    Language
    en
    Variables
    3 (samples: Anand · $200.00 · Priya)
  • verification_reminderUTILITY

    Reminds a sender whose identity verification is pending. The button URL is published when this template goes live.

    Body
    Hi {{1}}, identity verification is still pending on your SmartRemit account. Until it's complete, some transfers may be limited. You can finish it using the button below.
    Button
    Verify Now: Published when this template goes live
    Language
    en
    Variables
    1 (samples: Anand)
  • Sent today: submit these before you go live. transfer_delivered is the minimum; without it recipients outside the 24-hour window are not told their money arrived.
  • Optional (configured): the verification-status and verification-code template names are platform-wide. They are used once SmartRemit enables them; submit them under exactly the names given. Until then the same message is sent as plain text. On your own number, transaction verification codes are always sent as plain text, never through the verification-code template.
  • Planned, not sent yet: do not submit these until this page says so.

Submission order

If Meta decides a template submitted as Utility is really marketing, it can re-categorise it without notice and block new Utility templates on your whole WhatsApp Business account for 7 days. To keep the risk low:

  1. Submit the authentication template and the plain transactional ones first.
  2. Then the templates with a URL button.
  3. Submit reminder-style templates last.

Keep every template strictly transactional, with no promotional wording.

Before you go live

Your WhatsApp credentials are saved, the webhook is verified, and at least transfer_delivered is approved. See the go-live checklist.