{"id":19504564,"url":"https://github.com/tools4everbv/helloid-conn-prov-target-clickup","last_synced_at":"2025-06-21T05:05:27.777Z","repository":{"id":221183444,"uuid":"753675032","full_name":"Tools4everBV/HelloID-Conn-Prov-Target-ClickUp","owner":"Tools4everBV","description":"ClickUp target connector","archived":false,"fork":false,"pushed_at":"2024-05-06T11:52:32.000Z","size":57,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-25T22:11:22.258Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tools4everBV.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-06T15:31:28.000Z","updated_at":"2024-08-25T09:50:14.000Z","dependencies_parsed_at":"2024-03-15T11:45:11.680Z","dependency_job_id":"9ed32378-939d-492f-997d-3343b4321735","html_url":"https://github.com/Tools4everBV/HelloID-Conn-Prov-Target-ClickUp","commit_stats":null,"previous_names":["tools4everbv/helloid-conn-prov-target-clickup"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Tools4everBV/HelloID-Conn-Prov-Target-ClickUp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tools4everBV%2FHelloID-Conn-Prov-Target-ClickUp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tools4everBV%2FHelloID-Conn-Prov-Target-ClickUp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tools4everBV%2FHelloID-Conn-Prov-Target-ClickUp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tools4everBV%2FHelloID-Conn-Prov-Target-ClickUp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tools4everBV","download_url":"https://codeload.github.com/Tools4everBV/HelloID-Conn-Prov-Target-ClickUp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tools4everBV%2FHelloID-Conn-Prov-Target-ClickUp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261066464,"owners_count":23104767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T22:26:15.347Z","updated_at":"2025-06-21T05:05:22.767Z","avatar_url":"https://github.com/Tools4everBV.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# HelloID-Conn-Prov-Target-ClickUp\n\n\u003e [!IMPORTANT]\n\u003e This repository contains the connector and configuration code only. The implementer is responsible to acquire the connection details such as username, password, certificate, etc. You might even need to sign a contract or agreement with the supplier before implementing this connector. Please contact the client's application manager to coordinate the connector requirements.\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./Logo.png\"\u003e\n\u003c/p\u003e\n\n## Table of contents\n\n- [HelloID-Conn-Prov-Target-ClickUp](#helloid-conn-prov-target-clickup)\n  - [Table of contents](#table-of-contents)\n  - [Introduction](#introduction)\n  - [Getting started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Provisioning PowerShell V2 connector](#provisioning-powershell-v2-connector)\n      - [Correlation configuration](#correlation-configuration)\n      - [Field mapping](#field-mapping)\n    - [Connection settings](#connection-settings)\n    - [Prerequisites](#prerequisites-1)\n    - [Remarks](#remarks)\n      - [`team_id`](#team_id)\n      - [`custom_role_id`](#custom_role_id)\n      - [Invite only](#invite-only)\n      - [Validation based on `email`](#validation-based-on-email)\n      - [Error handling](#error-handling)\n  - [Getting help](#getting-help)\n  - [HelloID docs](#helloid-docs)\n\n## Introduction\n\n_HelloID-Conn-Prov-Target-ClickUp_ is a _target_ connector. _ClickUp_ provides a set of REST API's that allow you to programmatically interact with its data.\n\nThe following lifecycle actions are available:\n\n| Action     | Description                          |\n| ---------- | ------------------------------------ |\n| create.ps1 | PowerShell _create_ lifecycle action |\n| delete.ps1 | PowerShell _delete_ lifecycle action |\n\n## Getting started\n\n### Prerequisites\n\nBefore implementing this connector, make sure the following requirements are met:\n\n- [ ] Access to the _ClickUp_ API.\n  - [ ] PersonalToken (generated for the admin account wihtin ClickUp)\n  - [ ] Base URL is always: 'https://api.clickup.com'\n- [ ] The `team_id` of the team for which the users will be invited. This value is needed in the field mapping.\n- [ ] The `role_id` with name _member_. This value is needed in the field mapping.\n\n### Provisioning PowerShell V2 connector\n\n_HelloID-Conn-Prov-Target-ClickUp_ is a PowerShell V2 connector. Albeit, there are a few changes.\n\n#### Correlation configuration\n\nSince there's no requirement for user management and because validation is based on the `email` address, the correlation configuration is not implemented within the _HelloID-Conn-Prov-Target-ClickUp_ connector.\n\n\u003e [!TIP]\n\u003e _For more information on correlation, please refer to our correlation [documentation](https://docs.helloid.com/en/provisioning/target-systems/powershell-v2-target-systems/correlation.html) pages_.\n\n#### Field mapping\n\nThe field mapping can be imported using the _fieldMapping.json_ file.\n\n### Connection settings\n\nThe following settings are required to connect to the API.\n\n| Setting       | Description                                  | Mandatory |\n| ------------- | -------------------------------------------- | --------- |\n| PersonalToken | PersonalToken to connect to the ClickUp API. | Yes       |\n| BaseUrl       | The URL to the API.                          | Yes       |\n\n### Prerequisites\n\n- [ ] The _ClickUp_ API credentials.\n- [ ] Fixed value for `team_id`.\n- [ ] Fixed value for [`custom_role_id`.](#custom_role_id) (optional)\n\n### Remarks\n\n#### `team_id`\n\nThe `team_id` is equal for all accounts _created in_ or _invited to_ _ClickUp_.\n\n\u003e[!TIP]\n\u003e The value must be retrieved __before__ implementing this connector by making an API call to: https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/.\n\n#### `custom_role_id`\n\nThe API call for inviting users to _ClickUp_ requires the `custom_role_id`. This is a __mandatory__ property. As with the `team_id`, its value is equal for all accounts. The `custom_role_name` is _member_.\n\n\u003e[!TIP]\n\u003eThe value must be retrieved __before__ implementing this connector by using the code specifed below.\n\u003e ```powershell\n\u003e # Script to find the id for a role with name 'member'.\n\u003e # API call: https://clickup.com/api/clickupreference/operation/GetCustomRoles/\n\u003e # -----------------------------------------------------------------------------\n\u003e\n\u003e # Configuration\n\u003e $baseUrl      = ''\n\u003e $clientId     = ''\n\u003e $clientSecret = ''\n\u003e $code         = ''\n\u003e $team_id      = ''\n\u003e\n\u003e $splatRetrieveTokenParams = @{\n\u003e        Uri         = \"$baseUrl/api/v2/oauth/token?client_id=$clientId\u0026client_secret=$clientSecret\u0026code=$code\"\n\u003e        Method      = 'POST'\n\u003e    }\n\u003e $responseToken = Invoke-RestMethod @splatRetrieveTokenParams -Verbose:$false\n\u003e\n\u003e # Set authorization header\n\u003e $splatParams = @{\n\u003e     Headers = @{\n\u003e         Authorization = \"$($responseToken.access_token)\"\n\u003e     }\n\u003e }\n\u003e\n\u003e # First step is to retrieve all roles\n\u003e $splatParams['Uri'] = \"$baseUrl/api/v2/team/$team_id/customroles\"\n\u003e $splatParams['Method'] = 'GET'\n\u003e $allRoles = Invoke-RestMethod @splatParams\n\u003e\n\u003e # Filter out the role where the name of the role matches with 'member'.\n\u003e $roleToAssign = $allRoles | Where-Object {$_.name -eq 'member'}\n\u003e\n\u003e # Get the role_id property\n\u003e $roleToAssign.id\n\u003e ```\n\n#### Invite only\n\nThe _create_ lifecycle action doesn't actually create an account but instead, makes an API call that will ultimately result in an _invite_ mail being send to the persons email address.\n\n#### Validation based on `email`\n\nBecause _ClickUp_ doesn't contain an `employeeId` field, it's not possible to validate the account based on this field. The only _reliable_ field we can validate on, is the `email` field. Unfortunately, _ClickUp_ also does not provide an API call to retrieve a single account. (or use filters).\n\nThe validation process is currently implemented as follows:\n\n1. Retrieve all authenticated workspaces using API call: https://clickup.com/api/clickupreference/operation/GetAuthorizedTeams/ This will return an object that contains __all__ teams including the team members.\n2. The next step is to filter out the team where the `team_id` equals the `team_id` specified in the field mapping.\n3. The final step is filter out the members. If the `email` property from a specific member matches with the `Person.Accounts.MicrosoftActiveDirectory.mail` a correlated account if found.\n\n#### Error handling\n\nDuring development, a test environment was not available. Therefore, error handling is not tested and requires modification.\n\n\u003e [!TIP]\n\u003e The connector is developed based on the latest available API documentation which can be found on: https://clickup.com/api/\n\n## Getting help\n\n\u003e [!TIP]\n\u003e _For more information on how to configure a HelloID PowerShell connector, please refer to our [documentation](https://docs.helloid.com/en/provisioning/target-systems/powershell-v2-target-systems.html) pages_.\n\n\u003e [!TIP]\n\u003e  _If you need help, feel free to ask questions on our [forum](https://forum.helloid.com)_.\n\n## HelloID docs\n\nThe official HelloID documentation can be found at: https://docs.helloid.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftools4everbv%2Fhelloid-conn-prov-target-clickup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftools4everbv%2Fhelloid-conn-prov-target-clickup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftools4everbv%2Fhelloid-conn-prov-target-clickup/lists"}