{"id":25996933,"url":"https://github.com/clickup/clickup-apiv2-demo","last_synced_at":"2025-03-05T16:55:40.136Z","repository":{"id":258399007,"uuid":"859483926","full_name":"clickup/clickup-APIv2-demo","owner":"clickup","description":"Demo integration with the ClickUp v2 API. Covers auth, web-hooks and REST calls","archived":false,"fork":false,"pushed_at":"2024-09-27T17:28:12.000Z","size":7381,"stargazers_count":6,"open_issues_count":1,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-12-15T15:50:27.852Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/clickup.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-09-18T18:31:53.000Z","updated_at":"2024-11-11T18:52:11.000Z","dependencies_parsed_at":"2024-10-18T20:27:11.251Z","dependency_job_id":"856fe39d-6ec8-4b7b-a64d-b59441d11643","html_url":"https://github.com/clickup/clickup-APIv2-demo","commit_stats":null,"previous_names":["clickup/clickup-apiv2-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clickup%2Fclickup-APIv2-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clickup%2Fclickup-APIv2-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clickup%2Fclickup-APIv2-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clickup%2Fclickup-APIv2-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clickup","download_url":"https://codeload.github.com/clickup/clickup-APIv2-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242067704,"owners_count":20066750,"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":"2025-03-05T16:55:39.068Z","updated_at":"2025-03-05T16:55:40.108Z","avatar_url":"https://github.com/clickup.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClickUp APIv2 Demo app\n\nThis 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.\n\n## App\nSimple app that rolls up subtask customer fields into a parent task.\nhttps://youtu.be/f8q2zotCqIE\n\n## Features\n\n- OAuth authentication with ClickUp\n- Webhook integration for real-time updates\n- Basic REST operations with ClickUp API\n\n## Architecture\n\nThe application is split into two main parts:\n\n1. **Backend**: A Node.js server handling API requests, webhooks, and OAuth flow.\n2. **Frontend**: A React-based web application for user interaction.\n\nKey components:\n- `backend/src/routes/auth.ts`: Manages OAuth authentication flow\n- `backend/src/routes/clickup.ts`: Handles ClickUp API interactions\n- `backend/src/routes/webhook.ts`: Processes incoming webhooks from ClickUp\n- `frontend/frontend/app`: Contains the React components for the user interface\n\n## Local Development Setup\n\n1. Clone the repository:\n   ```\n   git clone git@github.com:time-loop/clickup-APIv2-demo.git\n   cd clickup-APIv2-demo\n   ```\n\n2. Install dependencies:\n   ```\n   cd backend \u0026\u0026 npm install\n   cd ../frontend \u0026\u0026 npm install\n   cd ../\n   ```\n\n3. Set up environment variables:\n   Setup `.env`\n    ```\n    cp backend/env.template backend/.env\n    ```\n   Fill in the required parameters in `.env`:\n    ```\n    CLICKUP_CLIENT_ID=your_client_id\n    CLICKUP_CLIENT_SECRET=your_client_secret\n    REDIRECT_URI=http://localhost:3000/auth/callback\n    SESSION_SECRET=your_session_secret\n    CLICKUP_WEBHOOK_SECRET=your_webhook_secret\n    ```\n4. Set up Smee.io for webhook forwarding:\n   - Visit [smee.io](https://smee.io/) and create a new channel\n   - Update `smee-client.ts` with the new channel URL in `new SmeeClient({ source: 'https://smee.io/your_channel_id', ... })`\n   - Run the Smee client:\n    ```\n    npx smee -u https://smee.io/your_channel_id -t http://localhost:3000/webhook\n    ```\n\n5. Start the backend server:\n   ```\n   cd backend\n   npm run dev\n   ```\n   Open http://localhost:3000/ and login with your ClickUp account via the linked OAuth app.\n\n6. Update the access token:\n   After logging in, copy the `access_token` and replace the `access_token` in `backend/src/routes/webhook.ts` with the token you received.\n\n7. Start the development servers:\n   ```\n   # In the backend directory\n   npm run dev\n\n   # In the frontend directory\n   npm run dev\n   ```\n\n8. Open your browser and navigate to `http://localhost:3000` to use the application.\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the Apache License, Version 2.0 - see the [LICENSE](LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclickup%2Fclickup-apiv2-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclickup%2Fclickup-apiv2-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclickup%2Fclickup-apiv2-demo/lists"}