@pipedream/microsoft_teams 0.1.0 → 0.1.2
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/README.md +9 -5
- package/actions/create-channel/create-channel.mjs +1 -1
- package/actions/list-channels/list-channels.mjs +1 -1
- package/actions/list-shifts/list-shifts.mjs +1 -1
- package/actions/send-channel-message/send-channel-message.mjs +9 -1
- package/actions/send-chat-message/send-chat-message.mjs +9 -1
- package/common/constants.mjs +0 -2
- package/microsoft_teams.app.mjs +13 -9
- package/package.json +1 -1
- package/sources/common/base.mjs +1 -4
- package/sources/new-channel/new-channel.mjs +1 -8
- package/sources/new-channel-message/new-channel-message.mjs +1 -8
- package/sources/new-chat/new-chat.mjs +1 -11
- package/sources/new-chat-message/new-chat-message.mjs +1 -8
- package/sources/new-team/new-team.mjs +1 -11
- package/sources/new-team-member/new-team-member.mjs +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
# Overview
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
The Microsoft Teams API on Pipedream allows you to automate tasks, streamline communication, and integrate with other services to enhance the functionality of Teams as a collaboration hub. With this API, you can send messages to channels, orchestrate complex workflows based on Teams events, and manage Teams' settings programmatically.
|
|
4
|
+
|
|
5
|
+
# Example Use Cases
|
|
6
|
+
|
|
7
|
+
- **Automated Daily Stand-up Notifications**: Trigger a workflow that sends a daily message to a designated Teams channel prompting team members to post their stand-up updates. This ensures consistency and regularity in team communication.
|
|
8
|
+
|
|
9
|
+
- **New Lead Alert System**: Connect the Teams API with a CRM app on Pipedream. Each time a new lead is captured in the CRM, the workflow automatically posts a summary to a sales channel in Teams, keeping the sales team instantly informed.
|
|
10
|
+
|
|
11
|
+
- **Incident Management Updates**: Integrate the Teams API with a monitoring tool like Datadog. When an incident is detected, the workflow triggers, creating a new conversation in the relevant Teams channel and tagging on-call staff to coordinate a rapid response.
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Create Channel",
|
|
6
6
|
description: "Create a new channel in Microsoft Teams. [See the docs here](https://docs.microsoft.com/en-us/graph/api/channel-post?view=graph-rest-1.0&tabs=http)",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.6",
|
|
9
9
|
props: {
|
|
10
10
|
microsoftTeams,
|
|
11
11
|
teamId: {
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "List Channels",
|
|
6
6
|
description: "Lists all channels in a Microsoft Team. [See the docs here](https://docs.microsoft.com/en-us/graph/api/channel-list?view=graph-rest-1.0&tabs=http)",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.6",
|
|
9
9
|
props: {
|
|
10
10
|
microsoftTeams,
|
|
11
11
|
teamId: {
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "List Shifts",
|
|
6
6
|
description: "Get the list of shift instances for a team. [See the documentation](https://learn.microsoft.com/en-us/graph/api/schedule-list-shifts?view=graph-rest-1.0&tabs=http)",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.3",
|
|
9
9
|
props: {
|
|
10
10
|
microsoftTeams,
|
|
11
11
|
teamId: {
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Send Channel Message",
|
|
6
6
|
description: "Send a message to a team's channel. [See the docs here](https://docs.microsoft.com/en-us/graph/api/channel-post-messages?view=graph-rest-1.0&tabs=http)",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.6",
|
|
9
9
|
props: {
|
|
10
10
|
microsoftTeams,
|
|
11
11
|
teamId: {
|
|
@@ -29,12 +29,19 @@ export default {
|
|
|
29
29
|
"message",
|
|
30
30
|
],
|
|
31
31
|
},
|
|
32
|
+
contentType: {
|
|
33
|
+
propDefinition: [
|
|
34
|
+
microsoftTeams,
|
|
35
|
+
"contentType",
|
|
36
|
+
],
|
|
37
|
+
},
|
|
32
38
|
},
|
|
33
39
|
async run({ $ }) {
|
|
34
40
|
const {
|
|
35
41
|
teamId,
|
|
36
42
|
channelId,
|
|
37
43
|
message,
|
|
44
|
+
contentType,
|
|
38
45
|
} = this;
|
|
39
46
|
|
|
40
47
|
const response =
|
|
@@ -44,6 +51,7 @@ export default {
|
|
|
44
51
|
content: {
|
|
45
52
|
body: {
|
|
46
53
|
content: message,
|
|
54
|
+
contentType,
|
|
47
55
|
},
|
|
48
56
|
},
|
|
49
57
|
});
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Send Chat Message",
|
|
6
6
|
description: "Send a message to a team's chat. [See the docs here](https://docs.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-1.0&tabs=http)",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.6",
|
|
9
9
|
props: {
|
|
10
10
|
microsoftTeams,
|
|
11
11
|
chatId: {
|
|
@@ -20,11 +20,18 @@ export default {
|
|
|
20
20
|
"message",
|
|
21
21
|
],
|
|
22
22
|
},
|
|
23
|
+
contentType: {
|
|
24
|
+
propDefinition: [
|
|
25
|
+
microsoftTeams,
|
|
26
|
+
"contentType",
|
|
27
|
+
],
|
|
28
|
+
},
|
|
23
29
|
},
|
|
24
30
|
async run({ $ }) {
|
|
25
31
|
const {
|
|
26
32
|
chatId,
|
|
27
33
|
message,
|
|
34
|
+
contentType,
|
|
28
35
|
} = this;
|
|
29
36
|
|
|
30
37
|
const response =
|
|
@@ -33,6 +40,7 @@ export default {
|
|
|
33
40
|
content: {
|
|
34
41
|
body: {
|
|
35
42
|
content: message,
|
|
43
|
+
contentType,
|
|
36
44
|
},
|
|
37
45
|
},
|
|
38
46
|
});
|
package/common/constants.mjs
CHANGED
package/microsoft_teams.app.mjs
CHANGED
|
@@ -96,12 +96,16 @@ export default {
|
|
|
96
96
|
label: "Message",
|
|
97
97
|
description: "Message to be sent",
|
|
98
98
|
},
|
|
99
|
-
|
|
100
|
-
type: "
|
|
101
|
-
label: "
|
|
102
|
-
description: "
|
|
99
|
+
contentType: {
|
|
100
|
+
type: "string",
|
|
101
|
+
label: "Content Type",
|
|
102
|
+
description: "Text message or HTML message",
|
|
103
103
|
optional: true,
|
|
104
|
-
default:
|
|
104
|
+
default: "text",
|
|
105
|
+
options: [
|
|
106
|
+
"text",
|
|
107
|
+
"html",
|
|
108
|
+
],
|
|
105
109
|
},
|
|
106
110
|
},
|
|
107
111
|
methods: {
|
|
@@ -154,12 +158,12 @@ export default {
|
|
|
154
158
|
},
|
|
155
159
|
async listChannels({ teamId }) {
|
|
156
160
|
return this.makeRequest({
|
|
157
|
-
path: `/teams/${teamId}/channels
|
|
161
|
+
path: `/teams/${teamId}/channels`,
|
|
158
162
|
});
|
|
159
163
|
},
|
|
160
164
|
async listChats() {
|
|
161
165
|
return this.makeRequest({
|
|
162
|
-
path:
|
|
166
|
+
path: "/chats?$expand=members",
|
|
163
167
|
});
|
|
164
168
|
},
|
|
165
169
|
async createChannel({
|
|
@@ -214,7 +218,7 @@ export default {
|
|
|
214
218
|
teamId, channelId,
|
|
215
219
|
}) {
|
|
216
220
|
return this.makeRequest({
|
|
217
|
-
path: `/teams/${teamId}/channels/${channelId}/messages/delta
|
|
221
|
+
path: `/teams/${teamId}/channels/${channelId}/messages/delta`,
|
|
218
222
|
});
|
|
219
223
|
},
|
|
220
224
|
async listTeamMembers({ teamId }) {
|
|
@@ -224,7 +228,7 @@ export default {
|
|
|
224
228
|
},
|
|
225
229
|
async listChatMessages({ chatId }) {
|
|
226
230
|
return this.makeRequest({
|
|
227
|
-
path: `/chats/${chatId}/messages
|
|
231
|
+
path: `/chats/${chatId}/messages`,
|
|
228
232
|
});
|
|
229
233
|
},
|
|
230
234
|
async listShifts({ teamId }) {
|
package/package.json
CHANGED
package/sources/common/base.mjs
CHANGED
|
@@ -27,7 +27,7 @@ export default {
|
|
|
27
27
|
}
|
|
28
28
|
return Date.parse(resource.createdDateTime) > lastCreated;
|
|
29
29
|
},
|
|
30
|
-
async getNewPaginatedResources(fn, params,
|
|
30
|
+
async getNewPaginatedResources(fn, params, lastCreated) {
|
|
31
31
|
const resources = [];
|
|
32
32
|
const paginator = this.paginate(fn, params);
|
|
33
33
|
|
|
@@ -36,9 +36,6 @@ export default {
|
|
|
36
36
|
if (isNewResource) {
|
|
37
37
|
resources.push(resource);
|
|
38
38
|
}
|
|
39
|
-
if (!isNewResource || resources.length >= max) {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
39
|
}
|
|
43
40
|
return resources;
|
|
44
41
|
},
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "microsoft_teams-new-channel",
|
|
6
6
|
name: "New Channel",
|
|
7
7
|
description: "Emit new event when a new channel is created within a team",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.7",
|
|
9
9
|
type: "source",
|
|
10
10
|
dedupe: "unique",
|
|
11
11
|
props: {
|
|
@@ -16,12 +16,6 @@ export default {
|
|
|
16
16
|
"team",
|
|
17
17
|
],
|
|
18
18
|
},
|
|
19
|
-
max: {
|
|
20
|
-
propDefinition: [
|
|
21
|
-
base.props.microsoftTeams,
|
|
22
|
-
"max",
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
19
|
},
|
|
26
20
|
methods: {
|
|
27
21
|
...base.methods,
|
|
@@ -31,7 +25,6 @@ export default {
|
|
|
31
25
|
{
|
|
32
26
|
teamId: this.team,
|
|
33
27
|
},
|
|
34
|
-
this.max,
|
|
35
28
|
lastCreated,
|
|
36
29
|
);
|
|
37
30
|
},
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "microsoft_teams-new-channel-message",
|
|
6
6
|
name: "New Channel Message",
|
|
7
7
|
description: "Emit new event when a new message is posted in a channel",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.7",
|
|
9
9
|
type: "source",
|
|
10
10
|
dedupe: "unique",
|
|
11
11
|
props: {
|
|
@@ -25,12 +25,6 @@ export default {
|
|
|
25
25
|
}),
|
|
26
26
|
],
|
|
27
27
|
},
|
|
28
|
-
max: {
|
|
29
|
-
propDefinition: [
|
|
30
|
-
base.props.microsoftTeams,
|
|
31
|
-
"max",
|
|
32
|
-
],
|
|
33
|
-
},
|
|
34
28
|
},
|
|
35
29
|
methods: {
|
|
36
30
|
...base.methods,
|
|
@@ -41,7 +35,6 @@ export default {
|
|
|
41
35
|
teamId: this.team,
|
|
42
36
|
channelId: this.channel,
|
|
43
37
|
},
|
|
44
|
-
this.max,
|
|
45
38
|
lastCreated,
|
|
46
39
|
);
|
|
47
40
|
},
|
|
@@ -5,25 +5,15 @@ export default {
|
|
|
5
5
|
key: "microsoft_teams-new-chat",
|
|
6
6
|
name: "New Chat",
|
|
7
7
|
description: "Emit new event when a new chat is created",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.7",
|
|
9
9
|
type: "source",
|
|
10
10
|
dedupe: "unique",
|
|
11
|
-
props: {
|
|
12
|
-
...base.props,
|
|
13
|
-
max: {
|
|
14
|
-
propDefinition: [
|
|
15
|
-
base.props.microsoftTeams,
|
|
16
|
-
"max",
|
|
17
|
-
],
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
11
|
methods: {
|
|
21
12
|
...base.methods,
|
|
22
13
|
async getResources(lastCreated) {
|
|
23
14
|
return this.getNewPaginatedResources(
|
|
24
15
|
this.microsoftTeams.listChats,
|
|
25
16
|
{},
|
|
26
|
-
this.max,
|
|
27
17
|
lastCreated,
|
|
28
18
|
);
|
|
29
19
|
},
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
key: "microsoft_teams-new-chat-message",
|
|
6
6
|
name: "New Chat Message",
|
|
7
7
|
description: "Emit new event when a new message is received in a chat",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.7",
|
|
9
9
|
type: "source",
|
|
10
10
|
dedupe: "unique",
|
|
11
11
|
props: {
|
|
@@ -16,12 +16,6 @@ export default {
|
|
|
16
16
|
"chat",
|
|
17
17
|
],
|
|
18
18
|
},
|
|
19
|
-
max: {
|
|
20
|
-
propDefinition: [
|
|
21
|
-
base.props.microsoftTeams,
|
|
22
|
-
"max",
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
19
|
},
|
|
26
20
|
methods: {
|
|
27
21
|
...base.methods,
|
|
@@ -31,7 +25,6 @@ export default {
|
|
|
31
25
|
{
|
|
32
26
|
chatId: this.chat,
|
|
33
27
|
},
|
|
34
|
-
this.max,
|
|
35
28
|
lastCreated,
|
|
36
29
|
);
|
|
37
30
|
},
|
|
@@ -5,25 +5,15 @@ export default {
|
|
|
5
5
|
key: "microsoft_teams-new-team",
|
|
6
6
|
name: "New Team",
|
|
7
7
|
description: "Emit new event when a new team is joined by the authenticated user",
|
|
8
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.7",
|
|
9
9
|
type: "source",
|
|
10
10
|
dedupe: "unique",
|
|
11
|
-
props: {
|
|
12
|
-
...base.props,
|
|
13
|
-
max: {
|
|
14
|
-
propDefinition: [
|
|
15
|
-
base.props.microsoftTeams,
|
|
16
|
-
"max",
|
|
17
|
-
],
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
11
|
methods: {
|
|
21
12
|
...base.methods,
|
|
22
13
|
async getResources(lastCreated) {
|
|
23
14
|
return this.getNewPaginatedResources(
|
|
24
15
|
this.microsoftTeams.listTeams,
|
|
25
16
|
{},
|
|
26
|
-
this.max,
|
|
27
17
|
lastCreated,
|
|
28
18
|
);
|
|
29
19
|
},
|