This repository contains a demo application showcasing a ClickUp to ClickUp integration. It demonstrates basic REST functionality, webhook handling, and OAuth implementation using the ClickUp API v2.
Simple app that rolls up subtask customer fields into a parent task. https://youtu.be/f8q2zotCqIE
- OAuth authentication with ClickUp
- Webhook integration for real-time updates
- Basic REST operations with ClickUp API
The application is split into two main parts:
- Backend: A Node.js server handling API requests, webhooks, and OAuth flow.
- Frontend: A React-based web application for user interaction.
Key components:
- backend/src/routes/auth.ts: Manages OAuth authentication flow
- backend/src/routes/clickup.ts: Handles ClickUp API interactions
- backend/src/routes/webhook.ts: Processes incoming webhooks from ClickUp
- frontend/frontend/app: Contains the React components for the user interface
- 
Clone the repository: git clone [email protected]:time-loop/clickup-APIv2-demo.git cd clickup-APIv2-demo
- 
Install dependencies: cd backend && npm install cd ../frontend && npm install cd ../
- 
Set up environment variables: Setup .envcp backend/env.template backend/.envFill in the required parameters in .env:CLICKUP_CLIENT_ID=your_client_id CLICKUP_CLIENT_SECRET=your_client_secret REDIRECT_URI=http://localhost:3000/auth/callback SESSION_SECRET=your_session_secret CLICKUP_WEBHOOK_SECRET=your_webhook_secret
- 
Set up Smee.io for webhook forwarding: - Visit smee.io and create a new channel
- Update smee-client.tswith the new channel URL innew SmeeClient({ source: 'https://smee.io/your_channel_id', ... })
- Run the Smee client:
 npx smee -u https://smee.io/your_channel_id -t http://localhost:3000/webhook
- 
Start the backend server: cd backend npm run devOpen http://localhost:3000/ and login with your ClickUp account via the linked OAuth app. 
- 
Update the access token: After logging in, copy the access_tokenand replace theaccess_tokeninbackend/src/routes/webhook.tswith the token you received.
- 
Start the development servers: # In the backend directory npm run dev # In the frontend directory npm run dev
- 
Open your browser and navigate to http://localhost:3000to use the application.
We welcome contributions! Please feel free to submit a Pull Request.
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.