Farin sends SMS through each tenant’s own SignalWire space. Start in SMS Marketing, then complete the SignalWire registration and number setup below before turning on any automation.
Use a separate registered campaign for each distinct purpose. Interview reminders and loyalty promotions should not share undeclared message content, even when both campaigns are low volume.
Quick facts
Start here
- Choose Low Volume Mixed as the default SignalWire campaign category for Farin, then select accurate sub-use cases and samples.
- You need the SignalWire Space URL, Project ID, API token, Signing Key, and approved sender number(s).
- Farin verifies signed inbound and delivery callbacks, handles STOP/START/HELP, and stores non-command replies in the tenant SMS inbox.
- Marketing SMS requires explicit marketing consent. Interview-reminder consent does not automatically opt someone into loyalty promotions.
Step 1: Register the SignalWire campaign
Register the brand first
In SignalWire, register the legal business brand and connect the website customers will see. Wait for the brand to be available before creating the campaign.
Create a Low Volume Mixed campaign
Create a campaign under the registered brand and choose Low Volume Mixed. Select only the sub-use cases that match the messages this campaign will send. Use one campaign for interview/account notifications and another for loyalty or other promotional marketing when the purposes differ.
- Use the actual Farin website CTA or Square Loyalty POS prompt in the opt-in description.
- Include message frequency, “message and data rates may apply,” STOP instructions, HELP instructions, and realistic sample messages.
- Use the tenant privacy-policy URL. Careers sites publish it at
/{companySlug}/privacy-policy(or/privacy-policyon a tenant domain).
Step 2: Connect SignalWire in Farin
Enter tenant-owned credentials
Open SMS Marketing, choose Provider setup, and enter the tenant’s Space URL, Project ID, API token, and Signing Key.
Click Verify and save encrypted credentials. Farin verifies the token with SignalWire, encrypts the token and Signing Key, and shows only masked hints afterward.
Add the registered sending number
Enter the registered marketing number in E.164 format, such as +16025551234, set the tenant’s IANA timezone, and save the settings. If the tenant also sends interview reminders, enter the number assigned to the interview/account-notification campaign in the separate interview-reminder field. Leaving it blank preserves the legacy fallback to the marketing number. Keep sending disabled while registration or callback testing is still in progress.
Step 3: Point the SignalWire number at Farin
Do not skip the callbacks
Without the inbound callback, Farin cannot honor custom STOP/START/HELP behavior or save applicant/customer replies. Without the status callback, delivery state in Farin can become stale.
In SignalWire’s phone-number messaging settings, use these handlers for every sender that Farin will operate:
- Inbound messages: POST https://farin.app/api/public/sms/signalwire/inbound
- Delivery status callbacks: POST https://farin.app/api/public/sms/signalwire/status
Keep the Signing Key in Farin matched to the Project ID that owns the number. In SignalWire, also confirm that the number is assigned to the approved campaign. The inbound handler returns cXML confirmations for STOP, START, HELP, and SUPPORT; cXML is the webhook response format and does not replace Campaign Registry approval.
Step 4: Configure consent and messages
Turn on interview reminders safely
For careers, open Jobs settings, select notification recipients, and enable interview SMS only after the applicant form includes SMS consent. A reminder is sent about one hour before an opted-in interview and includes the time, address when available, and a secure manage link.
Sync and review loyalty consent
For loyalty marketing, open the Audience & consent tab and sync Square contacts. Square Loyalty POS enrollment is recorded as marketing opt-in; ordinary directory phone numbers remain unknown until a customer explicitly opts in.
- Never treat interview-reminder consent as loyalty-marketing consent.
- A later STOP always wins and is not overwritten by a Square sync.
- Keep every message branded, useful, and consistent with the approved campaign samples.
Step 5: Use the unified SMS inbox
Reply without leaving Farin
When an applicant asks to reschedule or a customer has a question, open the email’s inbox link and reply from the thread. Duplicate SignalWire webhook deliveries are ignored so a retry does not send a second email.
Open SMS inbox to read replies that are not STOP, START, HELP, SUPPORT, or a supported birthday response. Farin groups messages by phone number, shows unread counts, and lets staff mark, close, reopen, and reply to a conversation from the configured SignalWire number.
Farin emails the notification recipients selected in Jobs settings. If none are selected, active tenant managers receive the alert. The email is tenant branded, includes a plain-text fallback, escapes the incoming message content, and links directly to the conversation.
Step 6: Test before enabling production sends
- Send one test message and confirm SignalWire reports a delivery callback.
- Reply
STOP,START, andHELPand confirm the branded cXML responses and consent changes. - Send a normal question and confirm the branded email and the conversation under SMS inbox.
- Retry the same webhook and confirm that the inbox and email remain single-entry.
- Confirm the number is assigned to the approved Low Volume Mixed campaign and that the live copy matches the registered opt-in, privacy, HELP, and STOP disclosures.
- Only then enable the tenant and the individual automations.
Compliance essentials
Keep the registration and the message behavior aligned
Campaign category, sub-use cases, CTA, opt-in source, privacy URL, sample messages, sender assignment, and live message content must describe the same program. If you add a new promotional purpose, create or update the appropriate registered campaign before sending it.
- Honor STOP-like keywords immediately and provide START and HELP instructions.
- Use a direct privacy-policy link and include the statement that mobile opt-in data and consent are not shared with third parties for marketing or promotional purposes.
- Keep provider credentials tenant-scoped and never paste them into a message, article, or ticket.
- If SignalWire requires a different category because of volume or carrier review, follow the provider’s written instruction and document the exception before enabling the tenant.
