Learn more about our native MCP
Directus Logo
  • Use Cases and Features
    • Headless CMS
      Manage and deliver content with ease
    • Backend-as-a-Service
      Build and ship applications faster
    • Headless Commerce
      A single source of truth for products
    • 100+ More Use Cases
      Build anything (or everything)
    • Instant APIs
      Connect a database, get REST + GraphQL APIs
    • Granular Policy-Based Auth
      Provide secure, autonomous data access
    • Visual Automation Builder
      Automate content and data workflows with ease
    • 50+ More Features
      Get everything you need out-of-the-box
    Project Showcase
    Built With Directus

    Built With Directus

    See what everyone's been building with Directus

  • Learn More
    • Blog
      Read our latest articles and guides
    • Case Studies
      Case studies and success stories
    • Community Forum
      Questions and conversations
    • Agency Directory
      Browse our list of agency partners
    • About Us
      Learn more about Directus and the team
    • Wall of Love
      See what others are saying about us
    • Contact
      Have a general inquiry or question for us?
    • Support
      Reach out to Directus support
    Watch Directus TV
    Directus TV
    Video

    Directus TV

    Go down the rabbit hole with hours of original video content from our team.

  • Developers
  • Enterprise
  • Pricing
Book a DemoGet StartedLog In
GitHub logo34,210
Back
resource
Monday, February 9, 2026

How I Built an Employee Advocacy Scoreboard with Directus, Zapier, and Claude Code

A practical guide to tracking team social sharing with AI-powered detection, Directus as the backend, and a vibecoded React dashboard.
How I Built an Employee Advocacy Scoreboard with Directus, Zapier, and Claude Code

The Problem

Those employee advocacy programs. So hot right now.

Zoolander

According to Semrush, LinkedIn is the second most-cited source in LLM responses (after Reddit), which means your team's social presence directly impacts your company's AI discoverability.

semrush-cited-sources-llm

But tracking who's posting what? That's usually a spreadsheet nightmare.

I wanted something visual. A scoreboard that updates automatically when someone shares company content. Here's how I built it.

The Stack

  • Slack - where teammates drop links to their posts
  • Zapier - automation layer with GPT-4o-mini for AI detection
  • Directus - headless CMS as the data backend
  • Next.js + Vercel - frontend dashboard
  • Claude Code - scaffolded the entire frontend from a conversation and mapped the Directus data.

The Flow

  1. Teammate posts on LinkedIn or X
  2. They drop the link in our #upvotes-plz Slack channel
  3. Zapier catches the message, runs it through GPT-4o-mini to detect if it's a social link
  4. If yes, a second AI step extracts the platform and cleans the URL
  5. Zapier posts the data to Directus
  6. Dashboard pulls from Directus and displays the leaderboard

Step 1: The Slack Trigger

We have a dedicated Slack channel where teammates drop links after they post. Nothing fancy - just paste the URL with optional context.

slack-post-sht-post

Step 2: AI Detection (Zapier)

Zapier Flow

The first Zapier step runs the message through GPT-4o-mini with a simple prompt:

Analyze the provided post to assess whether it includes a link to a social media platform. If the post does contain a link to a social platform, output the boolean value true. If it does not contain such a link, output the boolean value false.

This returns a boolean. A path condition routes true results to the next step.

Step 3: Data Cleaning (Zapier)

The second AI step extracts structured data:

## CONTEXT ##
You are a data cleaning expert tasked with analyzing and cleaning Slack posts in order to effectively understand and evaluate a specific post. Your responsibilities include:
1. Extracting the context of the post.
2. Identifying the platform where the post originates (to be scraped via link).
3. Analyzing the social link included in the post.

The output will be integrated into a Directus instance, so it is essential that we achieve clarity in the shared message and ensure conformity to the specified data model.

## OBJECTIVE ##
Our team at Directus will send a message every time they share content on social media. We will then input this information into a Directus instance, necessitating strict adherence to the post requirements. Your goal is to extract specific information from the post, focusing on the following:
1. Determine if the shared content includes a link to a social post on LinkedIn or X. If the link does not lead to either of these platforms, please disregard the post as it is not relevant for this task.
2. Identify the platform of the social post based on the URL provided, checking specifically for indicators such as LinkedIn or X.com.

## OUTPUT ##
Based on your analysis of the post, please provide the following in your output:
1. Identify the platform as either "X" or "LinkedIn" based on the presence of a relevant link.
2. Supply the cleaned URL, ensuring that any UTM parameters or extraneous query strings are removed from the link.

This outputs two fields: Social Platform (LinkedIn or X) and Cleaned URL (stripped of tracking params).

Step 4: Post to Directus

Directus Backend

Zapier sends the cleaned data to our Marketing instance of Directus and a specific collection via the API. The schema is simple:

Field Type Notes
id uuid Auto-generated
platform string linkedin or x
url string Cleaned post URL
slack_user string Who shared it
created_at datetime When logged

Step 5: The Dashboard (Claude Code)

For the frontend, I started with a quick sketch in tldraw:

Tldrawui

Then I described what I wanted to Claude Code:

  • Leaderboard with medal rankings (🥇🥈🥉)
  • Monthly filtering
  • Click names to drill into individual posts
  • Dark mode

Claude Code scaffolded the Directus integration, built the aggregation logic, wired up filtering. In all, ~6 files of actual code. Nothing fancy, just boring readable components.

Claude Code Recap

Stack: Next.js 16 + Directus SDK + Tailwind. Deployed to Vercel.

What I Learned

Scoreboard Screen

  1. AI actions in Zapier are underrated. GPT-4o-mini is cheap and fast enough for real-time automations
  2. Directus as a quick backend. Didn't need a full database setup, just spun up a collection
  3. Claude Code for internal tools. Describe what you want, get working code

Not every internal tool needs to be complex to be useful. This took an afternoon and saves hours of manual tracking.

Posted By

Matt Minor

Matt Minor

Director, Demand Generation

Share

LinkedIn LogoTwitter LogoReddit LogoDev.to Logo

Sign up for updates 🐇

Get insights, releases, and exciting news delivered directly to your inbox once a month. No spam - we promise. 🙂

  • Directus LogoDirectus Logo

    A composable backend to build your Headless CMS, BaaS, and more. 

  • Solutions
    • Headless CMS
    • Backend-as-a-Service
    • Product Information
    • 100+ Things to Build
  • Resources
    • Documentation
    • Guides
    • Community
    • Release Notes
  • Support
    • Issue Tracker
    • Feature Requests
    • Community Chat
    • Cloud Dashboard
  • Organization
    • About
    • Careers
    • Brand Assets
    • Contact
©2026 Monospace Inc
  • Cloud Policies
  • License
  • Terms
  • Privacy