AI TeamsMaestro (Preview)

AI TeamsMaestro records, transcribes, and summarizes your meetings across Microsoft Teams, Google Meet, and Zoom. Two triggers are available: one fires when a transcript finishes processing, the other when the summary and action items are ready. Each delivery includes the meeting details, attendees, and the summary or transcript, so you can route them into Teams, Planner, SharePoint, Outlook, or anywhere else in your flow.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Maestro Labs Support
URL https://maestrolabs.com
Email support@maestrolabs.com
Connector Metadata
Publisher MailMaestro
Website https://maestrolabs.com
Privacy policy https://maestrolabs.com/privacy
Categories Productivity;Collaboration

AI TeamsMaestro

AI TeamsMaestro joins your meetings, transcribes them, and writes a structured summary with action items. This connector starts a flow the moment either one is ready, so meeting notes reach the tools your team already works in without anyone copying them across by hand.

Publisher: Maestro Labs

Prerequisites

  • An AI TeamsMaestro account on a plan that includes outbound meeting events. The connection is made against your own account, and the flow sees the meetings that account records.
  • Permission to create flows in your environment. Custom connectors are a premium feature of Power Platform, so each user of a flow built on this connector needs a licence that covers premium connectors.

Supported Operations

When a meeting is transcribed

Fires as soon as the transcript is ready. Carries the meeting details, who attended, and the full transcript, both as one block of text and split into individual utterances.

When a meeting is summarized

Fires once the summary is written. Carries the same meeting details plus the summary text and any action items found, each with the person it was assigned to.

Obtaining Credentials

Sign in with the Microsoft account you use for AI TeamsMaestro. Creating the connection opens an AI TeamsMaestro sign-in page, and you are asked to approve the connection once. There is no API key to copy and no password to store — access can be withdrawn from AI TeamsMaestro at any time, which stops delivery immediately.

Your account has to already exist. Connecting does not create one: if the Microsoft account you choose has never used AI TeamsMaestro, the sign-in page says so and stops.

Getting Started

Create an automated cloud flow and pick one of the two triggers:

  • When a meeting is transcribed — fires as soon as the transcript is ready. Carries the meeting details, who attended, and the full transcript, both as one block of text and split into individual utterances.
  • When a meeting is summarized — fires once the summary is written. Carries the same meeting details plus the summary text and any action items found, each with the person it was assigned to.

Both fire once per meeting. A meeting that produces too little speech is transcribed but never summarized, so a flow that must run for every meeting should use the transcribed trigger.

The two triggers report the same Meeting ID, so a flow can match one meeting's transcript to its summary.

A worked example

To post every summary into a channel:

  1. Add When a meeting is summarized as the trigger.
  2. Add the action that posts a message.
  3. In the message, pick Title, Summary text and Ended at from the dynamic content list.
  4. Save the flow.

Running a flow for only some meetings

Tick Apply filters to selected meetings on the trigger and the filter boxes appear:

  • Meeting title contains, Meeting title starts with, Meeting title is exactly
  • Meeting host contains, Meeting host not contains
  • Meeting participants contains, Meeting participants not contains

Each box takes several values and matches if any one of them does. Title values are text and ignore capitalisation. Host and participant values are whole email addresses.

Combine filters with decides whether a meeting has to match every box you filled in, or just one.

Your own address cannot be used in the participant boxes — you are in every meeting the flow can fire for.

Testing without waiting for a meeting

Two actions let you run a flow straight away:

  1. Save the flow you want to test. Saving is what starts the subscription.
  2. Create a second flow: Manually trigger a flow → Send a sample meeting event, and pick your subscription from the dropdown.
  3. Run it. The first flow runs with realistic sample meeting data.

List meeting event subscriptions shows what this connection is subscribed to, if you need to check.

This is a real delivery, so everything after the trigger really happens — a message is genuinely posted, a task genuinely created. Point it at yourself before pointing it at a team channel.

Known Issues and Limitations

  • Meeting events are only sent for meetings AI TeamsMaestro recorded. Meetings held without it produce nothing.
  • Segments is empty when a transcript came from the meeting's own captions rather than from a recording — those carry no per-utterance detail. Transcript text always holds the conversation, so read that when segments is empty.
  • Organizer is empty for a meeting where nobody was recorded as the host, which happens when AI TeamsMaestro joined a link it was not invited to.
  • Speaker labels in a transcript are not identities. They need not match any attendee name, and they carry no email address.
  • Only some field and comparison pairings are allowed. A title can use contains, starts with or is exactly; a host or participant can use contains or not contains. The filter boxes only offer the valid pairs.
  • There is no way to preview a trigger's output in the designer before it has run. Use Send a sample meeting event instead.

Frequently Asked Questions

Will an old meeting trigger my flow?

No. Only meetings that finish after the flow is turned on are delivered.

Can two flows listen to the same event?

Yes. Each flow holds its own subscription and receives its own copy.

What happens when I delete or turn off a flow?

The subscription behind it is removed and delivery stops. Turning the flow back on creates a new one.

Why is the summary formatted oddly?

Summary text is Markdown. Use an action that renders Markdown, or convert it, if the destination expects plain text or HTML.

Deployment Instructions

Use these instructions to deploy this connector as a custom connector in Microsoft Power Automate and Power Apps.

Triggers

When a meeting is summarized

Triggers once for each meeting TeamsMaestro finishes summarizing, with the summary text and any action items it found.

