Contractors can manage their job alert preferences via signed, time-limited links from Brevo emails.
Flow:
/preferences?token=<HMAC-signed-payload> (EN) or /nl/voorkeuren?token=<...> (NL)Implementation:
/src/pages/preferences.astro – English form page/src/pages/nl/voorkeuren.astro – Dutch form page/src/pages/api/preferences.json.ts – Astro endpoint that calls Apps Script backendBrevoPreferences.gs – Apps Script web app (deployed separately)
doGet(e) – Verify token and return contractor’s preferencesdoPost(e) – Update preferences and sync to Recruit CRM + BrevoSetup required:
BrevoPreferences.gs to “Axeleon automations” Apps Script projectPREF_URL_ENDPOINT to the deployment URL/src/pages/api/preferences.json.ts to call the Apps Script deployment URLToken structure:
base64(crm_id|candidate_id|timestamp) (timestamp in ms)HMAC-SHA256(payload, PREF_SECRET)payload.signatureRecruit CRM fields used:
Brevo fields updated: