> ## Documentation Index
> Fetch the complete documentation index at: https://docs.janet.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Meeting Notes

> Sync meeting transcripts and summaries from your note taker, and turn action items into tickets

<div className="img-showcase img-showcase-visible">
  <div className="int-hub-mock">
    <div className="int-hub-row">
      <div className="int-hub-icon">
        <img src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/github-logo.svg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=454d39a86e0263172ecb0c1ffec4fb36" alt="" aria-hidden width="439" height="439" data-path="github-logo.svg" />
      </div>

      <div className="int-hub-text">
        <div className="int-hub-name">GitHub</div>
        <div className="int-hub-desc">Create and update tickets from Pull Requests</div>
      </div>
    </div>

    <div className="int-hub-row">
      <div className="int-hub-icon">
        <img src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/slack.svg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=d23f3362aa33f272452de564e10d59ec" alt="" aria-hidden width="512" height="512" data-path="slack.svg" />
      </div>

      <div className="int-hub-text">
        <div className="int-hub-name">Slack</div>
        <div className="int-hub-desc">Create and update tickets from Slack messages</div>
      </div>
    </div>

    <div className="int-hub-row int-hub-row-active">
      <div className="int-hub-icon">
        <img src="https://mintcdn.com/janetai-2e23a3d0/2Qk9xC-IuqDQySwi/notebook-pen-icon.svg?fit=max&auto=format&n=2Qk9xC-IuqDQySwi&q=85&s=ad0ba5f0bb0e62cda942b87eeb10d6c7" alt="" aria-hidden width="24" height="24" data-path="notebook-pen-icon.svg" />
      </div>

      <div className="int-hub-text">
        <div className="int-hub-name">Meeting Notes</div>
        <div className="int-hub-desc">Save transcript & notes in documents and turn them into tickets</div>
      </div>

      <span className="int-hub-badge" aria-hidden>
        <span className="int-hub-badge-dot" />

        Connected
      </span>
    </div>

    <div className="int-hub-row">
      <div className="int-hub-icon">
        <img src="https://mintcdn.com/janetai-2e23a3d0/AicC1Vk0hC-6wzlT/messages-icon.svg?fit=max&auto=format&n=AicC1Vk0hC-6wzlT&q=85&s=339208f4cb4927bdac7431bac06d5719" alt="" aria-hidden width="512" height="512" data-path="messages-icon.svg" />
      </div>

      <div className="int-hub-text">
        <div className="int-hub-name">Messages (SMS)</div>
        <div className="int-hub-desc">Create and update tickets via text</div>
      </div>
    </div>
  </div>
</div>

Connect a meeting note taker so every meeting transcript and summary is saved to your private **Meeting Notes** documents automatically. Action items become tickets you review before they're created.

<Callout icon="lightbulb" color="#7B54E3">
  Meeting Notes replaces the Google Calendar integration. If you don't already use a note taker, [Granola](https://granola.ai)'s free Basic plan supports everything you need.
</Callout>

## How it works

After you connect a provider, Janet:

1. Ingests each meeting's transcript and summary into a **Meeting Notes** document, grouped by provider.
2. Extracts action items and surfaces them as **proposed ticket changes**.
3. Lets you review each proposal and **Accept** or **Dismiss** it before any ticket is created or updated.

Meeting Notes integrations are connected **per user**. Each person connects their own note taker.

## Supported providers

| Provider         | How it connects                             | Self serve |
| ---------------- | ------------------------------------------- | ---------- |
| **Granola**      | Janet pulls your notes on demand            | Yes        |
| **Fireflies.ai** | Provider pushes notes to Janet via webhook  | Yes        |
| **Fellow\.ai**   | Request an integration and Janet sets it up | No         |
| **Otter.ai**     | Request an integration and Janet sets it up | No         |

Don't see your note taker? In the setup wizard, choose **Don't see your preferred note taker?** and tell Janet which one you'd like. For example tl;dv, Avoma, or Notion AI. The team will prioritize it.

## Connect a note taker

Open **Integrations → Meeting Notes** to launch the setup wizard.

