CV Converter: Automating CV Formatting with AI in Slack
A mid-sized recruitment agency partnered with Beetroot to move beyond reformatting candidate CVs by hand. The outcome is a Django-based Slack bot that uses AI to turn any CV into a ready-to-send, agency-branded Word document, cutting processing time from up to 60 minutes to under 60 seconds.
-
TECHNOLOGIES
- Python
- Django
- OpenAI API (GPT-4)
- Slack API
- python-docx
- Jinja2
- Google Drive API
-
TEAM COMPOSITION
- Python/Django Developer
- AI/LLM Engineer
Background
Our client is a mid-sized recruitment agency that places software developers with technology companies. Every candidate submission requires the CV to follow the agency’s branded standard, with consistent layout, section order, tone, and branding.
Candidates send their CVs in many different formats and styles, while the agency’s recruiters run most of their day-to-day work in Slack.
Project Recap
-
Recruiters spent 30–60 minutes manually reformatting every candidate CV before client submission, with frequent inconsistencies during high-volume hiring.
-
A Slack-native Django bot that uses the OpenAI API to extract CV data and generate a branded Word document, saved automatically to Google Drive.
-
CV processing time cut to under 60 seconds, consistent output every time, and instant adoption by recruiters with zero training.
Challenge: Manual CV Formatting Bottlenecks
Before the solution existed, recruiters had to manually reformat every candidate CV before sending it to a client. The process took 30–60 minutes per CV, was prone to errors, and became a real bottleneck during high-volume hiring periods, when dozens of CVs had to be processed within tight client deadlines.
The team faced several challenges:
- Copying content from each original CV into the agency template by hand
- Restructuring sections and fixing inconsistent dates, job titles, and terminology
- Repeating the whole process for every new candidate and every CV update
Facing a similar challenge? We're ready to help!
Solution: Slack-Native AI CV Converter
Beetroot built an automated CV conversion pipeline that lives entirely inside the agency’s existing Slack workflow. A recruiter uploads a CV, and the bot returns a formatted, client-ready document within seconds, with no new tools to learn.
-
Slack-Native Workflow
Recruiters drop a PDF or DOCX into a dedicated Slack channel or DM, and the bot replies in-thread with the finished document. There is no portal, login, or form to fill in.
-
AI Data Extraction
The OpenAI API turns any CV format into structured candidate data, including experience, tech stack, education, and certifications, which proved far more robust than rule-based parsing.
-
Template-Based Document Generation
python-docx and Jinja2 templates generate a polished, agency-branded Word file, so the template can be updated without touching the extraction logic.
-
Automatic Google Drive Storage
Every converted CV is saved to a structured Google Drive folder, giving recruiters a shareable link and a single source of truth for client submissions.
-
Validation and Fallbacks
A validation layer checks required fields, retries transient API failures, and sends clear error messages, while recruiters review each document before it goes to a client.
-
Security and GDPR by Design
CV files are processed in memory and never stored, the bot runs with minimum Slack permissions, and every conversion is logged without keeping candidate data.
Beetroot really took the time to understand how our recruiters work and built the solution around our existing process. The CV Converter fits naturally into Slack, so the team picked it up quickly. It has saved us hours of repetitive work and made our candidate submissions much more consistent.
Results
The CV Converter turned a repetitive manual task into a one-step action in Slack and was adopted by the agency’s recruiters immediately, with no onboarding required.
-
From 60 minutes to 60 seconds
CV processing time dropped from 30–60 minutes per document to under 60 seconds.
-
Near-zero manual effort
Copying, pasting, and reformatting were replaced by a single file upload in Slack.
-
Consistent output every time
Every CV now follows the agency standard, with no formatting errors caused by manual work.
-
Zero onboarding
Because the bot lives in Slack, recruiters started using it right away without any training.
-
Hours saved every week
During high-volume hiring sprints, the bot processes multiple CVs a day, freeing up several hours of recruiter time weekly.
-
Simpler GDPR compliance
A stateless design that never stores raw CV data reduces data-retention risks around candidate information.
Automate your recruitment workflows with AI:
Spending hours on manual document work? Share your challenge via the form, and one of our experts will get back to you with a solution tailored to your tools and processes.