Skip to content
OpenSmartRoute
Skillv1.0.0

fireflies-core-workflow-b

Search across Fireflies.ai transcripts, use AskFred AI, and build meeting analytics. Use when searching meeting history, querying Fred AI assistant, or aggregating meeting data for reports. Trigger wi

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/fireflies-pack/skills/fireflies-core-workflow-b/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill fireflies-core-workflow-b. Copyright stays with the author (MIT).

Fireflies.ai Core Workflow B -- Search, AskFred & Analytics

Overview

Secondary workflow: search across transcripts with keyword and date filters, use AskFred AI for natural language Q&A over meetings, and aggregate meeting analytics for reporting.

Examples

Search a synthetic meeting set using a narrow date range and a fictional keyword, then return only aggregate counts and approved action-item categories. Confirm that the destination never receives raw transcript passages or participant identities unless the documented access policy permits them.

Prerequisites

  • Completed fireflies-install-auth setup
  • Familiarity with fireflies-core-workflow-a
  • AI credits for AskFred queries (check Fireflies dashboard)

Instructions

Step 1: Search Transcripts by Keyword

const SEARCH_TRANSCRIPTS = `
  query SearchMeetings(
    $keyword: String,
    $fromDate: DateTime,
    $toDate: DateTime,
    $participants: [String],
    $limit: Int
  ) {
    transcripts(
      keyword: $keyword
      fromDate: $fromDate
      toDate: $toDate
      participants: $participants
      limit: $limit
    ) {
      id title date duration
      organizer_email
      participants
      summary { overview action_items keywords }
    }
  }
`;

// Search for "quarterly review" in the last 30 days
const results = await firefliesQuery(SEARCH_TRANSCRIPTS, {
  keyword: "quarterly review",
  fromDate: new Date(Date.now() - 30 * 86400000).toISOString(),
  limit: 20,
});

console.log(`Found ${results.transcripts.length} matching meetings`);
for (const t of results.transcripts) {
  console.log(`  ${t.title} (${t.date}) - ${t.duration}min`);
}

Step 2: AskFred -- AI Q&A Over a Single Meeting

// Create a new AskFred thread tied to a transcript
const CREATE_THREAD = `
  mutation CreateThread($input: CreateAskFredThreadInput!) {
    createAskFredThread(input: $input) {
      id
      title
      messages {
        id
        answer
        suggested_queries
      }
    }
  }
`;

const thread = await firefliesQuery(CREATE_THREAD, {
  input: {
    query: "What were the key decisions made in this meeting?",
    transcript_id: "your-transcript-id",
  },
});

console.log("Fred says:", thread.createAskFredThread.messages[0].answer);
console.log("Suggested follow-ups:", thread.createAskFredThread.messages[0].suggested_queries);

Step 3: AskFred -- Continue a Conversation

const CONTINUE_THREAD = `
  mutation ContinueThread($thread_id: String!, $query: String!) {
    continueAskFredThread(thread_id: $thread_id, query: $query) {
      id
      answer
      suggested_queries
    }
  }
`;

const followUp = await firefliesQuery(CONTINUE_THREAD, {
  thread_id: thread.createAskFredThread.id,
  query: "Who is responsible for the action items?",
});

console.log("Follow-up:", followUp.continueAskFredThread.answer);

Step 4: AskFred -- Cross-Meeting Analysis

// Query across multiple meetings (no transcript_id = searches all)
const crossMeeting = await firefliesQuery(CREATE_THREAD, {
  input: {
    query: "What topics came up repeatedly across our sprint planning meetings?",
    // filters can narrow scope without tying to a single transcript
  },
});

Step 5: Meeting Analytics Aggregation

