Media & Evidence package

Meeting recording to minutes and action items

Upload a meeting recording: transcript with speakers, AI-drafted minutes the organiser checks, a task for each action owner and the minutes emailed with an SRT.

Connects to Google Gemini

OfficialStarts from a formIntermediate~15 min setupv1.0.0

About this package

What it does

Meeting recording to minutes starts from a form page where the organiser uploads an audio or video recording with the meeting name, date, attendees and who should get the minutes, and confirms everyone agreed to being recorded.

Transcribe Audio / Video turns the recording into a transcript with speaker labels and timestamps and writes SRT, VTT and text files. The Minutes writer agent reads the transcript and drafts a summary, the decisions and up to three action items with the owner and due date mentioned in the meeting.

The organiser gets a task with the draft in a grid form: they correct the summary and decisions, pick the owner of each action from the workspace people (the agent only suggests names, it never assigns) and send. Each owner then gets their own task with the due date, the Action items table tracks them, and the minutes go out by email as a PDF with the SRT subtitle file attached.

Starts from a form

Starts from a form page: the organiser uploads the recording on the Meeting recording form (/f/<id>).

Someone fills in a form to start it: the workflow start form (Run dialog in the app, or your own portal posting to the API) or a standalone form page (/f/<id>) whose Form submitted trigger starts the workflow. People complete User Task forms along the way.

How forms work

The flow

Step by step

  1. 1

    Upload the recording

    The organiser uploads audio or video with the meeting name, date, attendees and recipients, and confirms consent.

  2. 2

    Transcribe with speakers

    Transcribe Audio / Video returns timed segments with speaker labels and SRT, VTT and text files.

  3. 3

    AI drafts the minutes

    The Minutes writer agent writes a summary, decisions and up to three action items with suggested owners and dates.

  4. 4

    Organiser checks

    The organiser edits the draft and picks each action owner from the workspace people, then sends or discards.

  5. 5

    Tasks for owners

    Each action becomes a task for its owner with the due date (an async sub-workflow), tracked in the Action items table.

  6. 6

    Minutes emailed

    The minutes are emailed as a PDF with the SRT subtitles attached and the meeting row is marked sent.

Meeting minutes from a recording — A meeting recording uploaded on the form is transcribed with speakers, an AI agent drafts the minutes and action items, the organiser checks them and picks owners, each owner gets a task and the minutes are emailed with the PDF and subtitle file. The same canvas you get in the designer after installing.

Sub-workflow: Meeting action item

One action item from approved minutes: a task for its owner with the due date; the Action items row is updated when it is closed.

Forms

The start form and the task forms

People start it from a form page (/f/<id>) with its own header, theme and buttons; submitting it starts the workflow. User Tasks show their fields and outcome buttons to the assignee.

Form page · /f/<id>

Meeting recording

Meeting minutes from a recording · 3-column grid · own header and theme · Its own page: share the link or open it on a tablet

Meeting * meeting_title · text
Date * meeting_date · dateYYYY-MM-DD
Attendees attendees · text
Recording (audio or video) * recording · attachments
Send the minutes to * share_with · text
Spoken language (optional) language · choice
Detectenesfrdept+1
Everyone in the recording agreed to it being recorded and transcribed * consent · boolean
Upload and transcribe

User Task

Check the minutes and assign actions

Check minutes: {{form.meeting_title}} · 4-column grid · own header and theme

Summary * summary · textareaPrefilled: {{summary}}
Decisions decisions · textareaPrefilled: {{decisions}}
Action 1 action_1 · textPrefilled: {{action_1}}
Owner owner_1 · user
Due due_1 · datePrefilled: {{action_1_due}}
Action 2 action_2 · textPrefilled: {{action_2}}
Owner owner_2 · user
Due due_2 · datePrefilled: {{action_2_due}}
Action 3 action_3 · textPrefilled: {{action_3}}
Owner owner_3 · user
Due due_3 · datePrefilled: {{action_3_due}}
Send to * recipients · textPrefilled: {{form.share_with}}
Send minutesDiscard

User Task · Meeting action item

Do the action

{{action}} · own header and theme

Note note · textarea
DoneCannot do

From your code

Start a run over the API

Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.

REST

shell
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
  -H "Authorization: Bearer $USERTASKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id":"<workflow id>","variables":{"meeting_title":"Weekly operations review","meeting_date":"2026-10-30","attendees":"Avery, Jordan, Sam","share_with":"ops-team@example.com","language":"en","consent":true}}'

CLI

shell
usertasks workflows inputs <workflow id>          # the start form: keys, types, required
usertasks workflows run <workflow id> --input meeting_title="Weekly operations review" --input meeting_date=2026-10-30 --input attendees="Avery, Jordan, Sam" --input share_with=ops-team@example.com … --wait

