- How do I install and configure spinen/laravel-clickup?
- Install it with composer require spinen/laravel-clickup, then publish the package config and set CLICKUP_API_TOKEN in your environment file. The service provider is auto-discovered on the Laravel versions it supports, and you call the package through its facade. Budget a short spike to verify the client works against your workspace before committing.
- Does spinen/laravel-clickup work with Laravel 10 or Laravel 11?
- The last release was 2021-05-25, so expect illuminate/support constraints for Laravel 6 through 8 and Guzzle 6 or 7. Laravel 10 and 11 typically require a fork plus dependency constraint bumps. Run composer why-not against your lockfile before planning any integration.
- How does spinen/laravel-clickup authenticate with the ClickUp API?
- It uses a static ClickUp personal API token from the published config, usually supplied as CLICKUP_API_TOKEN in .env. The Guzzle-backed client attaches that token to outbound REST v2 requests. There is no OAuth token storage, refresh flow, or per-tenant credential handling in the package.
- Can I use spinen/laravel-clickup for multi-tenant OAuth ClickUp integrations?
- No. The package is built around a single static token, so multi-tenant OAuth requires you to implement authorization, token storage, refresh, and tenant resolution yourself. At that point you are bypassing the package's auth path and should place your own ClickUpGateway interface in front of it. Treat the package as a disposable transport adapter, not an OAuth integration layer.
- Does spinen/laravel-clickup sync ClickUp tasks to my database?
- No. It is a transport adapter around ClickUp REST API v2 with no Eloquent models, migrations, sync jobs, or persistence. Creating tasks and reading lists are outbound calls only. Any database mapping, bidirectional sync, conflict handling, and idempotency must be built above the package.
- Does laravel-clickup support ClickUp webhooks?
- No. There is no webhook receiver, signature verification, or de-duplication in the package. Inbound ClickUp webhooks require your own Laravel route, signature validation, and idempotent event handling. The package covers outbound API calls only.
- What ClickUp API operations can I perform with spinen/laravel-clickup?
- It exposes a thin facade over ClickUp REST API v2 for common outbound operations such as creating tasks, updating status, posting comments, and reading lists or spaces. Coverage of post-2021 additions like custom task types, time tracking v2, Docs, Chat, and webhook signing is likely absent. There are no typed DTOs, so validate payloads at your own boundary.
- How do I handle ClickUp rate limits and 429 retries in Laravel with this package?
- The package does not ship rate-limit middleware, retry logic, or backoff handling; those concerns are yours. Wrap calls behind your own gateway and add exponential backoff that honors Retry-After on 429 responses, plus idempotency keys for create operations. Structured logging with request IDs makes ClickUp API failures traceable.
- Is spinen/laravel-clickup maintained and safe for production?
- Treat it as a reference implementation or starter snippet, not a maintained dependency: it has roughly 29 stars and no release since 2021-05-25. For production, fork and pin exact versions, run your own CI matrix, and add a nightly smoke test against a sandbox workspace. Wrap it behind an interface so you can replace it without touching domain code.
- What are alternatives to spinen/laravel-clickup?
- The current Laravel idiom is a Saloon connector, which gives you auth, retry, and throttling middleware out of the box and removes the maintenance question at roughly the same effort as forking. Raw Laravel Http:: calls or extracting the package's small client surface into your own namespace are also viable. The default recommendation is Saloon behind your own ClickUpGateway interface.