@auxee/piece-ms-teams-transcripts 0.0.8 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auxee/piece-ms-teams-transcripts",
3
- "version": "0.0.8",
3
+ "version": "0.0.13",
4
4
  "description": "Microsoft Teams meeting transcript monitoring and retrieval using MS Graph API with client credentials",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@activepieces/pieces-common": "0.8.2",
15
15
  "@activepieces/pieces-framework": "0.20.3",
16
- "@activepieces/shared": "link:@activepieces/shared",
16
+ "@activepieces/shared": "0.26.2",
17
17
  "@sinclair/typebox": "0.34.11",
18
18
  "axios": "1.13.1",
19
19
  "axios-retry": "4.4.1",
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Fetch Meeting Details Action
3
+ *
4
+ * Retrieves Microsoft Teams meeting details including:
5
+ * - Meeting metadata (subject, start/end time, organizer)
6
+ * - Participants list with emails
7
+ * - Attendance reports (who joined, when they joined/left)
8
+ *
9
+ * API Endpoints:
10
+ * - GET /users/{userId}/onlineMeetings/{meetingId} - Meeting details
11
+ * - GET /users/{userId}/onlineMeetings/{meetingId}/attendanceReports - Attendance reports
12
+ * - GET /users/{userId}/onlineMeetings/{meetingId}/attendanceReports/{reportId}/attendanceRecords - Detailed records
13
+ *
14
+ * Required Permissions (Application):
15
+ * - OnlineMeetings.Read.All or OnlineMeetings.ReadWrite.All
16
+ * - OnlineMeetingArtifact.Read.All (for attendance reports)
17
+ */
18
+ export declare const fetchMeetingDetailsAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").PieceAuthProperty, {
19
+ meetingId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
20
+ includeAttendanceReports: import("@activepieces/pieces-framework").CheckboxProperty<false>;
21
+ includeAttendanceRecords: import("@activepieces/pieces-framework").CheckboxProperty<false>;
22
+ }>;
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ /**
3
+ * Fetch Meeting Details Action
4
+ *
5
+ * Retrieves Microsoft Teams meeting details including:
6
+ * - Meeting metadata (subject, start/end time, organizer)
7
+ * - Participants list with emails
8
+ * - Attendance reports (who joined, when they joined/left)
9
+ *
10
+ * API Endpoints:
11
+ * - GET /users/{userId}/onlineMeetings/{meetingId} - Meeting details
12
+ * - GET /users/{userId}/onlineMeetings/{meetingId}/attendanceReports - Attendance reports
13
+ * - GET /users/{userId}/onlineMeetings/{meetingId}/attendanceReports/{reportId}/attendanceRecords - Detailed records
14
+ *
15
+ * Required Permissions (Application):
16
+ * - OnlineMeetings.Read.All or OnlineMeetings.ReadWrite.All
17
+ * - OnlineMeetingArtifact.Read.All (for attendance reports)
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.fetchMeetingDetailsAction = void 0;
21
+ const tslib_1 = require("tslib");
22
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
23
+ const graph_token_1 = require("../utils/graph-token");
24
+ const ms_teams_app_auth_1 = require("../auth/ms-teams-app-auth");
25
+ /**
26
+ * Parses the encoded meetingId to extract userId
27
+ */
28
+ function extractUserId(encodedMeetingId) {
29
+ if (!encodedMeetingId)
30
+ return null;
31
+ try {
32
+ const decoded = Buffer.from(encodedMeetingId, 'base64').toString('utf-8');
33
+ // Format: 1*{userId}*0**19:meeting_...@thread.v2
34
+ const userIdMatch = decoded.match(/^\d+\*([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i);
35
+ return userIdMatch ? userIdMatch[1] : null;
36
+ }
37
+ catch (_a) {
38
+ return null;
39
+ }
40
+ }
41
+ exports.fetchMeetingDetailsAction = (0, pieces_framework_1.createAction)({
42
+ name: 'fetch_meeting_details',
43
+ displayName: 'Fetch Meeting Details',
44
+ description: 'Retrieves Microsoft Teams meeting details including participants, organizer, and attendance reports',
45
+ props: {
46
+ meetingId: pieces_framework_1.Property.ShortText({
47
+ displayName: 'Meeting ID',
48
+ description: 'The meeting ID (from transcript trigger or getAllTranscripts)',
49
+ required: true,
50
+ }),
51
+ includeAttendanceReports: pieces_framework_1.Property.Checkbox({
52
+ displayName: 'Include Attendance Reports',
53
+ description: 'Fetch detailed attendance reports with join/leave times',
54
+ required: false,
55
+ defaultValue: true,
56
+ }),
57
+ includeAttendanceRecords: pieces_framework_1.Property.Checkbox({
58
+ displayName: 'Include Detailed Attendance Records',
59
+ description: 'Fetch individual attendance records for each participant (requires attendance reports)',
60
+ required: false,
61
+ defaultValue: true,
62
+ }),
63
+ },
64
+ run(ctx) {
65
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
66
+ var _a, _b, _c, _d, _e, _f;
67
+ // Validate environment variables
68
+ (0, ms_teams_app_auth_1.validateMSTeamsEnv)();
69
+ const { meetingId, includeAttendanceReports, includeAttendanceRecords } = ctx.propsValue;
70
+ // Extract userId from encoded meetingId
71
+ const userId = extractUserId(meetingId);
72
+ if (!userId) {
73
+ throw new Error('Could not extract userId from meetingId. Ensure the meetingId is from the transcript trigger or getAllTranscripts endpoint.');
74
+ }
75
+ console.log(`[FETCH-MEETING-DETAILS] Extracted userId: ${userId}`);
76
+ console.log(`[FETCH-MEETING-DETAILS] Using meetingId (first 80 chars): ${meetingId.substring(0, 80)}...`);
77
+ const result = {
78
+ meetingId,
79
+ };
80
+ // Fetch meeting details
81
+ try {
82
+ const meetingEndpoint = `/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}`;
83
+ console.log(`[FETCH-MEETING-DETAILS] Fetching meeting details from: ${meetingEndpoint.substring(0, 150)}...`);
84
+ const meetingResponse = yield (0, graph_token_1.graphRequest)(meetingEndpoint, { method: 'GET' });
85
+ if (meetingResponse.ok) {
86
+ const meetingData = yield meetingResponse.json();
87
+ result.subject = meetingData.subject;
88
+ result.startDateTime = meetingData.startDateTime;
89
+ result.endDateTime = meetingData.endDateTime;
90
+ result.joinWebUrl = meetingData.joinWebUrl;
91
+ result.videoTeleconferenceId = meetingData.videoTeleconferenceId;
92
+ result.chatInfo = meetingData.chatInfo;
93
+ // Extract organizer
94
+ if ((_a = meetingData.participants) === null || _a === void 0 ? void 0 : _a.organizer) {
95
+ const org = meetingData.participants.organizer;
96
+ result.organizer = {
97
+ id: (_c = (_b = org.identity) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.id,
98
+ displayName: (_e = (_d = org.identity) === null || _d === void 0 ? void 0 : _d.user) === null || _e === void 0 ? void 0 : _e.displayName,
99
+ email: org.upn,
100
+ upn: org.upn,
101
+ role: 'organizer',
102
+ };
103
+ }
104
+ // Extract attendees
105
+ if (((_f = meetingData.participants) === null || _f === void 0 ? void 0 : _f.attendees) && meetingData.participants.attendees.length > 0) {
106
+ result.participants = meetingData.participants.attendees.map((attendee) => {
107
+ var _a, _b, _c, _d;
108
+ return ({
109
+ id: (_b = (_a = attendee.identity) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id,
110
+ displayName: (_d = (_c = attendee.identity) === null || _c === void 0 ? void 0 : _c.user) === null || _d === void 0 ? void 0 : _d.displayName,
111
+ email: attendee.upn,
112
+ upn: attendee.upn,
113
+ role: attendee.role || 'attendee',
114
+ });
115
+ });
116
+ }
117
+ console.log(`[FETCH-MEETING-DETAILS] Successfully fetched meeting: "${result.subject}"`);
118
+ }
119
+ else {
120
+ const errorText = yield meetingResponse.text();
121
+ console.log(`[FETCH-MEETING-DETAILS] Failed to fetch meeting details (${meetingResponse.status}): ${errorText.substring(0, 300)}`);
122
+ }
123
+ }
124
+ catch (error) {
125
+ console.error(`[FETCH-MEETING-DETAILS] Error fetching meeting details: ${error instanceof Error ? error.message : String(error)}`);
126
+ }
127
+ // Fetch attendance reports
128
+ if (includeAttendanceReports) {
129
+ try {
130
+ const reportsEndpoint = `/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/attendanceReports`;
131
+ console.log(`[FETCH-MEETING-DETAILS] Fetching attendance reports from: ${reportsEndpoint.substring(0, 150)}...`);
132
+ const reportsResponse = yield (0, graph_token_1.graphRequest)(reportsEndpoint, { method: 'GET' });
133
+ if (reportsResponse.ok) {
134
+ const reportsData = yield reportsResponse.json();
135
+ const reports = reportsData.value || [];
136
+ console.log(`[FETCH-MEETING-DETAILS] Found ${reports.length} attendance report(s)`);
137
+ result.attendanceReports = [];
138
+ for (const report of reports) {
139
+ const reportObj = {
140
+ id: report.id,
141
+ totalParticipantCount: report.totalParticipantCount,
142
+ meetingStartDateTime: report.meetingStartDateTime,
143
+ meetingEndDateTime: report.meetingEndDateTime,
144
+ };
145
+ // Fetch detailed attendance records for each report
146
+ if (includeAttendanceRecords) {
147
+ try {
148
+ const recordsEndpoint = `/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/attendanceReports/${encodeURIComponent(report.id)}/attendanceRecords`;
149
+ console.log(`[FETCH-MEETING-DETAILS] Fetching attendance records for report ${report.id}`);
150
+ const recordsResponse = yield (0, graph_token_1.graphRequest)(recordsEndpoint, { method: 'GET' });
151
+ if (recordsResponse.ok) {
152
+ const recordsData = yield recordsResponse.json();
153
+ const records = recordsData.value || [];
154
+ console.log(`[FETCH-MEETING-DETAILS] Found ${records.length} attendance record(s) in report ${report.id}`);
155
+ reportObj.records = records.map((record) => {
156
+ var _a;
157
+ return ({
158
+ id: record.id,
159
+ email: record.emailAddress,
160
+ displayName: (_a = record.identity) === null || _a === void 0 ? void 0 : _a.displayName,
161
+ role: record.role,
162
+ totalAttendanceInSeconds: record.totalAttendanceInSeconds,
163
+ attendanceIntervals: record.attendanceIntervals,
164
+ });
165
+ });
166
+ }
167
+ else {
168
+ const errorText = yield recordsResponse.text();
169
+ console.log(`[FETCH-MEETING-DETAILS] Failed to fetch attendance records (${recordsResponse.status}): ${errorText.substring(0, 200)}`);
170
+ }
171
+ }
172
+ catch (error) {
173
+ console.error(`[FETCH-MEETING-DETAILS] Error fetching attendance records: ${error instanceof Error ? error.message : String(error)}`);
174
+ }
175
+ }
176
+ result.attendanceReports.push(reportObj);
177
+ }
178
+ }
179
+ else {
180
+ const errorText = yield reportsResponse.text();
181
+ console.log(`[FETCH-MEETING-DETAILS] Failed to fetch attendance reports (${reportsResponse.status}): ${errorText.substring(0, 300)}`);
182
+ // Try beta endpoint as fallback
183
+ console.log(`[FETCH-MEETING-DETAILS] Trying beta endpoint for attendance reports...`);
184
+ const betaEndpoint = `https://graph.microsoft.com/beta/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/attendanceReports`;
185
+ const betaResponse = yield (0, graph_token_1.graphRequest)(betaEndpoint, { method: 'GET' });
186
+ if (betaResponse.ok) {
187
+ const betaData = yield betaResponse.json();
188
+ const reports = betaData.value || [];
189
+ console.log(`[FETCH-MEETING-DETAILS] Found ${reports.length} attendance report(s) via beta endpoint`);
190
+ result.attendanceReports = reports.map((report) => ({
191
+ id: report.id,
192
+ totalParticipantCount: report.totalParticipantCount,
193
+ meetingStartDateTime: report.meetingStartDateTime,
194
+ meetingEndDateTime: report.meetingEndDateTime,
195
+ }));
196
+ }
197
+ else {
198
+ const betaError = yield betaResponse.text();
199
+ console.log(`[FETCH-MEETING-DETAILS] Beta endpoint also failed: ${betaResponse.status} - ${betaError.substring(0, 200)}`);
200
+ }
201
+ }
202
+ }
203
+ catch (error) {
204
+ console.error(`[FETCH-MEETING-DETAILS] Error fetching attendance reports: ${error instanceof Error ? error.message : String(error)}`);
205
+ }
206
+ }
207
+ // Combine participants from meeting details and attendance records
208
+ if (result.attendanceReports && result.attendanceReports.length > 0) {
209
+ const attendanceParticipants = [];
210
+ for (const report of result.attendanceReports) {
211
+ if (report.records) {
212
+ for (const record of report.records) {
213
+ // Check if this participant is not already in the list
214
+ const exists = attendanceParticipants.some(p => (p.email && p.email === record.email) ||
215
+ (p.displayName && p.displayName === record.displayName));
216
+ if (!exists) {
217
+ attendanceParticipants.push({
218
+ displayName: record.displayName,
219
+ email: record.email,
220
+ role: record.role,
221
+ });
222
+ }
223
+ }
224
+ }
225
+ }
226
+ // Merge with existing participants
227
+ if (attendanceParticipants.length > 0) {
228
+ if (!result.participants) {
229
+ result.participants = attendanceParticipants;
230
+ }
231
+ else {
232
+ // Add any new participants from attendance records
233
+ for (const ap of attendanceParticipants) {
234
+ const exists = result.participants.some(p => (p.email && p.email === ap.email) ||
235
+ (p.displayName && p.displayName === ap.displayName));
236
+ if (!exists) {
237
+ result.participants.push(ap);
238
+ }
239
+ }
240
+ }
241
+ console.log(`[FETCH-MEETING-DETAILS] Total unique participants: ${result.participants.length}`);
242
+ }
243
+ }
244
+ return result;
245
+ });
246
+ },
247
+ });
248
+ //# sourceMappingURL=fetch-meeting-details.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-meeting-details.action.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/custom/ms-teams-transcripts/src/actions/fetch-meeting-details.action.ts"],"names":[],"mappings":"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"}
@@ -197,18 +197,99 @@ exports.fetchTranscriptAction = (0, pieces_framework_1.createAction)({
197
197
  // Validate environment variables
198
198
  (0, ms_teams_app_auth_1.validateMSTeamsEnv)();
199
199
  const { meetingId, transcriptId, meetingSubject, startDateTime, includeRawContent, includeSegments } = ctx.propsValue;
200
- // Fetch transcript content from Graph API using app-level endpoint
201
- // GET /communications/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content
202
- const endpoint = `/communications/onlineMeetings/${meetingId}/transcripts/${transcriptId}/content?$format=text/vtt`;
203
- const response = yield (0, graph_token_1.graphRequest)(endpoint, {
204
- method: 'GET',
205
- headers: {
206
- Accept: 'text/vtt',
207
- },
208
- });
209
- if (!response.ok) {
210
- const errorText = yield response.text();
211
- throw new Error(`Failed to fetch transcript: ${response.status} - ${errorText}`);
200
+ // Extract userId from encoded meetingId for user-scoped endpoint
201
+ // Format when decoded: 1*{userId}*0**19:meeting_...@thread.v2
202
+ let userId = null;
203
+ if (meetingId && !meetingId.startsWith('19:meeting_')) {
204
+ try {
205
+ const decoded = Buffer.from(meetingId, 'base64').toString('utf-8');
206
+ console.log(`[FETCH-TRANSCRIPT] Decoded meetingId: ${decoded.substring(0, 150)}...`);
207
+ // Extract userId (GUID between first and second *)
208
+ const userIdMatch = decoded.match(/^\d+\*([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i);
209
+ if (userIdMatch) {
210
+ userId = userIdMatch[1];
211
+ console.log(`[FETCH-TRANSCRIPT] Extracted userId: ${userId}`);
212
+ }
213
+ }
214
+ catch (_a) {
215
+ // Not base64, use as-is
216
+ }
217
+ }
218
+ // IMPORTANT: Use the ORIGINAL base64-encoded meetingId and transcriptId
219
+ // The Graph API expects these IDs in their original encoded format, NOT decoded
220
+ console.log(`[FETCH-TRANSCRIPT] Using original meetingId (first 80 chars): ${meetingId.substring(0, 80)}...`);
221
+ console.log(`[FETCH-TRANSCRIPT] Using original transcriptId (first 80 chars): ${transcriptId.substring(0, 80)}...`);
222
+ let response = null;
223
+ let errorText = null;
224
+ // Try user-scoped endpoint with ORIGINAL encoded IDs
225
+ if (userId) {
226
+ const userEndpoint = `/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/transcripts/${encodeURIComponent(transcriptId)}/content?$format=text/vtt`;
227
+ console.log(`[FETCH-TRANSCRIPT] Trying user-scoped endpoint with encoded IDs: ${userEndpoint.substring(0, 200)}...`);
228
+ response = yield (0, graph_token_1.graphRequest)(userEndpoint, {
229
+ method: 'GET',
230
+ headers: { Accept: 'text/vtt' },
231
+ });
232
+ if (response.ok) {
233
+ console.log(`[FETCH-TRANSCRIPT] SUCCESS with encoded IDs`);
234
+ }
235
+ else {
236
+ errorText = yield response.text();
237
+ console.log(`[FETCH-TRANSCRIPT] Encoded IDs failed (${response.status}): ${errorText.substring(0, 300)}`);
238
+ // Try listing transcripts to get the correct transcript ID
239
+ console.log(`[FETCH-TRANSCRIPT] Trying to list transcripts using encoded meetingId...`);
240
+ const listEndpoint = `/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/transcripts`;
241
+ const listResponse = yield (0, graph_token_1.graphRequest)(listEndpoint, { method: 'GET' });
242
+ if (listResponse.ok) {
243
+ const listData = yield listResponse.json();
244
+ const transcripts = listData.value || [];
245
+ console.log(`[FETCH-TRANSCRIPT] Found ${transcripts.length} transcript(s) for this meeting`);
246
+ if (transcripts.length > 0) {
247
+ const workingTranscriptId = transcripts[0].id;
248
+ console.log(`[FETCH-TRANSCRIPT] Using transcript ID from list: ${workingTranscriptId.substring(0, 80)}...`);
249
+ const contentEndpoint = `/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/transcripts/${encodeURIComponent(workingTranscriptId)}/content?$format=text/vtt`;
250
+ response = yield (0, graph_token_1.graphRequest)(contentEndpoint, {
251
+ method: 'GET',
252
+ headers: { Accept: 'text/vtt' },
253
+ });
254
+ if (response.ok) {
255
+ console.log(`[FETCH-TRANSCRIPT] SUCCESS with listed transcript ID`);
256
+ errorText = null;
257
+ }
258
+ else {
259
+ errorText = yield response.text();
260
+ console.log(`[FETCH-TRANSCRIPT] Listed transcript ID failed: ${response.status} - ${errorText.substring(0, 300)}`);
261
+ }
262
+ }
263
+ }
264
+ else {
265
+ const listError = yield listResponse.text();
266
+ console.log(`[FETCH-TRANSCRIPT] Listing transcripts failed: ${listResponse.status} - ${listError.substring(0, 300)}`);
267
+ }
268
+ }
269
+ }
270
+ // Fallback: Try beta endpoint (some features are only available in beta)
271
+ if ((!response || !response.ok) && userId) {
272
+ // Use full URL for beta endpoint since graphRequest prepends v1.0 to relative paths
273
+ const betaEndpoint = `https://graph.microsoft.com/beta/users/${encodeURIComponent(userId)}/onlineMeetings/${encodeURIComponent(meetingId)}/transcripts/${encodeURIComponent(transcriptId)}/content?$format=text/vtt`;
274
+ console.log(`[FETCH-TRANSCRIPT] Trying beta endpoint: ${betaEndpoint.substring(0, 200)}...`);
275
+ response = yield (0, graph_token_1.graphRequest)(betaEndpoint, {
276
+ method: 'GET',
277
+ headers: { Accept: 'text/vtt' },
278
+ });
279
+ if (response.ok) {
280
+ console.log(`[FETCH-TRANSCRIPT] SUCCESS with beta endpoint`);
281
+ errorText = null;
282
+ }
283
+ else {
284
+ errorText = yield response.text();
285
+ console.log(`[FETCH-TRANSCRIPT] Beta endpoint failed: ${response.status} - ${errorText.substring(0, 300)}`);
286
+ }
287
+ }
288
+ if (!response || !response.ok) {
289
+ if (!errorText) {
290
+ errorText = response ? yield response.text() : 'No response received';
291
+ }
292
+ throw new Error(`Failed to fetch transcript: ${(response === null || response === void 0 ? void 0 : response.status) || 'unknown'} - ${errorText}`);
212
293
  }
213
294
  const rawContent = yield response.text();
214
295
  const contentType = response.headers.get('content-type') || '';
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-transcript.action.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/custom/ms-teams-transcripts/src/actions/fetch-transcript.action.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;AAEH,qEAAwE;AACxE,sDAAoD;AACpD,iEAA+D;AAwB/D;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAuB,EAAE;IAClE,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEhC,qCAAqC;QACrC,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrF,0CAA0C;YAC1C,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,cAAc;oBACvB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;oBACxB,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;gBACH,WAAW,GAAG,EAAE,CAAC;YACnB,CAAC;YACD,SAAS;QACX,CAAC;QAED,oEAAoE;QACpE,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACxE,IAAI,YAAY,EAAE,CAAC;YACjB,kCAAkC;YAClC,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,cAAc;oBACvB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;oBACxB,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,yCAAyC;YACzC,WAAW,IAAI,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,yDAAyD;YACzD,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACvE,IAAI,eAAe,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,gBAAgB;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;YACxB,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAU,EAAE;IACzD,OAAO,UAAU;QACf,uBAAuB;SACtB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3B,oBAAoB;SACnB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC5B,yBAAyB;SACxB,OAAO,CAAC,iEAAiE,EAAE,EAAE,CAAC;QAC/E,yCAAyC;SACxC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,8BAA8B;SAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACxB,uBAAuB;SACtB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;QACrB,qCAAqC;SACpC,IAAI,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,QAA6B,EAAU,EAAE;IACpE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,qBAAqB,GAAG,IAAA,+BAAY,EAAC;IAChD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EACT,+DAA+D;QAC/D,4FAA4F;IAE9F,KAAK,EAAE;QACL,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,WAAW,EACT,wDAAwD;gBACxD,4BAA4B;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC/B,WAAW,EAAE,eAAe;YAC5B,WAAW,EACT,2DAA2D;gBAC3D,+BAA+B;YACjC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,cAAc,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EACT,iEAAiE;gBACjE,iCAAiC;YACnC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,cAAc;YAC3B,WAAW,EACT,8DAA8D;gBAC9D,gCAAgC;YAClC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,iBAAiB,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACnC,WAAW,EAAE,yBAAyB;YACtC,WAAW,EACT,yDAAyD;YAC3D,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,eAAe,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACjC,WAAW,EAAE,yBAAyB;YACtC,WAAW,EACT,mEAAmE;YACrE,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KACH;IAEK,GAAG,CAAC,GAAG;;YACX,iCAAiC;YACjC,IAAA,sCAAkB,GAAE,CAAC;YAErB,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,GAAG,GAAG,CAAC,UAAU,CAAC;YAEnB,mEAAmE;YACnE,oFAAoF;YACpF,MAAM,QAAQ,GAAG,kCAAkC,SAAS,gBAAgB,YAAY,2BAA2B,CAAC;YAEpH,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAY,EAAC,QAAQ,EAAE;gBAC5C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,MAAM,EAAE,UAAU;iBACnB;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAChE,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAE/D,oBAAoB;YACpB,IAAI,OAAe,CAAC;YACpB,IAAI,QAAyC,CAAC;YAE9C,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxE,mBAAmB;gBACnB,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;gBACnD,OAAO,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBAE9C,IAAI,eAAe,EAAE,CAAC;oBACpB,QAAQ,GAAG,cAAc,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gCAAgC;gBAChC,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAE1C,IAAI,eAAe,EAAE,CAAC;oBACpB,QAAQ,GAAG,CAAC;4BACV,OAAO,EAAE,SAAS;4BAClB,IAAI,EAAE,OAAO;yBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAAqB;gBAC/B,SAAS;gBACT,YAAY;gBACZ,OAAO;gBACP,cAAc,EAAE,cAAc,IAAI,SAAS;gBAC3C,WAAW,EAAE,aAAa,IAAI,SAAS;aACxC,CAAC;YAEF,0BAA0B;YAC1B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YACjC,CAAC;YAED,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;gBAChC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"fetch-transcript.action.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/custom/ms-teams-transcripts/src/actions/fetch-transcript.action.ts"],"names":[],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -13,7 +13,6 @@
13
13
  * MS_TEAMS_TENANT_ID - Your Azure AD tenant ID
14
14
  * MS_TEAMS_CLIENT_ID - App registration client ID
15
15
  * MS_TEAMS_CLIENT_SECRET - App registration client secret
16
- * MS_TEAMS_USER_IDS - (Optional) Comma-separated list of user IDs to monitor
17
16
  *
18
17
  * These are fixed per deployment and not exposed to end users.
19
18
  *
@@ -24,16 +23,31 @@
24
23
  * The app registration needs these Microsoft Graph API permissions (Application):
25
24
  * - OnlineMeetingTranscript.Read.All - To read meeting transcripts
26
25
  * - OnlineMeetings.Read.All - To list online meetings
27
- * - User.Read.All - To enumerate users for meeting discovery
26
+ * - OnlineMeetingArtifact.Read.All - To read attendance reports
27
+ * - User.Read.All - REQUIRED: To enumerate all users in the tenant for transcript discovery
28
+ * - Calendars.Read - To list Teams meetings via calendar events
28
29
  * - ChannelMessage.Send (optional) - To send Teams messages
29
30
  *
30
31
  * ═══════════════════════════════════════════════════════════════════════════
31
- * AVAILABLE TRIGGER
32
+ * TENANT-WIDE SCANNING
32
33
  * ═══════════════════════════════════════════════════════════════════════════
33
34
  *
34
- * Transcript Generated
35
- * - Polls for new meeting transcripts
36
- * - Triggers once per new transcript
35
+ * The polling trigger ALWAYS scans ALL users in the organization for meetings
36
+ * with transcripts. This enables:
37
+ * - Capturing all meetings regardless of who organized them
38
+ * - Filtering external vs internal meetings based on participant emails
39
+ * - Organization-wide transcript monitoring
40
+ *
41
+ * Requires: User.Read.All permission for tenant-wide access
42
+ *
43
+ * ═══════════════════════════════════════════════════════════════════════════
44
+ * AVAILABLE TRIGGERS
45
+ * ═══════════════════════════════════════════════════════════════════════════
46
+ *
47
+ * Transcript Notifications (Polling)
48
+ * - Polls for new meeting transcripts across ALL users in the tenant
49
+ * - Always uses tenant-wide scanning (no configuration needed)
50
+ * - Fetches transcript content automatically
37
51
  * - Uses transcript ID for deduplication
38
52
  *
39
53
  * ═══════════════════════════════════════════════════════════════════════════
@@ -44,6 +58,11 @@
44
58
  * - Downloads transcript content for a specific meeting
45
59
  * - Returns clean text and structured segments
46
60
  *
61
+ * Fetch Meeting Details
62
+ * - Retrieves meeting metadata (subject, times, etc.)
63
+ * - Gets participant list with emails
64
+ * - Fetches attendance reports with join/leave times
65
+ *
47
66
  * Send Message (stub)
48
67
  * - Send a message to a Teams channel or chat
49
68
  *
package/src/index.js CHANGED
@@ -14,7 +14,6 @@
14
14
  * MS_TEAMS_TENANT_ID - Your Azure AD tenant ID
15
15
  * MS_TEAMS_CLIENT_ID - App registration client ID
16
16
  * MS_TEAMS_CLIENT_SECRET - App registration client secret
17
- * MS_TEAMS_USER_IDS - (Optional) Comma-separated list of user IDs to monitor
18
17
  *
19
18
  * These are fixed per deployment and not exposed to end users.
20
19
  *
@@ -25,16 +24,31 @@
25
24
  * The app registration needs these Microsoft Graph API permissions (Application):
26
25
  * - OnlineMeetingTranscript.Read.All - To read meeting transcripts
27
26
  * - OnlineMeetings.Read.All - To list online meetings
28
- * - User.Read.All - To enumerate users for meeting discovery
27
+ * - OnlineMeetingArtifact.Read.All - To read attendance reports
28
+ * - User.Read.All - REQUIRED: To enumerate all users in the tenant for transcript discovery
29
+ * - Calendars.Read - To list Teams meetings via calendar events
29
30
  * - ChannelMessage.Send (optional) - To send Teams messages
30
31
  *
31
32
  * ═══════════════════════════════════════════════════════════════════════════
32
- * AVAILABLE TRIGGER
33
+ * TENANT-WIDE SCANNING
33
34
  * ═══════════════════════════════════════════════════════════════════════════
34
35
  *
35
- * Transcript Generated
36
- * - Polls for new meeting transcripts
37
- * - Triggers once per new transcript
36
+ * The polling trigger ALWAYS scans ALL users in the organization for meetings
37
+ * with transcripts. This enables:
38
+ * - Capturing all meetings regardless of who organized them
39
+ * - Filtering external vs internal meetings based on participant emails
40
+ * - Organization-wide transcript monitoring
41
+ *
42
+ * Requires: User.Read.All permission for tenant-wide access
43
+ *
44
+ * ═══════════════════════════════════════════════════════════════════════════
45
+ * AVAILABLE TRIGGERS
46
+ * ═══════════════════════════════════════════════════════════════════════════
47
+ *
48
+ * Transcript Notifications (Polling)
49
+ * - Polls for new meeting transcripts across ALL users in the tenant
50
+ * - Always uses tenant-wide scanning (no configuration needed)
51
+ * - Fetches transcript content automatically
38
52
  * - Uses transcript ID for deduplication
39
53
  *
40
54
  * ═══════════════════════════════════════════════════════════════════════════
@@ -45,6 +59,11 @@
45
59
  * - Downloads transcript content for a specific meeting
46
60
  * - Returns clean text and structured segments
47
61
  *
62
+ * Fetch Meeting Details
63
+ * - Retrieves meeting metadata (subject, times, etc.)
64
+ * - Gets participant list with emails
65
+ * - Fetches attendance reports with join/leave times
66
+ *
48
67
  * Send Message (stub)
49
68
  * - Send a message to a Teams channel or chat
50
69
  *
@@ -57,12 +76,12 @@ const transcript_generated_trigger_1 = require("./triggers/transcript-generated.
57
76
  const meetings_webhook_trigger_1 = require("./triggers/meetings-webhook.trigger");
58
77
  const transcript_notifications_polling_trigger_1 = require("./triggers/transcript-notifications-polling.trigger");
59
78
  const fetch_transcript_action_1 = require("./actions/fetch-transcript.action");
79
+ const fetch_meeting_details_action_1 = require("./actions/fetch-meeting-details.action");
60
80
  const send_message_action_1 = require("./actions/send-message.action");
61
81
  const renew_subscription_action_1 = require("./actions/renew-subscription.action");
62
82
  exports.msTeamsTranscripts = (0, pieces_framework_1.createPiece)({
63
83
  displayName: 'MS Teams Transcripts',
64
- description: 'Monitor Microsoft Teams meetings for new transcripts and fetch transcript content. ' +
65
- 'Uses client credentials flow for application-level access.',
84
+ description: 'Monitor Microsoft Teams meetings for new transcripts and fetch transcript content. ',
66
85
  minimumSupportedRelease: '0.63.0',
67
86
  logoUrl: 'https://cdn.activepieces.com/pieces/microsoft-teams.png',
68
87
  categories: [shared_1.PieceCategory.COMMUNICATION, shared_1.PieceCategory.PRODUCTIVITY],
@@ -70,6 +89,7 @@ exports.msTeamsTranscripts = (0, pieces_framework_1.createPiece)({
70
89
  auth: pieces_framework_1.PieceAuth.None(),
71
90
  actions: [
72
91
  fetch_transcript_action_1.fetchTranscriptAction,
92
+ fetch_meeting_details_action_1.fetchMeetingDetailsAction,
73
93
  send_message_action_1.sendMessageAction,
74
94
  renew_subscription_action_1.renewMsTeamsGraphSubscriptionAction,
75
95
  ],
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/custom/ms-teams-transcripts/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAEH,qEAAwE;AACxE,iDAAqD;AACrD,0FAAqF;AACrF,kFAA6E;AAC7E,kHAA4G;AAC5G,+EAA0E;AAC1E,uEAAkE;AAClE,mFAA0F;AAE7E,QAAA,kBAAkB,GAAG,IAAA,8BAAW,EAAC;IAC5C,WAAW,EAAE,sBAAsB;IACnC,WAAW,EACT,qFAAqF;QACrF,4DAA4D;IAC9D,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,yDAAyD;IAClE,UAAU,EAAE,CAAC,sBAAa,CAAC,aAAa,EAAE,sBAAa,CAAC,YAAY,CAAC;IAErE,oEAAoE;IACpE,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IAEtB,OAAO,EAAE;QACP,+CAAqB;QACrB,uCAAiB;QACjB,+DAAmC;KACpC;IACD,QAAQ,EAAE;QACR,yDAA0B;QAC1B,iDAAsB;QACtB,gFAAqC;KACtC;IACD,OAAO,EAAE,CAAC,OAAO,CAAC;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/custom/ms-teams-transcripts/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;;;AAEH,qEAAwE;AACxE,iDAAqD;AACrD,0FAAqF;AACrF,kFAA6E;AAC7E,kHAA4G;AAC5G,+EAA0E;AAC1E,yFAAmF;AACnF,uEAAkE;AAClE,mFAA0F;AAE7E,QAAA,kBAAkB,GAAG,IAAA,8BAAW,EAAC;IAC5C,WAAW,EAAE,sBAAsB;IACnC,WAAW,EACT,qFAAqF;IACvF,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,yDAAyD;IAClE,UAAU,EAAE,CAAC,sBAAa,CAAC,aAAa,EAAE,sBAAa,CAAC,YAAY,CAAC;IAErE,oEAAoE;IACpE,IAAI,EAAE,4BAAS,CAAC,IAAI,EAAE;IAEtB,OAAO,EAAE;QACP,+CAAqB;QACrB,wDAAyB;QACzB,uCAAiB;QACjB,+DAAmC;KACpC;IACD,QAAQ,EAAE;QACR,yDAA0B;QAC1B,iDAAsB;QACtB,gFAAqC;KACtC;IACD,OAAO,EAAE,CAAC,OAAO,CAAC;CACnB,CAAC,CAAC"}
@@ -13,6 +13,7 @@
13
13
  * Required Application Permissions:
14
14
  * - OnlineMeetingTranscript.Read.All
15
15
  * - OnlineMeetings.Read.All
16
+ * - Calendars.Read (for listing Teams meetings via calendar events)
16
17
  */
17
18
  import { TriggerStrategy } from '@activepieces/pieces-framework';
18
19
  /**