<div className="vw-widget-steps">
  <div className="vw-widget-step">
    <div className="vw-widget-step-marker">
      <span className="vw-widget-step-num">1</span>

      <span className="vw-widget-step-line" aria-hidden />
    </div>

    <div className="vw-widget-step-body">
      <div className="vw-widget-step-title">Choose your provider</div>
      <p className="vw-widget-step-desc">Select Granola, Fireflies.ai, Fellow\.ai, or Otter.ai.</p>

      <div className="vw-widget-step-demo vw-widget-step-demo-tall">
        <div className="vw-widget-demo mn-step-demo-provider">
          <div className="mndemo-stage">
            <div className="mndemo-wizard">
              <div className="mndemo-wizard-head">
                <span className="mndemo-wizard-icon">
                  <img src="https://mintcdn.com/janetai-2e23a3d0/2Qk9xC-IuqDQySwi/pencil.svg?fit=max&auto=format&n=2Qk9xC-IuqDQySwi&q=85&s=a1a29bb971182633a97ed38988f8bdfa" alt="" aria-hidden width="512" height="512" data-path="pencil.svg" />
                </span>

                <span>Meeting Notes</span>
              </div>

              <div className="mndemo-provider mndemo-provider-a">
                <img src="https://mintcdn.com/janetai-2e23a3d0/2Qk9xC-IuqDQySwi/notetakers/granola.png?fit=max&auto=format&n=2Qk9xC-IuqDQySwi&q=85&s=83cbc5d8059c88d67d90e9465878c973" alt="" aria-hidden width="414" height="414" data-path="notetakers/granola.png" />

                <div className="mndemo-provider-text">
                  <span className="mndemo-provider-name">Granola</span>
                  <span className="mndemo-provider-blurb">AI notepad for back to back meetings.</span>
                </div>

                <span className="mndemo-radio" aria-hidden />
              </div>

              <div className="mndemo-provider mndemo-provider-b">
                <img src="https://mintcdn.com/janetai-2e23a3d0/2Qk9xC-IuqDQySwi/notetakers/fireflies.png?fit=max&auto=format&n=2Qk9xC-IuqDQySwi&q=85&s=351c37dbc3bbd373100931c40ab2162a" alt="" aria-hidden width="512" height="512" data-path="notetakers/fireflies.png" />

                <div className="mndemo-provider-text">
                  <span className="mndemo-provider-name">Fireflies.ai</span>
                  <span className="mndemo-provider-blurb">Records, transcribes, and summarizes meetings.</span>
                </div>

                <span className="mndemo-radio" aria-hidden />
              </div>
            </div>

            <span className="vw-wdemo-cursor" aria-hidden>
              <svg width="13" height="13" viewBox="0 0 24 24" fill="none">
                <path d="M5.5 3.5L10 18l3.5-1.5 2 5.5 1.5-.5-2-5.5L18 10 5.5 3.5z" fill="#111" stroke="#fff" strokeWidth="1.2" />
              </svg>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>

  <div className="vw-widget-step">
    <div className="vw-widget-step-marker">
      <span className="vw-widget-step-num">2</span>

      <span className="vw-widget-step-line" aria-hidden />
    </div>

    <div className="vw-widget-step-body">
      <div className="vw-widget-step-title">Add your API key (Granola and Fireflies)</div>
      <p className="vw-widget-step-desc">Paste your provider API key and click <strong>Connect</strong>. For Fireflies you can also add an optional <strong>signing secret</strong> to verify webhook signatures.</p>
      <p className="vw-widget-step-desc">Fellow\.ai and Otter.ai aren't self serve yet. Instead, click <strong>Request integration</strong> and the team will set it up for you. A workspace admin must enable the provider's API key and webhook feature first.</p>

      <div className="vw-widget-step-demo">
        <div className="vw-widget-demo mn-step-demo-apikey">
          <div className="mndemo-stage">
            <div className="mndemo-wizard mndemo-wizard-compact">
              <div className="mndemo-field-label">Granola API key</div>

              <div className="mndemo-input mndemo-input-key" />

              <div className="mndemo-field-hint">Required. Janet uses it to pull your notes from Granola on demand.</div>

              <div className="mndemo-footer">
                <span className="mndemo-connect-btn">Connect</span>
              </div>
            </div>

            <span className="vw-wdemo-cursor" aria-hidden>
              <svg width="13" height="13" viewBox="0 0 24 24" fill="none">
                <path d="M5.5 3.5L10 18l3.5-1.5 2 5.5 1.5-.5-2-5.5L18 10 5.5 3.5z" fill="#111" stroke="#fff" strokeWidth="1.2" />
              </svg>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>

  <div className="vw-widget-step">
    <div className="vw-widget-step-marker">
      <span className="vw-widget-step-num">3</span>
    </div>

    <div className="vw-widget-step-body">
      <div className="vw-widget-step-title">Set up the webhook (Fireflies)</div>
      <p className="vw-widget-step-desc">After connecting a webhook based provider, copy your <strong>ingest URL</strong> (it includes your secret key) and paste it into the provider's webhook settings.</p>
      <p className="vw-widget-step-desc">You can rotate the secret later from the integration's <strong>Settings</strong> tab if needed.</p>

      <div className="vw-widget-step-demo vw-widget-step-demo-tall">
        <div className="vw-widget-demo mn-step-demo-webhook">
          <div className="mndemo-stage">
            <div className="mndemo-wizard mndemo-wizard-compact">
              <div className="mndemo-field-label">Ingest URL</div>

              <div className="mndemo-url-row">
                <span className="mndemo-url-text">[https://api.janet.ai/ingest/ff…](https://api.janet.ai/ingest/ff…)</span>
                <span className="mndemo-copy-btn">Copy</span>
                <span className="mndemo-copied">Copied</span>
              </div>
            </div>

            <span className="vw-wdemo-cursor" aria-hidden>
              <svg width="13" height="13" viewBox="0 0 24 24" fill="none">
                <path d="M5.5 3.5L10 18l3.5-1.5 2 5.5 1.5-.5-2-5.5L18 10 5.5 3.5z" fill="#111" stroke="#fff" strokeWidth="1.2" />
              </svg>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

### Provider setup notes

* **Granola** doesn't push notes automatically. After a meeting, ask Janet to "pull my latest Granola notes", or use **Pull latest notes** on the integration's **Settings** tab. They'll be saved to Meeting Notes.
* **Fireflies** sends the transcript and summary to Janet automatically when transcription completes. Set its **Webhook URL** to your Janet ingest URL.

## Where your meeting notes appear

<CardGroup cols={2}>
  <Card title="Documents" icon="folder">
    Each meeting becomes a private document under a provider folder (Granola, Fireflies, and so on) in [Documents](/features/documents). Provider folders are read only groupings.
  </Card>

  <Card title="Meeting Notes widget" icon="table-cells">
    Add the **Meeting notes** widget to a [Views dashboard](/views/dashboard) to see your most recently synced notes, optionally scoped to a project.
  </Card>

  <Card title="Meetings tab" icon="calendar">
    The integration's **Meetings** tab lists every meeting with its date, attendees, and ticket extraction status.
  </Card>

  <Card title="Meeting details" icon="list">
    Open any meeting to see its transcript, attendees, the notes document, and the tickets created from it.
  </Card>
</CardGroup>

## Action items into tickets

When a transcript is ingested, Janet runs ticket extraction and proposes changes for you to review:

* **New**: create a ticket with a title, description, project, priority, and status.
* **Edited**: update an existing ticket's status or append details to its description.

Open **{n} change(s) to review** on a meeting to see the **Proposed ticket changes**. Choose **Accept** or **Dismiss** per proposal, or **Accept all** / **Dismiss all**. Approved proposals appear under **Tickets from this meeting** with links to each ticket.

<Note>
  Nothing is created automatically. Action items always surface as proposals that you approve first.
</Note>

## Manage your integration

Each connected provider has its own entry with three tabs:

* **Settings**: view connection status, configured API key, and sync activity. Rotate the webhook secret, replace the API key, or (for Granola) pull the latest notes.
* **Meetings**: browse synced meetings and review ticket proposals.
* **Danger Zone**: disconnect the provider. Janet stops receiving new notes and the webhook secret stops working, but meeting documents already created are kept.

### Add participants

From a meeting's details panel, use **Add participant** to grant a teammate access to that meeting, its notes document, and its ticket proposals.