What's included

9 assets, ready to adapt

TypeNameDetails
Email templateMeeting minutesThe approved minutes, with the PDF and the subtitle file attached.
Data tableAction itemsAction items from meetings, with owner, due date and status (updated when the owner closes their task).
Data tableMeeting minutesEvery processed recording: meeting, organiser, summary, decisions and whether the minutes were sent.
IntegrationAI model (OpenAI-compatible)An OpenAI-compatible chat model for the agent: set the base URL (for example https://api.openai.com/v1) and API key on install.
IntegrationGoogle Gemini (media AI)Media AI provider for transcription, image and video analysis and finding what to redact. Paste your Gemini API key on install (aistudio.google.com). To use OpenAI, Azure AI or AWS instead, point the media steps at that integration.
AI agentMinutes writerTurns a meeting transcript with speakers into minutes: a summary, the decisions and up to three action items with a suggested owner and due date.
formsMeeting recordingUpload a meeting recording to get a transcript, AI-drafted minutes you approve, and tasks for the action owners.
WorkflowMeeting action item4 steps — One action item from approved minutes: a task for its owner with the due date; the Action items row is updated when it is closed.
WorkflowMeeting minutes from a recording25 steps — A meeting recording uploaded on the form is transcribed with speakers, an AI agent drafts the minutes and action items, the organiser checks them and picks owners, each owner gets a task and the minutes are emailed with the PDF and subtitle file.

Action items · schema only

KeyMinutesMeetingActionOwnerDueStatusNote

Meeting minutes · 1 sample rows

ReferenceMeetingDateOrganiserSummaryDecisionsActionsLength (min)Status

Requirements

What you connect it to

Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.

Needs

  • Media AI provider — An API key for a media AI provider (Google Gemini by default; OpenAI, Azure AI, AWS and others can be swapped in) that transcribes, analyses and finds what to redact.
  • AI model — An OpenAI-compatible model endpoint and API key for the AI agent.
  • Email — Email delivery configured for the instance (EMAIL_PROVIDER), used for notifications.

After installing

  1. Google Gemini (media AI): paste your Gemini API key; it transcribes the recording with speakers. Any provider that can transcribe (OpenAI, Azure AI Speech, Deepgram, AssemblyAI, ElevenLabs, AWS) can be chosen on the Transcribe step instead.
  2. AI model (OpenAI-compatible): set the base URL and API key of the chat model the Minutes writer agent uses.
  3. Share the Meeting recording form with organisers. Recordings longer than five minutes are transcribed in the background (FFmpeg and the process-media job).
  4. Set EMAIL_PROVIDER so the minutes are delivered.

Asked for on install

  • Integration “AI model (OpenAI-compatible)”Required

    • Tokenconfig.auth_config.token
    • Base urlconfig.base_urldefault https://llm.example.com/v1· optional
  • Integration “Google Gemini (media AI)”Required

    • Key valueconfig.auth_config.key_value
    • Base urlconfig.base_urldefault https://generativelanguage.googleapis.com· optional

Install

Install it in your workspace

Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.

In the app

  1. Download meeting-recording-minutes-1.0.0.utpkg.
  2. Open Automations → Packages and drag the file onto the page (or choose Import package). Browse gallery there lists every gallery package without downloading by hand.
  3. Pick the file. The wizard verifies the checksum, every file hash and the signature, and shows the readme.
  4. Review the changes (what is created) and the data rows.
  5. Fill in the requirements, or tick Keep incomplete and finish later with Complete setup.
  6. Done: the workflow is published and active once setup is complete.

With the CLI

shell
curl -fLO https://usertasks.com/gallery/meeting-recording-minutes-1.0.0.utpkg
usertasks packages inspect meeting-recording-minutes-1.0.0.utpkg       # offline: checksum, hashes, signature
usertasks packages install meeting-recording-minutes-1.0.0.utpkg --dry-run
usertasks packages install meeting-recording-minutes-1.0.0.utpkg       # prompts for each requirement
usertasks packages install meeting-recording-minutes-1.0.0.utpkg --keep-incomplete --yes   # in CI; finish with:
usertasks packages complete meeting-recording-minutes -f values.yaml

Verify the download

File SHA-256
0d521cef5e0e230f29468b5b1533ea54dad35a732d19af4bf29d5f5d09716230
Package checksum (what is signed)
sha256:8e87f800c34e62816c2a6f39b70d58e576cbc81b4f84ca0059676e3c221a87a4
Signer
UserTasks Gallery · 49:f3:04:90:47:02:4d:07:28:61:3d:dc:bb:aa:db:11

shasum -a 256 meeting-recording-minutes-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.

Versions

Version 1.0.0

  1. v1.0.02026-10-30First release.

Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work

More packages

Related

Browse the whole gallery