- Documentation
Uploadcare integration
Manage uploaded files on the Uploadcare CDN and react to file lifecycle events on behalf of your clients.
What it does
The Uploadcare integration lets your agency keep client file libraries in order from any workflow. Connect a client's Uploadcare project once and your workflows can list and search the file inventory, fetch metadata for a single file by UUID, mark a transient upload as stored so Uploadcare retains it past the 24-hour window, soft-delete files, and bundle UUIDs into a file group so a multi-file set can be referenced as one CDN resource. The integration also reacts in real time when Uploadcare emits a file.uploaded, file.stored, or file.deleted webhook, so downstream workflows fan out the moment a client uploads, an admin marks an asset as stored, or a moderator removes one.
Connect an Uploadcare account
- Open your workspace in TaskJuice and navigate to Connections.
- Choose Uploadcare and click Connect.
- In a new tab, sign in to app.uploadcare.com as the client and open the project you want to integrate.
- Open the API keys tab on that project and copy the public key and secret key.
- Combine them as
public_key:secret_key(with a colon between, no spaces) and paste the pair into TaskJuice.
To rotate the keys later, return to the project's API keys tab in Uploadcare, regenerate the secret, and update the TaskJuice connection with the new public_key:secret_key pair. Use a separate project per client so revocation stays scoped.
Triggers
uploadcare/file-uploadedfires when a new file lands in the connected Uploadcare project, with the file UUID, original filename, MIME type, size, and CDN URL.uploadcare/file-storedfires when a file is marked as stored and persisted past the 24-hour retention window.uploadcare/file-deletedfires when a file is removed from the project, with the UUID and removal timestamp.
Each webhook delivers one event per POST. Configure the webhook in the Uploadcare dashboard with a signing secret matching the one you supply when subscribing the trigger; TaskJuice verifies the HMAC-SHA256 hex digest of the request body in the X-Uc-Signature header and rejects unsigned traffic.
Actions
uploadcare/list-filespages through the project file inventory with optional filters for stored state, removal state, ordering, and from+limit pagination.uploadcare/get-filefetches metadata, CDN URLs, and image dimensions for one file by UUID.uploadcare/store-fileflips a transient upload to stored so Uploadcare retains it past the 24-hour retention window.uploadcare/delete-filesoft-deletes a file so it is removed from the CDN and surfaced under the removed filter.uploadcare/create-file-groupbundles 1 to 1000 file UUIDs into one Uploadcare group with a shared CDN URL.
Known limitations
- The integration calls the public REST API at
api.uploadcare.comwith the v0.7 Accept header. Per-project request rates, storage quotas, and CDN bandwidth ceilings are governed by the client's Uploadcare plan, not by TaskJuice. When Uploadcare returns a 429, TaskJuice surfaces it as a retryable rate limit; 401 and 403 responses surface as non-retryable auth failures. - The Uploadcare REST API exposes one project per credential pair. Connect each client project separately so revocation, public keys, and CDN URLs stay isolated.
- Uploadcare webhooks are only signed when the dashboard webhook entry has a signing secret configured. Webhooks created without a secret are rejected by TaskJuice, since unsigned traffic cannot be verified.
- Soft-deleted files remain queryable under the
removed=truefilter for a provider-defined retention window before Uploadcare hard-deletes them. Workflows that rely on permanent deletion should treat the delete action as a soft-delete signal, not a guaranteed purge.