FieldCamp

Setting Up WhatsApp Messaging in FieldCamp

Connect a WhatsApp Business number to FieldCamp via Meta Cloud API or Twilio, configure the inbound webhook, and use synced templates within Meta's 24-hour window.

Setting up WhatsApp messaging in FieldCamp gives your field-service team a familiar channel to confirm appointments, share quotes, send invoices, and keep job conversations in one place. This guide walks you through connecting a WhatsApp Business account (Meta direct or Twilio), pointing the inbound webhook at FieldCamp, syncing your message templates from your provider, and respecting Meta's 24-hour customer service window.

Whether you are a dispatcher coordinating crews or an owner-operator answering customer questions on the go, WhatsApp Business in FieldCamp keeps client communication tied to the right client and job without juggling another app.

Why use WhatsApp inside FieldCamp

WhatsApp is one of the most-used messaging platforms in the world, and pulling it into FieldCamp means every conversation lives next to the client record. Instead of switching between WhatsApp on your phone and your CRM on a laptop, your team replies in one place and customer history is preserved automatically.

WhatsApp messaging in FieldCamp is designed for business use through the WhatsApp Business Platform (Meta Cloud API) or a Twilio-mediated connection. Personal WhatsApp accounts are not supported because they do not allow programmatic access required for templates, automation, webhooks, and compliance.

Common use cases for field-service teams include:

  • Sending arrival window updates and "on the way" notices
  • Confirming estimates and sharing invoice links
  • Replying to inbound service requests from the Inbox
  • Coordinating with clients through approved templates

Choosing between Meta direct and Twilio

FieldCamp supports two ways to connect a WhatsApp number. Pick the option that matches how you already use Meta or your preferred telecom provider.

Both options support inbound and outbound messages, threaded conversations, and a synced template library. The choice is mostly about billing, provisioning speed, and which provider your business already trusts.

Step 1: Prepare your WhatsApp Business Account

Before you connect WhatsApp Business to FieldCamp, you need a verified WhatsApp Business Account (WABA) and a phone number that is not already used on the WhatsApp consumer app.

Create or verify your Meta Business Manager

Make sure your company is registered in Meta Business Manager. Your legal business name should match your other business records — this is what Meta uses for verification and for the "About" panel customers see.

Pick a clean phone number

Choose a phone number that has never been registered on the consumer WhatsApp app, or be ready to delete the consumer account on that number first. The number can be mobile or landline that can receive an SMS or voice OTP.

Confirm your display name and category

Pick a display name that customers will recognize. Meta reviews this name, so avoid all-caps and generic terms. Match the business category to your service (for example, "Home Services" or "Professional Services").

If you are still picking software, mirror the business profile you set in your company profile in FieldCamp so customers see a consistent brand across calls, email, and WhatsApp.

Twilio-specific prerequisites

If you plan to connect via Twilio rather than Meta direct, there is one extra prerequisite: FieldCamp's Twilio WhatsApp connection uses the same Twilio Account SID and Auth Token as the Calls addon. Those credentials are stored when you install Calls, not in the WhatsApp connect flow. If the Calls addon is not connected, the WhatsApp connect form will surface a warning telling you to install Calls first.

For a real (non-sandbox) Twilio number, you also need to register your Twilio number as a WhatsApp sender in the Twilio Console (Messaging → WhatsApp senders). Twilio walks you through the WABA approval as part of that flow.

Step 2: Connect WhatsApp in FieldCamp

Once your provider account is ready, open WhatsApp settings inside FieldCamp.

Open Apps & Integrations

From the sidebar, open Settings → Apps & Integrations, find the WhatsApp tile, and choose Connect. This opens the WhatsApp settings page.

Start the connect flow

Click Connect account. A connect form appears with two provider buttons: Meta Direct and Twilio. Switch between them by clicking the buttons at the top of the form.

Fill in the Meta direct form

For Meta direct, FieldCamp collects:

  • Phone number and Display name
  • Meta Phone Number ID
  • Meta Business Account ID
  • Meta Access Token (a system user token from Meta Business Manager)
  • Meta App Secret (used to verify inbound webhook signatures)

Get these values from your Meta for Developers app under WhatsApp → API Setup and the App settings page, then paste them into FieldCamp.

Or fill in the Twilio form