async function meetingAnalytics(days: number = 30) {
  const since = new Date(Date.now() - days * 86400000).toISOString();

  const data = await firefliesQuery(`
    query Analytics($fromDate: DateTime) {
      transcripts(fromDate: $fromDate, limit: 100) {
        id title date duration
        organizer_email participants
        summary { action_items keywords }
        analytics {
          speakers { name duration word_count questions }
          sentiments { positive_pct negative_pct }
        }
      }
    }
  `, { fromDate: since });

  const meetings = data.transcripts;
  const totalMinutes = meetings.reduce((s: number, m: any) => s + (m.duration || 0), 0);
  const totalActions = meetings.reduce(
    (s: number, m: any) => s + (m.summary?.action_items?.length || 0), 0
  );

  // Top keywords across all meetings
  const keywordCounts: Record<string, number> = {};
  for (const m of meetings) {
    for (const kw of m.summary?.keywords || []) {
      keywordCounts[kw] = (keywordCounts[kw] || 0) + 1;
    }
  }
  const topKeywords = Object.entries(keywordCounts)
    .sort((a, b) => b[1] - a[1])
    .slice(0, 10);

  return {
    period: `${days} days`,
    totalMeetings: meetings.length,
    totalHours: (totalMinutes / 60).toFixed(1),
    totalActionItems: totalActions,
    avgDuration: Math.round(totalMinutes / meetings.length),
    topKeywords,
  };
}

Step 6: List and Manage AskFred Threads

// List all threads
const threads = await firefliesQuery(`{
  askfred_threads {
    id title transcript_id created_at
  }
}`);

// Delete a thread (cleanup)
await firefliesQuery(`
  mutation DeleteThread($id: String!) {
    deleteAskFredThread(thread_id: $id)
  }
`, { id: "thread-id-to-delete" });

AskFred Credits

AskFred API calls consume AI credits. If you receive require_ai_credits, visit the Upgrade section in your Fireflies dashboard to add credits. Budget accordingly for production use.

Error Handling

Error Cause Solution
require_ai_credits No AI credits remaining Purchase credits in Fireflies dashboard
Empty search results No matching transcripts Broaden keyword or date range
Thread not found Invalid thread ID List threads first to get valid IDs
Rate limit 429 Too many requests Implement backoff per fireflies-rate-limits

Output

  • Keyword search results across transcript history
  • AskFred AI-powered Q&A threads with suggested follow-ups
  • Cross-meeting analytics report with keyword trends

Resources

Next Steps

For common errors, see fireflies-common-errors.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-fireflies-cor-3b9f61/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-fireflies-cor-3b9f61.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-fireflies-cor-3b9f61",
  "kind": "skill",
  "name": "fireflies-core-workflow-b",
  "description": "Search across Fireflies.ai transcripts, use AskFred AI, and build meeting analytics. Use when searching meeting history, querying Fred AI assistant, or aggregating meeting data for reports. Trigger with phrases like \"fireflies search\", \"ask fred\", \"fireflies analytics\", \"search meetings\", \"fireflies AskFred\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "saas",
      "fireflies",
      "workflow",
      "search",
      "analytics",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Search across Fireflies.ai transcripts, use AskFred AI, and build meeting analytics. Use when searching meeting history, querying Fred AI assistant, or aggregating meeting data for reports. Trigger with phrases like \"fireflies search\", \"ask fred\", \"fireflies analytics\", \"search meetings\", \"fireflies AskFred\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/fireflies-pack/skills/fireflies-core-workflow-b/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/fireflies-pack/skills/fireflies-core-workflow-b/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/fireflies-pack/skills/fireflies-core-workflow-b/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(curl:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# Fireflies.ai Core Workflow B -- Search, AskFred & Analytics\n\n## Overview\n\nSecondary workflow: search across transcripts with keyword and date filters, use AskFred AI for natural language Q&A over meetings, and aggregate meeting analytics for reporting.\n\n## Examples\n\nSearch a synthetic meeting set using a narrow date range and a fictional keyword, then return only aggregate counts and approved action-item categories. Confirm that the destination never receives raw transcript passages or participant identities unless the documented access policy permits them.\n\n## Prerequisites\n\n- Completed `fi",
  "cost": {
    "context_tokens": 1521
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-fireflies-cor-3b9f61/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.