Build a Course Syllabus Processor with n8n + Google Drive + Slack

Every semester starts the same way. Five or six syllabi land in your downloads folder. Each one is 8-12 pages. You skim through looking for exam dates, assignment deadlines, office hours, required textbooks — mentally trying to piece together what the next 16 weeks look like. Then you do it again for the next course.

By week two, you’ve forgotten which professor has Tuesday office hours and whether that first paper is due the 14th or the 17th.

Built a workflow that reads every syllabus the moment it lands in Drive and pulls everything into a single structured summary — deadlines sorted chronologically, grading breakdown, required materials, instructor contact, schedule. All in Slack within about 15 seconds.

What it does

Syllabus dropped in Google Drive folder → extracts all course data → sorts deadlines chronologically → logs to course tracker sheet → posts full summary to Slack

Takes about 12-15 seconds per syllabus.

What gets extracted

Course:

  • Name, course code, credits, semester, department

Instructor:

  • Name, email, phone, office location, office hours

Schedule:

  • Meeting days, time, location

  • Semester start and end dates

Course content:

  • Description and learning objectives (top 5)

Materials:

  • Required textbooks — title, author, ISBN

  • Optional materials flagged separately

Grading breakdown:

  • Every category with percentage weight

  • e.g., Assignments: 30% | Midterm: 25% | Final: 35% | Participation: 10%

Assignments:

  • Name, type, due date, weight, description

Exams:

  • Name, date, time, location, weight

Upcoming deadlines:

  • All assignments and exams merged, sorted by date, top 10 listed

Policies:

  • Attendance policy

  • Late work policy

  • Academic integrity policy

What lands in Slack


📚 New Course Syllabus Processed

CS401 - Advanced Algorithms

👨‍🏫 Instructor: Dr. Maria Santos

📧 Email: [email protected]

🕐 Office Hours: Mon/Wed 2-4pm, Room 312

📅 Schedule: Mon, Wed, Fri at 10:00am in Building A, Room 204

📊 Grading: Assignments: 30% | Midterm: 25% | Final: 35% | Participation: 10%

📝 Assignments: 8 | Exams: 2

📖 Required Materials: 2

Upcoming Deadlines:

📌 Assignment 1 - Sorting Algorithms: Feb 14

📌 Assignment 2 - Graph Problems: Feb 28

📌 Midterm Exam: Mar 12

📌 Assignment 3 - Dynamic Programming: Mar 21

📌 Assignment 4 - NP Completeness: Apr 4

...

📄 View Syllabus

Drop 5 syllabi in the folder, get 5 structured summaries in Slack. Your entire semester mapped out before you’ve attended a single class.

What lands in Google Sheets

Each row: Course Code, Course Name, Credits, Semester, Instructor, Email, Office Hours, Schedule, Grading, Assignments (count), Exams (count), Required Materials (count), Added Date

One row per course. All your courses for the semester in a single view.

Setup

You’ll need:

  • Google Drive (folder for syllabus documents)

  • Google Sheets (free)

  • n8n instance (self-hosted — uses PDF Vector community node)

  • PDF Vector account (free tier: 100 credits/month)

  • Slack (for syllabus summaries)

About 10 minutes to configure.

Download

Workflow JSON:

course-syllabus-processor.json

Full workflow collection:

khanhduyvt0101/workflows


Setup Guide

Step 1: Get your PDF Vector API key

Sign up at pdfvector.com — free plan works fine for a semester’s worth of syllabi. Go to API Keys and generate a key.

Step 2: Create your Google Drive folder

Create a folder called “Syllabi” or “Course Documents.” Copy the folder ID from the URL.

Step 3: Create your Google Sheet

Headers in Row 1:


Course Code | Course Name | Credits | Semester | Instructor | Email | Office Hours | Schedule | Grading | Assignments | Exams | Required Materials | Added Date

Step 4: Import the workflow

Download JSON from GitHub → n8n → Import from File.

Step 5: Configure the nodes

Google Drive Trigger:

  • Connect Google Drive account (OAuth2)

  • Paste your folder ID

  • Event: File Created

Download Document:

  • Same Google Drive credential

PDF Vector - Extract Syllabus:

  • Add new credential (Bearer Token)

  • Paste your API key

Process Syllabus:

  • No config needed — deadline sorting and formatting run automatically

Log Course Info:

  • Connect Google Sheets

  • Paste your Sheet ID

Notify Student:

  • Connect Slack

  • Select your personal channel or a dedicated course-updates channel

Step 6: Test it

Drop any course syllabus PDF into your Drive folder. Check Slack and your Sheet after about 20 seconds.


Accuracy

Tested on syllabi from US universities across engineering, business, and humanities departments.

  • Course name, code, credits, instructor: ~97% on standard formatted syllabi

  • Schedule (days, time, location): ~94%

  • Assignment names and due dates: ~92% — works best when dates are explicit (Feb 14) vs relative (Week 3)

  • Grading breakdown with weights: ~93%

  • Required textbook titles and authors: ~95%

  • Exam dates: ~96% — usually the most prominently listed dates in any syllabus

Syllabi with non-standard formatting (heavy use of tables, unusual layouts) may miss some fields. Most university-standard syllabi extract reliably.

Cost

Each syllabus uses 3-4 PDF Vector credits. A full semester of 5-6 courses costs about 20-25 credits — well within the free tier of 100 credits/month.

Customizing it

Add Google Calendar integration:

After the Slack node, loop through the assignments array and create a Google Calendar event for each deadline. Every due date lands in your calendar automatically.

Build a master deadline view:

Create a second sheet tab called “Deadlines” and append each assignment and exam as individual rows — one row per deadline across all courses. Sort by date for a single master view of the entire semester.

Study group sharing:

Point the Slack notification to a shared study group channel instead of a personal one. Everyone in the group gets the same structured summary when any member uploads a syllabus.

Academic advisor use:

For advisors tracking multiple students, add a Student Name column and use subfolders per student as separate triggers.


Limitations

  • Requires self-hosted n8n (PDF Vector is a community node)

  • Relative dates (“Week 3,” “two weeks before finals”) don’t extract as calendar dates

  • Some syllabi list “TBD” for exam locations — these extract as-is

  • No Google Calendar integration built in — requires additional nodes


PDF Vector n8n integration

Full workflow collection

Questions? Drop a comment.