Slack Candidate Channels
How Kit automatically creates private Slack channels for each candidate so your team can collaborate in real time.
Why It Matters
Your team discusses candidates constantly — after interviews, during reference checks, when deciding next steps. Slack candidate channels give each candidate a dedicated private space, connected directly to their Kit application. No more searching through DMs or general channels to find what someone said about a candidate last week.
Prerequisites
Before candidate channels can be created:
- Connect Slack at the Full level — A workspace must be connected via Integrations > Slack at the Full permission level. Candidate channels are private, so lower levels can’t create them — see Slack permission levels
- Enable the feature — Turn on candidate channels in your Slack integration settings
Both steps require account admin access.
How It Works
Kit automatically creates a private Slack channel when a candidate completes their first stage (i.e., advances past the initial stage). This timing ensures channels are only created for candidates who are actively progressing through your pipeline — not for every new applicant.
Channel Naming
Channels follow the pattern #hire-{candidate-name}-{job-title}, truncated to 80 characters. If a channel with that name already exists, Kit appends a short random suffix to avoid conflicts.
What Happens on Creation
When a channel is created, Kit automatically:
-
Sets the topic —
{Candidate Name} | {Job Title} | {Link to application} - Pins a candidate summary — A formatted message with the candidate’s key details and application status
- Adds bookmarks — Quick links to the application page and job posting in Kit
- Invites team members — All members of the job’s hiring team are invited to the channel. If no team members are assigned, account admins are invited instead.
What Gets Posted
When the channel is first created, Kit pins a summary with the candidate’s name, the job they applied for, their current stage, and a direct link to their application.
After that, Kit automatically posts updates to the channel as things happen:
| Event | Message |
|---|---|
| Stage advanced | Shows the new stage name |
| Review submitted | Shows the reviewer’s name and recommendation |
| Interview scheduled | Shows date, time, and interviewers |
| Offer extended | Shows expiration date with a link to the application |
| Offer accepted | Celebration message confirming the acceptance |
| Offer declined | Shows the candidate’s comment, if provided |
| Rejection | Shows who rejected and the reason |
| Withdrawal | Shows who initiated and the reason |
| Candidate email reply | Notification with a link to view in Kit |
This means anyone reading only the Slack channel can follow a candidate from first interview through final decision — no need to check Kit for every update.
Channels keep the whole team informed. When something needs your action specifically — a decision, a review, an offer response — Kit also sends you a personal Slack DM using the same connection.
Using @KitBot
Mention @KitBot in any candidate channel to interact with Kit’s AI assistant. KitBot can:
- Summarize discussions — Mention @KitBot with “summarize” to get a summary of the channel conversation, automatically saved as a note on the candidate’s application
- Answer questions — Ask about the candidate’s status, interview history, or application details
- Save notes — KitBot can save observations from Slack as notes on the application, tagged with a “via Slack” badge and linked back to the original message
KitBot responds in the thread where it was mentioned, keeping the main channel clean.
KitBot also answers in your security channels — mention it under any VDP notification to ask about that report. See Asking KitBot About Reports. For how KitBot decides hiring vs. security across channels, see Using @KitBot in Slack.
Example Prompts
@KitBot summarize this thread
@KitBot what stage is this candidate in?
@KitBot save a note that the team is positive after the technical interview
Emoji Reactions
React directly on the pinned candidate summary to take hiring actions without leaving Slack. This feature requires a separate opt-in in your Slack integration settings.
Enabling Reactions
- Go to Integrations > Slack
- Candidate Channels must be enabled first
- Enable Emoji Reactions in the Features section
When enabled, the pinned summary message will show reaction instructions. New candidate channels created after enabling will include these instructions automatically.
Supported Reactions
| Emoji | Action | Who Can Use It |
|---|---|---|
| ✅ | Advance to next stage | Admins and hiring managers |
| ❌ | Reject candidate (with confirmation) | Admins and hiring managers |
| 👍 | Record positive signal as a note | Any team member |
| 👎 | Record negative signal as a note | Any team member |
| 👀 | Mark as “reviewing” (saved as note) | Any team member |
| ⏳ | Mark as “on hold” (saved as note) | Any team member |
How It Works
Advancing (✅): React on the pinned summary with ✅. Kit immediately advances the candidate to the next stage and posts a confirmation in the thread. All normal advancement side effects fire (candidate email, team notifications, webhooks).
Rejecting (❌): React with ❌ and Kit posts a confirmation prompt in the thread: “Reject [Name]? React ✅ to confirm.” You have 60 seconds to confirm. If you don’t, the prompt auto-deletes and nothing happens. Once confirmed, the rejection email is scheduled per your account’s delay setting.
Signal reactions (👍 👎 👀 ⏳): These create notes on the candidate’s application tagged “via Slack reaction.” The note appears in Kit’s application timeline. Removing the emoji removes the note. No thread reply is posted for signals – the emoji on the message is the signal.
Permissions
Only admins and hiring managers for the job posting can advance or reject via reactions. If a team member without these permissions reacts with ✅, their reaction is recorded as a positive signal note instead, and they receive a private message explaining the permission requirement.
Reactions only work on the pinned summary message in candidate channels. Reacting on other messages (stage updates, review notifications, user messages) has no effect.
Team Channel Reactions
You can also react on new application notifications in team channels (like #hiring) to screen candidates without opening Kit. This is a separate feature from candidate channel reactions.
Enabling Team Channel Reactions
- Go to Integrations > Slack
- Enable Team Channel Reactions in the Features section
This setting is independent of candidate channel reactions. You need an active Slack connection at the Collaboration or Full permission level with notification channels configured.
How It Works
When a new application arrives, Kit posts a notification to your configured team channel. With team channel reactions enabled, this notification includes a hint: “React 👍 to advance past screening / 👎 to reject.”
Advancing (👍): React with 👍 on the notification. Kit posts a confirmation in the thread: “Advance [Name] past screening? React ✅ to confirm.” You have 60 seconds to confirm. If confirmed, the candidate advances to the next stage.
Rejecting (👎): React with 👎. Kit posts a similar confirmation. Once confirmed, the rejection is processed and the email is scheduled per your account’s delay setting.
Both actions require confirmation because team channels are busy and accidental reactions are common. The confirmation includes the candidate’s name so you can verify you’re acting on the right person.
Key Differences from Candidate Channel Reactions
| Candidate Channels | Team Channels | |
|---|---|---|
| Emojis | ✅ advance, ❌ reject | 👍 advance, 👎 reject |
| Confirmation | Advance is immediate, reject requires confirmation | Both require confirmation |
| Signal notes | 👍 👎 👀 ⏳ create notes | No signal notes (too noisy) |
| Reactable messages | Pinned summary only | New application notifications only |
| Setting | Emoji Reactions toggle | Team Channel Reactions toggle |
Permissions
Same as candidate channel reactions: only admins and hiring managers can advance or reject. Non-authorized users receive a private message explaining the permission requirement.
Only “New Application” notifications are reactable. Reacting on stage-advanced, review-submitted, or other notification types has no effect.
Sharing a Candidate CV
The New Applicant notification in your team channel can carry a View CV button, so anyone in the channel can open the candidate’s resume — even teammates who don’t have a Kit account yet.
Enable Share CV in Slack in your Slack integration settings (admin only). It’s off by default because the link exposes a candidate’s resume to everyone in the channel.
How it works:
- Expiring, verified-download link. The button opens a focused, program-branded page with the candidate’s name. Before the resume downloads, the viewer verifies an email — with Slack, Google, or a one-time email link — so every download is attributable. The link expires after 48 hours, each download mints its own short-lived URL, and the link stops working automatically if the candidate is rejected or withdrawn, the posting is closed, or the CV is replaced.
- Restricted postings are never shared. If a job posting is restricted to specific team members, no public View CV button is added — those CVs stay behind login.
- View tracking. Kit records who opened the CV, including the verified email of each download. Teammates signed in to Kit appear as named avatars; everyone else is counted as an anonymous link view. The tally shows on the application’s page in Kit and is summarized back on the original Slack message. Repeat views within 30 minutes aren’t double-counted.
- Trusted domains (optional). You can keep an allowlist of approved company email domains and, in strict mode, require every download to come from one. See Sharing a Candidate CV for the full verification flow and this setting.
- Request an invite. A viewer who works with you but isn’t on Kit yet can ask to be invited straight from the CV page. Account admins get a notification with a one-click link to send the invite.
Note
Only the New Applicant notification carries the View CV button, and only for unrestricted postings with a CV on file.
Channel Lifecycle
| Event | What Happens |
|---|---|
| Candidate advances past first stage | Private channel created, summary pinned, team invited |
| Hiring events occur | Live updates posted to channel (see table above) |
| Candidate rejected | Rejection message posted, then channel archived after a short delay |
| Candidate withdrawn | Withdrawal message posted, then channel archived after a short delay |
| Offer declined | Decline message posted, then channel archived after a short delay |
| Offer accepted | Acceptance message posted, channel remains active for onboarding |
Archived channels are still visible in Slack’s channel browser for historical reference, but no new messages can be posted. The short delay before archiving ensures the final status message is delivered before the channel is locked.
Quick Checklist
- Connect your Slack workspace in Integrations at the Full permission level
- Enable candidate channels in Slack integration settings
- Assign team members to your job postings so they get auto-invited to channels
- Try mentioning @KitBot in a candidate channel to test the AI assistant
- Check that notes saved by KitBot appear on the application detail page in Kit
- Enable emoji reactions in Slack integration settings (optional)
- Try reacting ✅ on a pinned summary to test advancing a candidate
- Enable Share CV in Slack to add a View CV button to new applicant notifications (optional)
- Enable team channel reactions in Slack integration settings (optional)
- React 👍 on a new application notification in #hiring to test screening advance