For Twilio, choose Production sender or Sandbox (testing).

  • Production sender — enter a Display name, then pick a number from the dropdown. The list is populated from the Twilio numbers already attached to your Calls addon. Only numbers approved as WhatsApp senders in your Twilio account will actually send messages.
  • Sandbox (testing) — uses Twilio's shared global sandbox number (+1 415 523 8886). Follow the on-screen steps to send the join code from your personal WhatsApp to that number, then click Connect. Sandbox conversations expire after 72 hours of inactivity and only joined phones can message in, so this is for testing only — not for real customers.

Click Connect

FieldCamp posts the configuration to its WhatsApp accounts endpoint. On success, the new account appears in the list with an Active badge. You can disconnect or reconnect any account from the same list later.

Meta and Twilio both charge per conversation according to their own pricing tiers. Review your usage and plan options in Plan and billing so there are no surprises once volume picks up.

Step 3: Configure the inbound webhook

Inbound WhatsApp messages, delivery receipts, and template status updates all reach FieldCamp through a single webhook URL. FieldCamp surfaces this URL inside the connect form so you can copy it into Meta or Twilio.

Copy the webhook URL from FieldCamp

In the Meta connect form, scroll to the Webhook URL field at the bottom. In the Twilio Sandbox flow, the URL appears under "Step 2 — Configure inbound webhook in Twilio". In both cases the URL has the shape:

https://<your-fieldcamp-domain>/api/whatsapp/webhook

Click the copy button next to the URL.

Paste the URL into Meta

For Meta direct, open your app in Meta for Developers, go to WhatsApp → Configuration, and paste the URL as the callback URL. The webhook also needs a verify token, which is configured server-side on FieldCamp via the WHATSAPP_VERIFY_TOKEN environment variable — your administrator should provide the matching value when you set the verify token in Meta. Subscribe to the messages and message_template_status_update webhook fields.

Or paste the URL into Twilio

For Twilio Sandbox, open the Twilio Console → Try WhatsApp → Sandbox Configuration, paste the URL into the "When a message comes in" field, and set the method to POST.

For a Twilio production WhatsApp sender, paste the same URL into the inbound message webhook on your sender configuration. Twilio's signature header (x-twilio-signature) is validated by FieldCamp using the Auth Token stored by the Calls addon.

Send a test message

Send a WhatsApp message to the connected business number. Within a few seconds the thread should appear in your FieldCamp Inbox. If nothing arrives, recheck the webhook URL, the verify token (Meta), and that the webhook fields you need are subscribed.

If your FieldCamp instance is running on localhost during development, Twilio cannot reach the webhook URL directly — expose your dev server with a tunnel such as ngrok and paste the public HTTPS URL into Twilio instead.

Step 4: Understand the 24-hour customer service window

WhatsApp messaging follows a strict rule from Meta that shapes every conversation: the 24-hour customer service window. Once a customer sends you a message, you have 24 hours to reply with any free-form text, media, or interactive content. After that window closes, you can only re-engage that customer with a pre-approved template message.

FieldCamp shows the window state on each WhatsApp conversation as a small badge:

  • 24h window open — your team can send free-form text, media, and documents.
  • Window closed — template required — the compose box switches to template selection; you cannot send free-form messages until the customer replies again.

Here is how the rule plays out in practice:

  • Inside the 24-hour window — your team can send anything: typed replies, photos of a repair, voice notes, or PDFs of an invoice. No template needed.
  • Outside the 24-hour window — only approved templates may be used to start a new conversation. Once the customer replies to a template, a new 24-hour window opens.
  • Business-initiated messages — if you are the one starting the conversation (for example, an arrival reminder), you must use a template until the customer replies.

Sending free-form text outside the 24-hour window is the most common cause of failed sends in WhatsApp Business. FieldCamp swaps the compose UI to template-only when the window is closed, so train your team to glance at the badge before they type.

Step 5: Sync and tag message templates

Meta requires pre-approved templates for business-initiated messages outside the 24-hour window. Templates are not created or submitted from FieldCamp — you build and submit them in Meta Business Manager (or in your Twilio WhatsApp sender), and FieldCamp pulls the approved templates in.

Open the Templates tab

On the WhatsApp settings page (Settings → Apps & Integrations → WhatsApp), click the Templates tab. If you have multiple connected accounts, pick which one's templates you want to view from the account selector.

Click Sync now

Press the Sync now button in the top right. FieldCamp pulls the latest template list and statuses from your provider. The button label switches to Syncing… while in progress. If the table is empty, FieldCamp displays "Templates are synced from your WhatsApp provider. Create one in Meta or Twilio to see it here."

