Skip to main content

Summarize candidate CVs in Slack with easybits Extractor

Workflow preview

Workflow preview
100%
Summarize candidate CVs in Slack with easybits Extractor preview
Open on n8n.io

1. Workflow Overview

Quick overview This workflow listens for CV uploads in a Slack channel, downloads the attached file, extracts key candidate details using easybits Extractor, and replies in the same thread with a f...

Best for

  • HR automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.if, @easybits/n8n-nodes-extractor.easybitsextractor, n8n-nodes-base.slacktrigger, n8n-nodes-base.httprequest, n8n-nodes-base.code, n8n-nodes-base.slack, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Felix.

Original n8n.io source

1.1 Workflow description

Title
Summarize candidate CVs in Slack with easybits Extractor
Workflow name
Summarize candidate CVs in Slack with easybits Extractor

Quick overview

This workflow listens for CV uploads in a Slack channel, downloads the attached file, extracts key candidate details using easybits Extractor, and replies in the same thread with a formatted summary plus an interactive action card posted via the Slack Web API.

How it works

  1. Triggers when a new message is posted in the selected Slack channel.
  2. Ignores messages posted by the bot itself and skips any messages that do not include a file attachment.
  3. Validates that the uploaded file is a supported type (PDF, PNG, or JPEG) and replies in-thread with an error message if not.
  4. Downloads the private Slack file using a bearer token and passes the binary to easybits Extractor.
  5. Extracts structured CV fields (name, location, years of experience, skills, recent roles, education, salary expectations, and LinkedIn URL) and formats them into a Slack-ready markdown summary and Block Kit buttons payload.
  6. Posts the candidate summary as a threaded reply in Slack and sends a second threaded message with an action card (for example, “Save to Sheet” or “Dismiss”) via Slack’s chat.postMessage API.

Setup

  1. Create and install a Slack app with Event Subscriptions enabled for channel messages, grant scopes such as chat:write and files:read, install it to your workspace, and invite the bot to the target channel.
  2. Add Slack OAuth credentials for the Slack trigger/posting and add a bearer token Header Auth credential (Authorization: Bearer xoxb-...) for downloading files and calling Slack’s chat.postMessage API.
  3. Install the community node package @easybits/n8n-nodes-extractor, create an easybits Extractor API credential, and ensure your Extractor is configured to return the CV fields used by the workflow.
  4. Set the Slack channel ID in the trigger, replace UYOURBOTID with your bot’s Slack user ID, and activate the workflow then paste the trigger Production URL into your Slack app’s Event Subscriptions Request URL.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Guard: Supported MIME

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 2 - easybits: Extract CV Fields

Type / Role
@easybits/n8n-nodes-extractor.easybitsExtractor - easybitsExtractor
Config choices
Version 1

Block 3 - Watch Channel for Messages

Type / Role
n8n-nodes-base.slackTrigger - slackTrigger
Config choices
Version 1

Block 4 - Download File from Slack

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 5 - Build Summary & Action Card

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 6 - Post Summary to Thread

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 7 - Post Action Card to Slack

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 8 - Reply: Unsupported File Type

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.2

Block 9 - Guard: Self & No-File Filter

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 10 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note8

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Summarize candidate CVs in Slack with easybits Extractor
Complexity advanced
Nodes 18
Categories HR, AI Summarization
Author Felix
Published 03 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16098/16098.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Summarize candidate CVs in Slack with easybits Extractor do?

Quick overview This workflow listens for CV uploads in a Slack channel, downloads the attached file, extracts key candidate details using easybits Extractor, and replies in the same thread with a f...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your HR, AI Summarization use case.