Zendesk Multilingual Ticket Exporter avatar
Zendesk Multilingual Ticket Exporter

Pricing

Pay per event

Go to Apify Store
Zendesk Multilingual Ticket Exporter

Zendesk Multilingual Ticket Exporter

Incrementally export and translate Zendesk support tickets into any language using Lingo.dev. Perfect for cross-border support analysis, AI training, and creating unified multilingual datasets.

Pricing

Pay per event

Rating

5.0

(2)

Developer

Muhammet Akkurt

Muhammet Akkurt

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

2

Monthly active users

6 days ago

Last modified

Share

Zendesk Multilingual Ticket Exporter - Automated Ticket Translation and Incremental Export

Zendesk Multilingual Ticket Exporter

Automated Zendesk ticket translation and incremental export for global support teams.

What does Zendesk Multilingual Ticket Exporter do?

Zendesk Multilingual Ticket Exporter is a powerful Apify Actor that incrementally fetches tickets from your Zendesk Support account, translates them into your desired target language using Lingo.dev, and exports the results to an Apify dataset.

This actor solves the problem of fragmented multilingual support data by normalizing everything into a single language. It uses cursor-based incremental exports to ensure no tickets are missed or duplicated, making it perfect for continuous synchronization.

Why use Zendesk Multilingual Ticket Exporter?

The Multilingual Support Challenge

If your customers contact support in Turkish, Arabic, Russian, German, etc., your Zendesk operations can face significant bottlenecks:

  • Slower triage: Agents waste time copy-pasting text into translation tools.
  • Reporting gaps: Mixed-language text breaks dashboards and makes global analysis difficult.
  • Automation failures: LLMs, classifiers, and sentiment models often perform worse on unnormalized, multilingual text.

Comprehensive Solution

This Actor fixes these issues by exporting tickets and translating them into a single target locale (e.g., English) while preserving the original content.

  1. One-language dataset from multilingual Zendesk:

    • Support operations: Streamline triage and routing.
    • QA and audits: Enable global quality assurance.
    • Product feedback analysis: Aggregate feedback from all markets.
    • LLM pipelines: Feed simplified data into RAG, classification, or summarization models.
    • BI dashboards: Create unified reports in Looker, Power BI, or Sheets.
  2. Incremental export you can schedule:

    • Uses Zendesk’s cursor-based incremental export API.
    • Stores a persistent cursor in the Apify Key-Value Store.
    • When scheduled (e.g., hourly/daily), it efficiently processes only new or updated tickets.
  3. Explainable language detection:

    • Primary: Detects the main language from the description or first comment (1 API call).
    • Fields: Detects languages for subject, description, and comments individually for mixed-language tickets (e.g., Turkish subject + Arabic description).
  4. Production-friendly reliability:

    • Automatic retries for rate limits (Zendesk 429 / Lingo 429).
    • Safe handling for deleted tickets and missing comment endpoints (404).
    • Robust state persistence for migration and resurrection scenarios.

Real-World Applications

  • Global support operations: Export and translate all incoming tickets into English for a centralized team to route or summarize externally.
  • Product feedback mining: Pull all updated tickets daily, translate them, and run topic modeling or sentiment analysis to understand global user sentiment.
  • AI automation & dataset creation: Use the exported JSON as clean input for classifiers (refund vs. bug), escalation detection, or Knowledge Base enrichment (RAG).
  • BPO / Outsourcing workflows: Ship a clean dataset of translated tickets to external partners without granting them full access to your Zendesk instance.

How to use Zendesk Multilingual Ticket Exporter

1. Setup Credentials

You will need:

  • Zendesk Subdomain: The first part of your URL (e.g., mycompany in mycompany.zendesk.com).
  • Zendesk Email: The email address of the account used to create the API token.
  • Zendesk API Token:
    1. Go to Admin Center > Apps and integrations > APIs > API configuration.
    2. Enable Allow API token access.
    3. Go to Admin Center > Apps and integrations > APIs > API tokens.
    4. Click Add API token to generate a new token.
  • Lingo.dev API Key: Get your API key from Lingo.dev.

2. Configure Input

ParamDescriptionDefault
zendeskSubdomainYour Zendesk subdomain.(Required)
zendeskEmailYour Zendesk account email.(Required)
zendeskApiTokenYour Zendesk API token.(Required)
lingoApiKeyYour Lingo.dev API key.(Required)
targetLocaleThe language to translate into. Supports all major languages including: en (English), es (Spanish), fr (French), de (German), it (Italian), pt (Portuguese), nl (Dutch), ru (Russian), zh (Chinese), ja (Japanese), ko (Korean), tr (Turkish), ar (Arabic), hi (Hindi), pl (Polish), uk (Ukrainian), sv (Swedish), vi (Vietnamese), and many more.en
sinceStart date for fetching tickets (e.g., 7 days, 2024-01-01). Used only if resumeFromState is false OR if no previous state exists (first run).7 days
resumeFromStateIf true, the actor will resume from the last processed ticket cursor saved in the previous run. If false, it starts fresh from the since date.true
maxTicketsMaximum number of tickets to process in a single run.50
localeDetectionDetection mode: off, primary (1 call), or fields (per-field).primary
detectionCommentLimitMax public comments to analyze for language detection when mode is fields.10
includeSubjectAndDescriptionWhether to translate the ticket subject and description.true
includePublicCommentsWhether to translate public comments.true
includeDeletedTicketsWhether to include deleted tickets in the export.false
debugEnable detailed debug logging.false

3. Run the Actor

You can run this actor manually or schedule it. The actor maintains its state (cursors) in a named Key-Value store (zendesk-state), so subsequent runs will automatically continue from where the last one finished.

Output

The actor pushes results to the default Apify Dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example Output JSON:

{
"ticketId": 4,
"zendeskUrl": "https://mycompany.zendesk.com/agent/tickets/4",
"status": "solved",
"updatedAt": "2025-12-19T14:33:46Z",
"localeDetection": "fields",
"detectedLocale": "tr",
"detectedLocaleSource": "description",
"detectedLocales": {
"subject": "tr",
"description": "tr",
"publicComments": [
{
"index": 0,
"locale": "tr"
},
{
"index": 1,
"locale": "en"
},
{
"index": 2,
"locale": "tr"
},
{
"index": 3,
"locale": "en"
}
]
},
"targetLocale": "en",
"original": {
"subject": "Ürün iadesi hakkında",
"description": "Merhaba, geçen hafta aldığım ürünü iade etmek istiyorum. Kargo etiketi gönderir misiniz?",
"publicComments": [
"Hala dönüş bekliyorum.",
"Thank you, I received the label.",
"Kargo ücreti ödeyecek miyim?",
"No, shipping is free."
]
},
"translated": {
"subject": "About product return",
"description": "Hello, I want to return the product I bought last week. Can you send a shipping label?",
"publicComments": [
"I am still waiting for a response.",
"Thank you, I received the label.",
"Will I pay for shipping?",
"No, shipping is free."
]
}
}

Tips for Best Results

  • Scheduling: For continuous incremental updates, schedule the actor to run every hour or every day. It handles state automatically.
  • Filters: Use the since parameter only for the initial backfill. Afterward, let resumeFromState handle the timeline.
  • Rate Limiting: Don't worry about API limits; the actor has built-in exponential backoff for 429 errors.

Integrations and Resources