> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Smartling Webhook Setup Guide

> Configure Smartling to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/smartling#getting-started) on the Smartling connector page.

<section data-guide-section data-guide-scopes="">
  <h2>Smartling webhooks are configured automatically</h2>

  <p>StackOne provisions the Smartling webhook subscription for you when you connect your account. There is nothing to configure in Smartling — no URL to paste and no events to select manually.</p>

  <ul>
    <li>On connect, StackOne creates a subscription named <strong>StackOne</strong> against your account and removes it when you disconnect.</li>
    <li>Only the events you enable in StackOne are delivered.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Verify the subscription in Smartling</h2>

  <p>You can confirm the subscription was created from your Smartling dashboard, though no action is required.</p>

  <ul>
    <li>Open the <strong>Account Settings</strong> menu in the top-right corner, then under <strong>Integrations</strong> click <strong>Webhooks</strong>.</li>
    <li>You should see a subscription named <strong>StackOne</strong>, labeled <strong>Added by Stackone API</strong>, with status <strong>Enabled</strong>, subscribed to all supported events.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events - Files</h2>

  <p>File lifecycle events for source and translated content.</p>

  <ul>
    <li><strong>File Uploaded</strong> (`file.uploaded`) — Fired when a source file is uploaded to a project.</li>
    <li><strong>File Published</strong> (`file.published`) — Fired when a file's translations are published.</li>
    <li><strong>File Prepublished</strong> (`file.prepublished`) — Fired when a file's translations are pre-published.</li>
    <li><strong>File Renamed</strong> (`file.renamed`) — Fired when a source file is renamed.</li>
    <li><strong>File Deleted</strong> (`file.deleted`) — Fired when a source file is deleted.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events - Translation Jobs</h2>

  <p>Translation job lifecycle events.</p>

  <ul>
    <li><strong>Job Created</strong> (`translationJob.created`) — Fired when a translation job is created.</li>
    <li><strong>Job Updated</strong> (`translationJob.updated`) — Fired when a translation job is updated.</li>
    <li><strong>Job Completed</strong> (`translationJob.completed`) — Fired when a translation job is completed.</li>
    <li><strong>Job Canceled</strong> (`translationJob.canceled`) — Fired when a translation job is canceled.</li>
    <li><strong>Job Locale Workflow Step Reached</strong> (`translationJob.localeWorkflowStep.reached`) — Fired when the content for a job, locale, and workflow-step slice reaches a workflow step.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events - Source Issues</h2>

  <p>Issues and comments raised against source strings.</p>

  <ul>
    <li><strong>Source Issue Created</strong> (`sourceIssue.created`) — Fired when a source issue is created.</li>
    <li><strong>Source Issue Updated</strong> (`sourceIssue.updated`) — Fired when a source issue is updated.</li>
    <li><strong>Source Issue Deleted</strong> (`sourceIssue.deleted`) — Fired when a source issue is deleted.</li>
    <li><strong>Source Issue Comment Created</strong> (`sourceIssue.comment.created`) — Fired when a comment is added to a source issue.</li>
    <li><strong>Source Issue Comment Updated</strong> (`sourceIssue.comment.updated`) — Fired when a source issue comment is updated.</li>
    <li><strong>Source Issue Comment Deleted</strong> (`sourceIssue.comment.deleted`) — Fired when a source issue comment is deleted.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events - Translation Issues</h2>

  <p>Issues and comments raised against translations.</p>

  <ul>
    <li><strong>Translation Issue Created</strong> (`translationIssue.created`) — Fired when a translation issue is created.</li>
    <li><strong>Translation Issue Updated</strong> (`translationIssue.updated`) — Fired when a translation issue is updated.</li>
    <li><strong>Translation Issue Deleted</strong> (`translationIssue.deleted`) — Fired when a translation issue is deleted.</li>
    <li><strong>Translation Issue Comment Created</strong> (`translationIssue.comment.created`) — Fired when a comment is added to a translation issue.</li>
    <li><strong>Translation Issue Comment Updated</strong> (`translationIssue.comment.updated`) — Fired when a translation issue comment is updated.</li>
    <li><strong>Translation Issue Comment Deleted</strong> (`translationIssue.comment.deleted`) — Fired when a translation issue comment is deleted.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events - Integrations</h2>

  <p>Integration platform events.</p>

  <ul>
    <li><strong>Integration Asset Exported</strong> (`integrations.platform.asset.exported`) — Fired when an integration asset is exported.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>StackOne receives each Smartling event, normalizes it, and delivers it to your configured StackOne webhook endpoint.</p>

  <ul>
    <li>Each event is delivered individually (Smartling does not batch multiple events into one request).</li>
    <li>The normalized payload carries the event type, the affected record's id, and the full original Smartling payload under the event data.</li>
    <li>StackOne signs every delivery to your endpoint with an `x-stackone-signature` header.</li>
  </ul>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.
