@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 +2 -2
- package/src/actions/fetch-meeting-details.action.d.ts +22 -0
- package/src/actions/fetch-meeting-details.action.js +248 -0
- package/src/actions/fetch-meeting-details.action.js.map +1 -0
- package/src/actions/fetch-transcript.action.js +93 -12
- package/src/actions/fetch-transcript.action.js.map +1 -1
- package/src/index.d.ts +25 -6
- package/src/index.js +28 -8
- package/src/index.js.map +1 -1
- package/src/triggers/transcript-notifications-polling.trigger.d.ts +1 -0
- package/src/triggers/transcript-notifications-polling.trigger.js +647 -81
- package/src/triggers/transcript-notifications-polling.trigger.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auxee/piece-ms-teams-transcripts",
|
|
3
|
-
"version": "0.0.
|
|
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": "
|
|
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
|
-
//
|
|
201
|
-
//
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
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":"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
|
|
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
|
-
* -
|
|
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
|
-
*
|
|
32
|
+
* TENANT-WIDE SCANNING
|
|
32
33
|
* ═══════════════════════════════════════════════════════════════════════════
|
|
33
34
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* -
|
|
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
|
-
* -
|
|
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
|
-
*
|
|
33
|
+
* TENANT-WIDE SCANNING
|
|
33
34
|
* ═══════════════════════════════════════════════════════════════════════════
|
|
34
35
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* -
|
|
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
|
|
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
|
/**
|