- Documentation
- Integrations
- Apps
- DeepL integration
DeepL integration
Translate text and documents and manage glossaries on behalf of your clients using DeepL's neural translation API.
What it does
The DeepL integration lets your agency call DeepL's neural translation API from inside any workflow. Connect a client's DeepL API key once and your workflows can translate inbound form submissions before they reach a CRM, localize outbound emails per recipient locale, kick off document translation jobs and poll for completion, apply client-managed glossaries to keep terminology consistent across languages, and pull current usage so a workflow can branch on remaining quota.
Connect a DeepL account
- Open your workspace in TaskJuice and navigate to Connections.
- Choose DeepL and click Connect.
- In a new tab, open the DeepL account summary page signed in as the client (or as your agency, if the client has delegated key management to you).
- Copy the Authentication Key. Free keys are suffixed with
:fxand targetapi-free.deepl.com. Pro keys carry no suffix and targetapi.deepl.com. - Paste the key and the matching host (
api-free.deepl.comfor DeepL API Free,api.deepl.comfor DeepL API Pro) into TaskJuice and save the connection.
To rotate or revoke the key later, return to the DeepL account summary page, create a new key, update the TaskJuice connection, and delete the old key.
Triggers
DeepL does not publish a public webhook surface, so the integration is action-only per the AI-provider exception in the catalog policy. Use a Schedule, a polling trigger from another app, or an inbound webhook from a different source to invoke DeepL actions inside a workflow.
Actions
The integration covers DeepL's published API surface — 58 actions across every family the spec documents. Each one is a declarative HTTP call using the connected key.
Translate text
deepl/translate-text— Translate one or more text strings into a target language using DeepL.deepl/improve-text— Rewrite text with DeepL Write to improve fluency, with optional writing style or tone.deepl/correct-text— Correct grammar, spelling and punctuation in text with DeepL Write, leaving the wording otherwise intact.
Translate documents
deepl/upload-document— Upload a document (docx, pptx, xlsx, pdf, htm, txt and more) for translation. Returns a document id and key; poll Get Document Status until it reports done, then Download Translated Document. Takes the document as a file from an earlier step (a download, an email attachment, a Files field) or one uploaded here.deepl/get-document-status— Poll the translation status of a document previously uploaded to DeepL.deepl/download-document— Download the translated document once its status reports done. Returns the file contents.
Glossaries
deepl/create-glossary— Create a v2 glossary for a single language pair. v2 glossaries are immutable — to change entries, create a replacement and delete the old one.deepl/list-glossaries— List all glossaries on the authenticated DeepL account.deepl/get-glossary— Retrieve one v2 glossary's details, including its language pair, ready state and entry count.deepl/get-glossary-entries— Retrieve the term entries of a v2 glossary as tab-separated source/target pairs.deepl/delete-glossary— Delete a glossary from the authenticated DeepL account.
Multilingual glossaries (v3)
deepl/create-multilingual-glossary— Create a v3 multilingual glossary holding one or more dictionaries. Unlike v2 glossaries these stay editable after creation.deepl/list-multilingual-glossaries— List every v3 multilingual glossary on the account, with its dictionaries and creation time.deepl/get-multilingual-glossary— Retrieve one v3 multilingual glossary's details, including the language pairs its dictionaries cover.deepl/update-multilingual-glossary— Edit a v3 multilingual glossary's details, such as its name.deepl/delete-multilingual-glossary— Permanently delete a v3 multilingual glossary and every dictionary in it.deepl/get-multilingual-glossary-entries— Retrieve the term entries of a v3 multilingual glossary, for a given language pair.deepl/replace-glossary-dictionary— Replace or create one dictionary inside a v3 multilingual glossary, overwriting every entry for that language pair.deepl/delete-glossary-dictionary— Delete the dictionary covering one language pair from a v3 multilingual glossary, leaving the rest of the glossary intact.
Style rules and custom instructions
deepl/list-style-rules— List every style rule list on the account. Style rules constrain how DeepL Write renders numbers, dates, casing and more.deepl/create-style-rules— Create a style rule list that DeepL Write applies when rewriting text.deepl/get-style-rules— Retrieve one style rule list, including its configured rules and custom instructions.deepl/rename-style-rules— Change the name of a style rule list without touching its configured rules or custom instructions.deepl/delete-style-rules— Permanently delete a style rule list and its custom instructions.deepl/replace-configured-rules— Replace the configured rules on a style rule list, overwriting every category at once.deepl/create-custom-instruction— Add a free-text custom instruction to a style rule list, for guidance the configured rules cannot express.deepl/get-custom-instruction— Retrieve one custom instruction from a style rule list.deepl/replace-custom-instruction— Replace the text of an existing custom instruction on a style rule list.deepl/delete-custom-instruction— Delete one custom instruction from a style rule list.
Translation memories
deepl/list-translation-memories— List every translation memory on the account, with its language pairs and segment count.deepl/get-translation-memory— Retrieve one translation memory's details, including its languages and segment count.deepl/import-translation-memory— Start an import job that loads segments into a translation memory. Poll Get Translation Memory Job until it completes.deepl/export-translation-memory— Start an export job for a translation memory. Poll Get Translation Memory Job until it completes, then fetch the result.deepl/get-translation-memory-job— Check the status of a translation memory import or export job.deepl/list-translation-memory-segments— List the source/target segment pairs stored in a translation memory.deepl/delete-translation-memory— Permanently delete a translation memory and every segment in it.
Spoken terms
deepl/create-spoken-terms— Create a spoken terms collection, which pins how named terms should be pronounced in voice translation.deepl/list-spoken-terms— List every spoken terms collection on the account.deepl/get-spoken-terms— Retrieve one spoken terms collection's details and its term lists.deepl/update-spoken-terms— Edit a spoken terms collection's details, such as its name.deepl/delete-spoken-terms— Permanently delete a spoken terms collection and its term lists.deepl/get-spoken-terms-entries— Retrieve the individual term entries in a spoken terms collection.deepl/replace-spoken-term-list— Replace or create a term list within a spoken terms collection, overwriting its existing terms.deepl/delete-spoken-term-list— Delete one term list from a spoken terms collection.
Voice translation
deepl/create-voice-translation-job— Create an asynchronous voice translation job. The response carries a signed upload URL for the source audio; poll Get Voice Translation Job for the result.deepl/get-voice-translation-job— Check the status of a voice translation job and retrieve its result when finished.
Quality evaluation
deepl/create-quality-evaluation— Submit source and target segments for automated translation quality evaluation. Returns a job to poll.deepl/get-quality-evaluation— Poll a quality evaluation job and retrieve its scores once the evaluation finishes.
Languages and usage
deepl/list-languages— List the languages DeepL supports, as source or target, for a given capability.deepl/list-language-resources— List which resources (translation, write, voice) each supported language is available for.deepl/get-usage— Retrieve the current period's character usage and quota for the authenticated DeepL account.
Account administration
deepl/list-developer-keys— List every developer key on the organization, with its label, id and usage limits. Requires an admin key.deepl/create-developer-key— Create a new DeepL developer key on the organization. Requires an admin key; the new key's value is returned once in the response.deepl/rename-developer-key— Change the display label of an existing developer key. Requires an admin key.deepl/deactivate-developer-key— Deactivate a developer key so it stops authenticating requests. Requires an admin key.deepl/set-developer-key-limits— Set the character usage limits applied to a developer key. Requires an admin key.deepl/get-organization-usage— Retrieve organization-wide usage statistics for a date range, optionally grouped by API key or by key and day. Requires an admin key.deepl/get-custom-tag-usage— Retrieve usage statistics broken down by custom tag for a date range. Requires an admin key.
Known limitations
- The integration calls the DeepL REST API with the connected key. Per-key rate limits, character quotas, and language-pair availability are governed by the client's DeepL subscription, not by TaskJuice. When DeepL returns a 429 or 456, TaskJuice surfaces them as rate-limit and quota-exceeded errors respectively.
- DeepL splits Free and Pro keys across separate hosts (
api-free.deepl.comvsapi.deepl.com). Each connection targets one tier, so a client that moves from Free to Pro needs a new connection with the Pro key and host. - Document translation is asynchronous. The upload step returns a document ID and key, and a workflow polls
deepl/get-document-statusuntil status isdonebefore downloading the result. - DeepL keeps two glossary generations side by side. The v2 actions (
deepl/create-glossaryand friends) manage single-language-pair, immutable glossaries; the v3 multilingual actions manage editable, multi-dictionary glossaries. Their IDs are separate namespaces, so a v2 glossary cannot be passed to a v3 action — each family has its own picker. - DeepL's real-time voice endpoints (
/v3/voice/realtime) are not exposed. They hand back a WebSocket session for live audio streaming, which a workflow step cannot hold open. Asynchronous voice translation jobs are supported.