mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-11 21:07:28 -08:00
feat(Slack Node): Add support for getting the profile of a user (#7829)
Github issue / Community forum post (link here to close automatically): https://github.com/n8n-io/n8n/issues/7825 This adds support for getting a users profile which returns different data to the existing user info (Get) operation we have. Test Workflow ``` { "meta": { "instanceId": "8c8c5237b8e37b006a7adce87f4369350c58e41f3ca9de16196d3197f69eabcd" }, "nodes": [ { "parameters": {}, "id": "69f437fb-9962-4d51-91bb-0ef4b3827e49", "name": "When clicking \"Execute Workflow\"", "type": "n8n-nodes-base.manualTrigger", "typeVersion": 1, "position": [ 880, 380 ] }, { "parameters": { "resource": "user", "user": { "__rl": true, "value": "U035F563JSW", "mode": "list", "cachedResultName": "jonathan" } }, "id": "826828db-598b-40c7-b085-5b01f2c10d73", "name": "Get Info", "type": "n8n-nodes-base.slack", "typeVersion": 2.1, "position": [ 1120, 260 ], "credentials": { "slackApi": { "id": "E4DnXIyNuRxi5GSz", "name": "Slack account" } } }, { "parameters": { "resource": "user", "operation": "getProfile", "user": { "__rl": true, "value": "U035F563JSW", "mode": "list", "cachedResultName": "jonathan" } }, "id": "9de02c3f-e17c-4a32-a64e-11aaa0b36120", "name": "Get Profile", "type": "n8n-nodes-base.slack", "typeVersion": 2.1, "position": [ 1120, 440 ], "credentials": { "slackApi": { "id": "E4DnXIyNuRxi5GSz", "name": "Slack account" } } } ], "connections": { "When clicking \"Execute Workflow\"": { "main": [ [ { "node": "Get Info", "type": "main", "index": 0 }, { "node": "Get Profile", "type": "main", "index": 0 } ] ] } }, "pinData": {} } ```
This commit is contained in:
parent
72852a60eb
commit
90bb6ba417
|
@ -1172,6 +1172,11 @@ export class SlackV2 implements INodeType {
|
||||||
qs.user = this.getNodeParameter('user', i, undefined, { extractValue: true }) as string;
|
qs.user = this.getNodeParameter('user', i, undefined, { extractValue: true }) as string;
|
||||||
responseData = await slackApiRequest.call(this, 'GET', '/users.getPresence', {}, qs);
|
responseData = await slackApiRequest.call(this, 'GET', '/users.getPresence', {}, qs);
|
||||||
}
|
}
|
||||||
|
if (operation === 'getProfile') {
|
||||||
|
qs.user = this.getNodeParameter('user', i, undefined, { extractValue: true }) as string;
|
||||||
|
responseData = await slackApiRequest.call(this, 'GET', '/users.profile.get', {}, qs);
|
||||||
|
responseData = responseData.profile;
|
||||||
|
}
|
||||||
if (operation === 'updateProfile') {
|
if (operation === 'updateProfile') {
|
||||||
const options = this.getNodeParameter('options', i);
|
const options = this.getNodeParameter('options', i);
|
||||||
const timezone = this.getTimezone();
|
const timezone = this.getTimezone();
|
||||||
|
|
|
@ -24,6 +24,12 @@ export const userOperations: INodeProperties[] = [
|
||||||
description: 'Get a list of many users',
|
description: 'Get a list of many users',
|
||||||
action: 'Get many users',
|
action: 'Get many users',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Get User's Profile",
|
||||||
|
value: 'getProfile',
|
||||||
|
description: "Get a user's",
|
||||||
|
action: "Get a user's profile",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "Get User's Status",
|
name: "Get User's Status",
|
||||||
value: 'getPresence',
|
value: 'getPresence',
|
||||||
|
@ -54,7 +60,7 @@ export const userFields: INodeProperties[] = [
|
||||||
description: 'The ID of the user to get information about',
|
description: 'The ID of the user to get information about',
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
operation: ['info'],
|
operation: ['info', 'getProfile'],
|
||||||
resource: ['user'],
|
resource: ['user'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue