// ultra-niche buildsby JoshMay 1, 20265 min read

Pre-Meeting Brief Pipeline: Calendly → n8n → Claude → Slack

Every meeting starts better when you've actually prepped. Most prep gets skipped. Here's the 4-tool pipeline that puts a brief in your Slack 60 minutes before every call.

Pre-Meeting Brief Pipeline: Calendly → n8n → Claude → Slack

Every meeting is better when you've prepped. Most prep gets skipped because nobody has 15 minutes to spare 60 minutes before the call.

This pipeline does the prep for you. By the time you sit down for the meeting, the brief is in your Slack DMs.

What you'll need

  • -Calendly (or Cal.com — works similarly)
  • -n8n (or Make / Zapier)
  • -A CRM with notes (HubSpot, Pipedrive, Folk, Attio, Notion DB)
  • -Claude or OpenAI API
  • -Slack workspace

Total build: 30-45 minutes.

The pipeline

Step 1: Calendly webhook. Calendly fires a webhook 60 minutes before any scheduled meeting (configurable in their advanced settings). Point it at an n8n Webhook trigger.

Payload includes: invitee email, name, scheduled time, event type.

Step 2: Look up the contact in CRM. n8n HTTP Request node hits your CRM API: - Find contact by email - Pull recent notes (last 90 days) - Pull recent deals or pipeline status - Pull tags / segments

If no match, mark as "first meeting" — different brief format.

Step 3: Enrich with public data. Optional but useful. Hit Clearbit, Apollo, or Hunter for company info if not in your CRM: - Company size - Industry - Recent news - Likely tech stack

Step 4: Claude generates the brief.

``` Generate a pre-meeting brief.

Meeting type: {event_type} Attendee: {name}, {role}, {company} CRM history: {summary of recent notes, deal status, last conversation} Company context: {enrichment data, recent news} My role in this meeting: {seller / advisor / interviewer / etc.}

Return a 5-section brief: 1. Quick context (3 sentences max) 2. What I know about their situation 3. What I'd want to confirm or learn 4. Suggested opening question 5. Risks or watch-outs

Voice: peer-to-peer, direct. No fluff. Aim for under 250 words total. ```

Step 5: Slack DM. n8n sends the brief as a Slack DM to you. Include the meeting time, Zoom/Meet link, and the brief.

A specific example

Meeting in 60 minutes with "Sarah Chen, COO at Mason Industries" (a CRM contact with 3 prior notes).

The brief that lands:

> **Sarah Chen at Mason Industries — call in 60 min** > > **Context:** Mid-market manufacturing, ~250 employees. We talked twice in March about AI for their quality-control reporting. Sarah is the operational decision-maker; her CFO is the budget gate. Last note mentions she was waiting on a board decision in April. > > **What I know:** They have a manual QC reporting process that costs 15-20 hours/week across plants. They use Power BI for everything, which is the entry point. Sarah likes detail in initial pitches. > > **What I'd want to confirm:** Did the board approve the spend? Has the CFO weighed in? Are they still evaluating other vendors? > > **Suggested opening:** "Last we talked, you were waiting on the board call in April. What came out of it?" > > **Watch-out:** Sarah is busy. Don't oversell. She wants the substance fast.

The brief is in Slack 60 minutes before. I read it in 90 seconds. The meeting starts grounded.

What broke

The "first meeting" path was generic. Initial version generated useless briefs for new contacts ("we don't have history, here are some discovery questions"). We fixed it by leaning harder on enrichment for first meetings and using a different prompt template that emphasized industry-specific opening questions.

Calendly webhook timing. Calendly's "60 min before" was occasionally off by several minutes. We adjusted by also handling the webhook idempotently and pulling the latest meeting state each fire.

Slack DM noise. When I had 6+ meetings in a day, the briefs cluttered my DMs. We added a setting: only generate briefs for external meetings. Internal team meetings skip the pipeline.

What I added later

After the basic version proved out, two extensions:

Calendar-aware threading. The brief threads under a daily digest message. Each day's first brief creates a thread. Subsequent briefs reply in the same thread.

Post-meeting recap. A separate pipeline runs 30 min after the meeting, ingesting the transcript (if recorded) and updating the CRM with new notes. Closes the loop.

What this isn't

This is not a substitute for actual relationship work. The brief reminds you of context. The relationship is yours to build.

It's also not a substitute for note-taking. The CRM still needs accurate notes for the pipeline to work. Garbage in, garbage out.

What to build first

If you're starting from scratch:

One, the Calendly → Slack notification (no AI yet). Just so you have a working notification before every meeting.

Two, layer the CRM lookup. Now you have context in the notification.

Three, add Claude for the actual brief generation.

Each step works independently. You don't have to build all three to get value.

Total time: 30-45 minutes for the basic pipeline. Compound value: better meetings, fewer "wait, what did we talk about last time" moments.

calendlyclauden8nmeetingslong-tail
// go deeper

Want the full guide? Check out our deep-dive page for more context, FAQs, and resources.

read the full guide
// keep reading

Related posts

// ready to ship?

Let's build yours.

Reading is the easy part. We do the work. Tell us what's broken and we'll tell you straight up whether we can help.