HR

Share and syndicate jobs

Smart Share to LinkedIn, X, Facebook, WhatsApp, Email, or Instagram in one click — no OAuth setup. Plus how the Open Graph metadata makes link unfurls look clean automatically.

Every published job has a public URL at tracefyhr.com/careers/{slug}. The job preview page (Hiring → click any row) gives you a Share button that opens a smart-share dialog so the role lands on the right platform with the right caption — no OAuth, no API keys, no third-party integration to set up.

How it works

The dialog shows an editable caption auto-generated from the job (title, company, location), a public URL, and a button per platform. Click the platform you want; we open that platform's logged-in share dialog in a new window with the URL already attached.

No OAuth means no token rot. Every "share to" button is a standard web intent — a URL the platform itself defines that opens its own share dialog. You don't connect accounts to TracefyHR; you just use the account already logged into your browser.

Platforms we ship

PlatformWhat gets attached
LinkedInURL only — LinkedIn pulls the rest from the page's Open Graph tags
X / TwitterCaption + URL
FacebookURL only — Facebook also pulls from Open Graph
WhatsAppCaption + URL
EmailSubject + body, opens your default mail client
InstagramCaption + URL copied to clipboard, then opens instagram.com (no web share API exists)
Copy linkJust the URL
Copy caption + linkBoth, for anywhere we don't have a direct button (BlueSky, Threads, Discord, etc.)

Editing the auto-caption

The default caption reads something like:

We're hiring: Senior Full-Stack Engineer at Acme Corp. 📍 Remote. Strong portfolio? Apply via the link below.

It pulls the job title, your company name, and the work mode + location automatically. Edit it directly in the dialog before sending — useful when sharing to an audience you know (e.g. tightening the tone for LinkedIn vs. WhatsApp).

Why LinkedIn / Facebook ignore your caption

Some platforms (LinkedIn, Facebook) strip the caption and rebuild the post from the target page's metadata. To make sure those previews look great, every job preview page sets:

  • <title> = Senior Full-Stack Engineer — Acme Corp
  • meta description = first 155 plain-text characters of the description
  • Open Graph (og:title, og:description, og:url, og:site_name) — what LinkedIn / Facebook / Slack / iMessage use for link unfurls
  • Twitter card (summary_large_image) — same data, X-flavoured
  • JSON-LD JobPosting structured data — what Google for Jobs and AI search engines (ChatGPT / Gemini / Perplexity) read to index the role

You don't have to do anything to make this work. The metadata is generated from the job's content; if the post unfurl looks wrong, fix the description, save, and re-share.

Google for Jobs indexing

The JobPosting JSON-LD block follows Google's spec and includes title, description, datePosted, employmentType, hiringOrganization, jobLocation (or applicantLocationRequirements for Remote roles), and baseSalary when you toggled "Show salary" on. Google's rich-results test will pick up every field the spec recommends.

Faster indexing. TracefyHR pings IndexNow (Bing + Yandex + Seznam) the moment a job goes live. Google for Jobs picks the role up on its next normal crawl — usually within 24-48 hours of publication. No additional setup required.

What's currently in preview vs. live

The preview page lives at /portal/hiring/jobs/{id} inside your portal — only your team can see it, and the meta robots tag on it is noindex, nofollow. The actual public page at /careers/{slug} is the same markup but with index, follow instead. Public careers page itself ships in Phase 4; until then, the share URL 404s for outside readers.

When Phase 4 lands, nothing changes about how you share — the share dialog already points at the right URL pattern. The only difference is that clicks from LinkedIn / X / Slack will reach a real apply form instead of a 404.

  • Posting a job — getting the description right so the unfurl preview reads cleanly
  • Hiring overview — where this fits in the bigger picture

Last updated 2026-05-09