Candidate triage in Slack without losing the audit trail

Perelan team2026-06-232 min read

How to bring a focused hiring decision into Slack while keeping identity, permission checks, stage changes, and the source record in one system.

Why candidate decisions drift into chat

Hiring teams already discuss candidates in chat. A resume appears in a channel, someone adds context, and a teammate says the candidate should move forward. The risk is that the final decision becomes detached from the candidate record. Later, nobody knows who acted, which stage changed, or whether the person had permission to make the call.

The better pattern is to let Slack be a decision surface while keeping Recruiting as the system of record.

Importing a resume from a channel safely

When configured, a recruiting channel can be scanned for candidate PDFs. The integration downloads permitted private files with the connected Slack authorization, parses the resume, creates or enriches the candidate, and replies to the source thread with success or failure.

That flow should be narrow. It should not imply that every file or conversation becomes a candidate record. It should process the supported resume path and keep errors visible.

Linking Slack identity to the employee

An Approve button is not meaningful unless the system knows who clicked it. A Slack member must map to a Perelan employee. Email matching can help, but explicit links matter when accounts differ.

Once mapped, the Slack action can be evaluated as a real Perelan actor rather than an anonymous channel event.

Reauthorizing Approve and Disapprove

The Slack request is signature-verified, then Perelan resolves the linked employee, then the recruiting service checks permission again. Only after that can the candidate change state.

Approve and Disapprove are not a tally. They are authoritative actions by a linked, authorized user. That distinction is central to the Slack integration.

Updating the candidate and resolving the card

After approval, the candidate moves into the configured next stage, the actor and time are recorded, and the original Slack card is rewritten. Buttons disappear so the same card cannot be acted on again.

The channel still gets the benefit of a visible decision, but the durable record remains in Perelan.

Failure and fallback states

Useful failures include unlinked Slack user, missing recruiting permission, stale card, missing resume, unsupported file, and parsing failure. Each should explain the next step without exposing hidden candidate data.

Next step

See how the idea shows up in the product.