Stop Losing Candidates to Silence, Add Two-Way SMS to Oracle HCM

 Recruiters can send candidates a text from Oracle HCM. But there is no mechanism to receive a reply. Candidate responses go nowhere, with no log, no flag, nothing. 

This recipe shows you how to connect Spoke Phone to Oracle HCM so recruiters have real two-way SMS conversations with candidates, with consent enforced automatically before every send and opt-outs written back to Oracle HCM in real time.

Step 1: Set up Spoke Phone and register your 10DLC campaign

Before anything else, you need a Twilio number that can send and receive SMS, and US A2P registration completed. 10DLC has the longest lead time in this build. Start here before touching Oracle.

  1. Log in to the Twilio Console and navigate to Log into your Account → Communications  → Numbers & Senders → Overview → Phone Numbers, then click Set up a new phone number. Select a number with SMS and Voice capabilities. For US-based hiring, a US local 10-digit long code works well. See Twilio docs for registration guidance.
  2. Create a Messaging Service in the Console under Products & Services, Messaging, Services, then add your number to its Sender Pool. Messaging Services handle opt-out keywords like (STOP, UNSUBSCRIBE) automatically. This is required for candidate messaging. Full guide: twilio.com/docs/messaging/services
  3. Sign up for Spoke Phone at getspoke.com. During onboarding, connect your Twilio account. Spoke uses Twilio Voice SDKs for its apps and the Twilio Conversations API for SMS and team messaging.
  4. In the Spoke Admin Portal, go to Developers → API Keys and create a new API Key. Save the Client ID and Secret. You will need both when configuring the Oracle sync in Step 3.
  5. Configure users, teams, and routing in the Spoke Admin Portal so outbound messages always go from the correct number for each recruiter. Add all colleagues who will handle candidate conversations to a shared Recruitment team.
  6. Users install the Spoke app: iOS: App Store | Android: Google Play | Desktop: https://www.getspoke.com/download

Step 2: Add SMS consent fields to your Oracle candidate record

The Oracle to Spoke sync is triggered by candidate consent. Before building that sync, consent needs a place to live in Oracle.

  1. Work with your Oracle developer or consulting partner to add two custom boolean fields to the Oracle HCM candidate record:
    SMS_CONSENT_TRANSACTIONAL (true / false)
    SMS_CONSENT_PROMOTIONAL (true / false)
  2. Both fields are populated during the application flow. When a candidate applies and opts in to receive text messages, their response is written to these fields.
  3. The workflow you build in Step 3 watches these fields. When consent flips to true, the sync to Spoke fires. Candidates with false values never appear in the recruiter's Spoke contact list.

The two-field consent structure reflects a specific Oracle data model requirement. Confirm with your Oracle developer whether your instance uses this schema or a different consent structure before proceeding.

Step 3: Build the Oracle to Spoke candidate sync

This workflow runs inside Oracle HCM. When a candidate's consent fields are true, it pushes their record into Spoke, making them visible and allows the assigned recruiter to respond.

  1. Work with your Oracle developer or consulting partner to build a workflow in Oracle that monitors the consent fields from Step 2.
  2. When consent is true, the workflow calls the Spoke API to create or update a contact record in the assigned recruiter's phonebook in Spoke. This associates each candidate with the correct recruiter in Spoke. 
  3. When consent is set to false, the workflow calls the Spoke API to remove the contact record in the assigned recruiter's phonebook in Spoke.

    When the recruiter attempts to send a message to a candidate, the Outbound Proxy in Spoke will decide if a message is allowed to be sent or not by looking at the consent fields before sending.

    Spoke API reference: developer.getspoke.com

  4. Test the full sync: As a candidate, submit a test application in Oracle and agree to the  consent (set to true) and confirm the candidate record appears in the correct recruiter's phonebook in Spoke. . Then set the consent in Oracle for false, and the candidate should be removed from the recruiter's phone book in Spoke. In either case, the record should appear/be removed in Spoke within a few seconds of submitting/changing in Oracle.

Step 4: Configure the manual number entry fallback

Recruiters can also initiate an SMS by typing a phone number directly in Spoke. Before that message is sent, Spoke checks Oracle HCM for consent, enforcing it even when a recruiter bypasses the Oracle HCM interface or their assigned list of contacts in their Spoke Phone address book entirely.

  1. When a recruiter manually enters a number in Spoke, Spoke performs a lookup against Oracle HCM to determine whether that number belongs to a known candidate.
  2. If the candidate is found and consent is true, the message is sent normally.
  3. If the candidate is found and consent is false, the message is blocked. The recruiter sees a notification that this candidate has not opted in to SMS.
  4. If the candidate is not found in Oracle, Spoke sends a consent link to the candidate's number. Once the candidate opts in, the message is delivered.  For consent, Spoke provides an orchestration platform (intercept, evaluate, approve) allowing you to to implement the process based on your company's chosen workflow.

Step 5: Set up opt-out capture and Oracle write-back

US SMS compliance requires that candidate opt-outs are honored immediately and the updated status written back to Oracle.  This step makes the workflow adhere to these legal compliance requirements.

  1. Include opt-out compliance language in the first message sent to each candidate. US carriers and FCC regulations require this. Example: Reply STOP to unsubscribe from recruiting messages.
  2. When a candidate replies STOP (or STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT, REVOKE, or OPTOUT), Spoke captures the opt-out automatically via its Messaging Service connection to Twilio.
  3. Configure a Spoke webhook to write the opt-out status back to Oracle in real time. The webhook updates SMS_CONSENT_TRANSACTIONAL and SMS_CONSENT_PROMOTIONAL on the candidate record in Oracle, to false. Spoke webhook documentation: developer.getspoke.com
  4. The sync from Step 3 then removes that candidate from the recruiter's Spoke contact list automatically. Recruiters cannot continue messaging opted-out candidates.

Step 6: Add the recruiter 'Send Message' button in Oracle (optional)

This step puts a Send Message button directly in the Oracle recruiter interface, so recruiters can start a Spoke conversation without leaving Oracle.

  1. Get the Spoke deep link specification from the Spoke Developer API
  2. Work with your Oracle developer or consulting partner to build a custom recruiter view inside Oracle HCM. The view shows a table of assigned candidates with name, job title, and application status.
  3. Add a Send Message button to each candidate row. The button invokes the Spoke deep link, which opens the Spoke app directly to a new message thread for that candidate. No copy-pasting numbers, no context switching between systems.

Wrapping up

Here's what this recipe sets up:

  •  Provisioned a Twilio number and Messaging Service for compliant candidate SMS at scale

  •  Connected Spoke Phone to Oracle so recruiters share a single inbox across mobile and desktop

  • Added SMS consent fields to Oracle and built a sync that makes opted-in candidates instantly available in Spoke

  • Enforced consent automatically before every send — no manual lookup, no recruiter guesswork

  • Automated opt-out capture and Oracle write-back so compliance data stays current in real time

  • Enabled two-way voice and SMS from the same number candidates already recognize

  • (Optional) Added a deep link view in Oracle so recruiters start conversations in Spoke with one click

What you've built

Recruiters now have a dedicated direct SMS and voice channel with assigned candidates, and recruiting teams have a shared inbox view where candidate replies actually land. Consent is enforced before every send. Opt-outs write back to Oracle automatically. The recruiter's number stays consistent across voice and SMS, so candidates always recognize who is contacting them.

Twilio sends and receives every message. Spoke gives recruiters a shared inbox. Oracle HCM stays current, with consent and opt-outs that update in real time.

Get started:

 

Related resources