Daily sales call coaching scorecard from Fireflies

By General Input

Every weekday evening, grade your team's sales calls from Fireflies, log scores to a Google Sheet, and DM each rep a short, supportive coaching note in Slack.

Integrations

  • Fireflies.ai
  • Google Sheets
  • Slack Bot

Type

Agentic Task

Categories

  • Sales

Every weekday at 6pm in my timezone, grade my team's sales calls from Fireflies and turn them into a running coaching scorecard in Google Sheets plus a private Slack note to each rep. Run this on a cron schedule (Fireflies does not have a first-class new-transcript trigger in this platform, so use a scheduled poll-and-dedupe pattern).

Step 1. Pull calls. Use Fireflies List Transcripts to fetch every transcript finished since the last run (look back about 24 hours, or since the most recent date already in the scorecard, whichever is longer). Filter to sales calls only by keeping transcripts that have at least one external participant (an email domain outside our company) or whose organizer is on the sales team. Skip transcripts that are internal only, still live (is_live = true), or already in the scorecard sheet (dedupe by transcript ID or transcript URL).

Step 2. Fetch detail. For each remaining transcript, call Fireflies Get Transcript to pull the full sentences, summary, action items, attendees, organizer email, duration, and talk-time analytics.

Step 3. Score the rep. Grade the call against this rubric (treat it as configurable and easy for me to edit later):

- Discovery quality: did the rep ask open questions, uncover pain, and confirm understanding?

- Objection handling: were objections acknowledged, explored, and addressed instead of brushed off?

- Talk-to-listen ratio: ideally the rep talks 40 to 50 percent of the time. Use the Fireflies analytics if available, otherwise estimate from the sentence speaker breakdown.

- Qualification signals: how many MEDDICC or BANT elements (metrics, economic buyer, decision criteria, decision process, identified pain, champion, competition; or budget, authority, need, timeline) were confirmed on the call?

- Clear next steps: did the rep land a specific, dated next step with the prospect?

Produce an overall score out of 100, per-criterion scores out of 10, the top two strengths, the top two improvement areas, and a single one-line coaching tip that is specific to this call (no generic advice).

Step 4. Log to the scorecard sheet. For each graded call, use Google Sheets Append Values to add one row to the sheet I configure. Columns, in order: Call Date, Rep Name, Rep Email, Prospect / Account, Meeting Title, Transcript URL, Duration (min), Overall Score, Discovery, Objection Handling, Talk-to-Listen, Qualification, Next Steps, Top Strengths, Top Improvement Areas, Coaching Tip. If the sheet does not yet have a header row, write the header on the first run.

Step 5. DM the rep in Slack. For each graded call, look up the rep's Slack user with Slackbot Look Up User by Email using their Fireflies organizer email, then open a direct message channel with Slackbot Open a Conversation, then send the coaching note with Slackbot Send a Message. Keep the message short, specific, and supportive (4 to 7 lines max). Format example:

"Nice work on the {Prospect} call today, {First Name}. Score: {Overall}/100. What landed: {Strength 1}; {Strength 2}. One thing to try next time: {Coaching Tip}. Full transcript: {URL}."

Use Slack mrkdwn (single asterisks for bold). Do not @channel. If the email lookup fails, skip the DM but still write the row to the sheet and include a note in the Coaching Tip column that the rep could not be matched.

Rules to enforce:

- Never grade the same transcript twice. Dedupe by reading the existing Transcript URL column from the sheet before grading.

- Skip internal-only meetings (every attendee shares our email domain).

- Skip live or unfinished transcripts.

- Keep the Slack note supportive and concrete, never mechanical or scolding. One improvement area per DM, not a list.

- If there are zero new sales calls for the day, do nothing (no empty digest, no "no calls today" DM).

Inputs I should be prompted for when I set this up: my company email domain (for the internal/external filter), the Google Sheet to log into and the tab name, the Slack workspace, the cron time and timezone, and the scoring rubric text (with a sensible default so I can ship without editing).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board