Create a ClickUp OAuth app
This package authenticates against ClickUp using OAuth 2.0, so it needs a ClickUp OAuth app. One app serves every Umbraco environment and every Workspace you connect.
Create the app in ClickUp
- In ClickUp, open Settings → Apps.
- Create a new app and give it a name your team will recognise (for example
Umbraco Automate). - Register the redirect URL for your Umbraco site — see Redirect URL below.
- Copy the Client ID and Client Secret.
You need to be a ClickUp Workspace owner or admin to create an app.
Redirect URL
Umbraco Automate handles the OAuth callback on the following path by default:
https://<your-umbraco-host>/umbraco/automate/oauth/callback
Replace <your-umbraco-host> with the host of the Umbraco site you're connecting from,
including the port if it runs on a non-default one. For example:
| Environment | Redirect URL |
|---|---|
| Local development | https://localhost:44369/umbraco/automate/oauth/callback |
| Staging | https://staging.example.com/umbraco/automate/oauth/callback |
| Production | https://www.example.com/umbraco/automate/oauth/callback |
The path carries no provider segment, so it's the same URL for every Automate OAuth provider — a site already connecting another provider uses this one unchanged.
Register one URL per environment on the ClickUp app. ClickUp rejects the authorization request if the redirect URL doesn't match a registered value character for character, including the scheme, port, and any trailing slash.
Note
This path comes from Umbraco Automate's OpenIddict integration, not from this package, so
a future Automate version could change it. The authoritative value for your site is the
redirect_uri query parameter on the URL ClickUp is called with when you start the
connection flow from the backoffice.
Add the credentials to appsettings.json
{
"Umbraco": {
"Automate": {
"Providers": {
"ClickUp": {
"ClientId": "...",
"ClientSecret": "...",
"Scopes": []
}
}
}
}
}
Leave Scopes empty — see OAuth scopes for why.
Keep ClientSecret out of source control. Use
user secrets locally and
environment variables or a key vault in hosted environments. See the
appsettings.json reference for the full section.
Next
Add a ClickUp connection in the backoffice.