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 flowbackend/src/routes/clickup.ts: Handles ClickUp API interactionsbackend/src/routes/webhook.ts: Processes incoming webhooks from ClickUpfrontend/frontend/app: Contains the React components for the user interface
-
Clone the repository:
git clone git@github.com: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.