When a meeting is transcribed

Triggers once for each meeting TeamsMaestro finishes transcribing, with the full transcript. Fires earlier than the summary trigger, and fires even for meetings that are never summarized.

When a meeting is summarized

Triggers once for each meeting TeamsMaestro finishes summarizing, with the summary text and any action items it found.

Parameters

Name Key Required Type Description
body
body True dynamic

Returns

Delivered once for each meeting TeamsMaestro summarizes.

When a meeting is transcribed

Triggers once for each meeting TeamsMaestro finishes transcribing, with the full transcript. Fires earlier than the summary trigger, and fires even for meetings that are never summarized.

Parameters

Name Key Required Type Description
body
body True dynamic

Returns

Delivered once for each meeting TeamsMaestro transcribes.

Definitions

NotificationAccount

The account the meeting belongs to.

Name Path Type Description
Account type
type string

Always 'individual'.

Account email
email string

Email address of the account.

Account name
name string

Display name of the account.

Account organization
organization string

Organization the account belongs to. Always empty today.

Person

Someone who took part in the meeting.

Name Path Type Description
Name
name string

Their display name, falling back to their email address.

Email
email string

Their email address.

Is external
is_external boolean

Whether they are outside the connected account's organization.

Company
company string

Domain of their email address, or empty if they have none.

Meeting

The meeting this event is about. Identical for both triggers, so one meeting's transcript and summary can be matched on Meeting ID.

Name Path Type Description
Meeting ID
id string

Identifier of the meeting.

Title
title string

Title of the meeting.

Platform
platform string

Where the meeting was held, such as teams, google_meet or zoom.

Meeting URL
url string

Join link for the meeting.

Started at
started_at date-time

When recording started, in UTC.

Ended at
ended_at date-time

When recording ended, in UTC.

Duration (seconds)
duration_seconds integer

How long the recording ran, in seconds.

organizer
organizer Person

Someone who took part in the meeting.

Attendees
attendees array of Person

Everyone in the meeting who had an email address.

Summary

The summary TeamsMaestro produced.

Name Path Type Description
Template
template string

Which summary template produced this, such as basic or custom.

Template ID
template_id string

Identifier of the custom template behind the summary. Empty for built-in templates.

Summary text
text string

The summary itself, as Markdown.

Assignee

Who an action item belongs to.

Name Path Type Description
Assignee name
name string

Their name.

Assignee email
email string

Their email address, empty when the meeting matched no participant.

ActionItem

Something the meeting agreed someone would do.

Name Path Type Description
Action item ID
id string

Identifier of the action item.

Title
title string

What is to be done.

Status
status string

Whether it is still outstanding, such as todo or done.

assignee
assignee Assignee

Who an action item belongs to.

TranscriptSegment

One utterance. Speaker, language and timings are each absent when the recording did not capture them.

Name Path Type Description
Text
text string

What was said.

Speaker
speaker string

Who said it, when the recording identified them.

Language
language string

Language this utterance was spoken in.

Start (seconds)
start float

Seconds from the start of the recording.

End (seconds)
end float

Seconds from the start of the recording.

Transcript

What was said in the meeting.

Name Path Type Description
Language
language string

Main language of the meeting.

Speech duration (seconds)
duration_seconds integer

Time spent speaking, excluding pauses. Normally shorter than the meeting duration.

Word count
words_count integer

How many words were spoken.

Speakers
speakers array of string

Speaker labels the recording distinguished. Not the same as attendees, and they carry no email address.

Transcript text
text string

The whole transcript as one block of text, one timestamped line per utterance. Always present when anything was said.

Segments
segments array of TranscriptSegment

The transcript split into utterances. Empty when the transcript came from meeting captions, which carry no per-utterance detail; read Transcript text in that case.

MeetingSummarizedData

Name Path Type Description
meeting
meeting Meeting

The meeting this event is about. Identical for both triggers, so one meeting's transcript and summary can be matched on Meeting ID.

summary
summary Summary

The summary TeamsMaestro produced.

Action items
action_items array of ActionItem

Action items found in the meeting.

MeetingTranscribedData

Name Path Type Description
meeting
meeting Meeting

The meeting this event is about. Identical for both triggers, so one meeting's transcript and summary can be matched on Meeting ID.

transcript
transcript Transcript

What was said in the meeting.

MeetingSummarizedNotification

Delivered once for each meeting TeamsMaestro summarizes.

Name Path Type Description
Event ID
id string

Identifier of this delivery. Stable across retries, so it can be used to discard duplicates.

Event
event string

Always meeting.summarized.

Version
version integer

Contract version of this payload.

Sent at
sent_at date-time

When this delivery was sent, in UTC.

Webhook ID
webhook_id string

Identifier of the subscription that produced this delivery.

account
account NotificationAccount

The account the meeting belongs to.

data
data MeetingSummarizedData

MeetingTranscribedNotification

Delivered once for each meeting TeamsMaestro transcribes.

Name Path Type Description
Event ID
id string

Identifier of this delivery. Stable across retries, so it can be used to discard duplicates.

Event
event string

Always meeting.transcribed.

Version
version integer

Contract version of this payload.

Sent at
sent_at date-time

When this delivery was sent, in UTC.

Webhook ID
webhook_id string

Identifier of the subscription that produced this delivery.

account
account NotificationAccount

The account the meeting belongs to.

data
data MeetingTranscribedData