Review template status

Each template appears in a table with Name, Language, Category, Status, Used For, and Mapping columns. The status pill shows one of:

  • Approved — ready to send.
  • Pending — submitted to your provider and waiting on review.
  • Rejected — declined by your provider. Fix the issue in Meta or Twilio and re-sync.

Assign a module (Used For)

Use the Used For multi-select on each row to tell FieldCamp which kinds of outbound messages a template should be used for — Job Confirmation, Job Reschedule, Visit Reminder, Visit On The Way, Invoice Sent, Invoice Reminder, or Contract Renewal. The change saves automatically.

Map template variables

Click the gear icon in the Mapping column to open the variable-mapping modal. For each {{N}} placeholder in the template body, pick which FieldCamp field supplies the value at send time — for example Customer Name, Scheduled Date & Time, Job Address, Invoice Amount, or a document link. The mapping is what lets FieldCamp send real customer-specific data through an approved template.

If new templates you approved in Meta do not show up after clicking Sync now, confirm that you subscribed to the message_template_status_update webhook field in Meta — that is what notifies FieldCamp of approvals, rejections, and other lifecycle changes. After fixing the subscription, click Sync now again to refresh the table.

Step 6: Send and manage message threads

Once a template is approved (or a customer messages you first), you can hold WhatsApp conversations from inside FieldCamp.

  • From a client record's WhatsApp tab, see the conversation history with that client and reply within the 24-hour window.
  • From the Inbox, reply to inbound threads as they arrive.
  • For business-initiated messages outside the window, FieldCamp uses your tagged templates (via the Used For mapping) to send the right approved template at the right time.

Outbound message status flows back through the webhook in real time, so each message shows whether it was sent, delivered, read, or failed.

Step 7: Permissions and team access

WhatsApp access slots into FieldCamp's standard roles and permissions, so you can scope it by role rather than per user.

A typical setup looks like this:

  • Owners and admins manage the WhatsApp connection, webhook configuration, and template mappings.
  • Office and dispatch read and reply to threads and send approved templates.
  • Field technicians can reply to ongoing conversations tied to their clients within the 24-hour window.

Troubleshooting common WhatsApp issues

If something goes wrong, start with the checks below. Most issues come down to template state, webhook configuration, or the 24-hour window.

  • Template rejected — open the template in Meta (or your Twilio sender) and read the rejection reason, fix the issue there, and click Sync now in FieldCamp to refresh the status.
  • Outbound messages failing with "outside window" — confirm whether the conversation is past 24 hours since the customer's last inbound. If so, pick an approved template instead of free-form text.
  • Inbound messages not arriving — confirm the webhook URL (/api/whatsapp/webhook on your FieldCamp origin) is set in Meta or Twilio, that the verify token matches, and that the messages field is subscribed. Send a test inbound from a personal WhatsApp.
  • Template list missing new approvals — make sure the message_template_status_update webhook field is subscribed in Meta, then click Sync now in the Templates tab.
  • Twilio sends failing with 401 — the Calls addon may not be connected or its Twilio Account SID / Auth Token may be stale. WhatsApp via Twilio uses the Calls addon credentials, so fix them there first.
  • Twilio Sandbox webhook silently dropping inbound — Twilio Sandbox does not forward inbound messages by default. Open Twilio Console → Try WhatsApp → Sandbox Configuration and paste FieldCamp's webhook URL into "When a message comes in" (method POST).

For broader help, see Troubleshooting common issues and fixes.

FAQs

Do I need both Meta and Twilio? No. Pick one. Meta direct is the most direct path; Twilio makes sense if you already centralize SMS and voice through Twilio.

Can I keep my existing phone number? Yes, as long as the number has not been registered on the WhatsApp consumer app. If it has, you'll need to delete the consumer account first or pick a different number.

What counts as "starting" the 24-hour window? Any inbound message from the customer — a text, a button tap, or a media message. The window starts from the timestamp of that message and lasts 24 hours.

Can I build templates inside FieldCamp? No. Templates are authored and submitted in Meta (or your Twilio WhatsApp sender) and synced into FieldCamp. Inside FieldCamp you control which module a template is used for and how its {{N}} placeholders are mapped to client and job fields.

What happens to threads if I disconnect WhatsApp? Existing message history stays on the client record. New inbound messages stop arriving until you reconnect, and any new outbound sends will fail.

On this page