integrations/clickup: Add ClickUp integration script.#921
Open
sathwikshetty33 wants to merge 1 commit into
Open
integrations/clickup: Add ClickUp integration script.#921sathwikshetty33 wants to merge 1 commit into
sathwikshetty33 wants to merge 1 commit into
Conversation
sathwikshetty33
force-pushed
the
clickup-integration-script
branch
2 times, most recently
from
July 24, 2026 06:16
8cd558a to
1d63b18
Compare
ClickUp payloads contain only entity IDs, so the server needs a stored ClickUp token to resolve them to names. Use a personal API token instead of OAuth: the token must be present in the bot config at bot-creation time, whereas an OAuth flow can only issue one after the bot and webhook URL already exist. Fixes part of zulip/zulip#26529 Co-Authored-By: pieterck <pieterceka123@gmail.com>
sathwikshetty33
force-pushed
the
clickup-integration-script
branch
from
July 24, 2026 06:22
1d63b18 to
daa1323
Compare
Author
|
@0xthedance tagging you for a review. |
Author
|
@zulipbot add "buddy review" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a replacement PR for #824 .
The original PR used an OAuth approach. The bot was created without a ClickUp token, and the script ran an OAuth flow to generate one. That token, along with the team ID, was then appended to the bot's webhook URL as query parameters, so the key essentially lived in the URL.
The server side has since moved on. It now reads the ClickUp token from the bot's config data, where it is a required option at bot creation, and uses it to call ClickUp's API and turn the entity IDs in webhook payloads into readable names.
That is what rules OAuth out. The config option needs the token when the bot is created, but an OAuth flow can only return a token after the bot and its webhook URL already exist, so there is no point at which OAuth could provide what bot creation asks for.
This PR therefore drops OAuth entirely. Instead, the user generates a personal API token from the ClickUp UI (Settings > ClickUp API > API Token), enters it when creating the bot, and passes the same token to this script to register the webhook. The script now registers a plain webhook URL with nothing appended, since the server takes the team ID straight from the payload and the token from config.
Fixes part of zulip/zulip#26529
CZO: thread
How did you test this PR?
Manually invoked the script and added unit tests.
Testing video
Self-review checklist
(variable names, code reuse, readability, etc.).
Communicate decisions, questions, and potential concerns.
Individual commits are ready for review (see commit discipline).
Completed manual review and testing of the following: