> ## 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.

# Matillion Webhook Setup Guide

> Configure Matillion to deliver events to StackOne.

## Prerequisites

Before continuing, you should have already completed the following for this connector:

<Steps>
  <Step title="Configure the Connector">
    Enable the connector and set up its connector profile in your project. See <a href="/guides/explore-connectors">Managing Connectors</a>.

    <Columns cols={2}>
      <Card title="Connector Profile" href="/connectors/matillion/guides/connector-profile/oauth-2-0-client-credentials" icon="https://stackone-logos.com/api/matillion/filled/png" horizontal>
        Matillion - OAuth 2.0 (Client Credentials)
      </Card>
    </Columns>
  </Step>

  <Step title="Link an Account">
    Connect an account using <a href="/guides/embedding-stackone-hub">StackOne Hub</a> or <a href="/guides/auth-link">Auth Link</a>.

    <Columns cols={2}>
      <Card title="Link Account" href="/connectors/matillion/guides/link-account/oauth-2-0-client-credentials" icon="https://stackone-logos.com/api/matillion/filled/png" horizontal>
        Matillion - OAuth 2.0 (Client Credentials)
      </Card>
    </Columns>
  </Step>
</Steps>

<section data-guide-section data-guide-scopes="">
  <h2>Webhook setup</h2>

  <p>This connector uses <strong>Manual Webhooks</strong>. Matillion (Data Productivity Cloud / Maia) has no webhook management API, so the notification is configured once in the Matillion UI using the StackOne webhook URL and the payload template below. Notifications fire only for <strong>scheduled or API-driven</strong> pipeline runs — runs started manually from Designer never generate notifications.</p>

  <Steps>
    <Step title="Open Profile & Account">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Log in to <a href="https://app.matillion.com" target="_blank" rel="noopener noreferrer">Matillion</a> and click <strong>Profile & Account</strong> at the bottom of the left navigation bar.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-profile-account.png" alt="Matillion home page with the Profile & Account button highlighted in the left navigation bar" />
      </div>
    </Step>

    <Step title="Open Notifications">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the menu that opens, click <strong>Notifications</strong> under your user section.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-notifications-menu.png" alt="Profile & Account menu open with the Notifications item highlighted" />
      </div>
    </Step>

    <Step title="Add a notification">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On the <strong>Notifications</strong> page, click <strong>Add notification</strong>.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-add-notification.png" alt="Notifications page with the Add notification button highlighted" />
      </div>
    </Step>

    <Step title="Select scope">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Select the <strong>Project</strong> and <strong>Environment</strong> you want StackOne to receive events for. To cover several projects, repeat this guide once per project/environment pair.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-project-environment.png" alt="Add notification form with the Project and Environment selects highlighted" />
      </div>
    </Step>

    <Step title="Add completion alerts">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Under <strong>Pipeline completion alerts</strong>, click <strong>Add</strong>.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-completion-alerts-add.png" alt="Add buttons highlighted for the Pipeline completion alerts and Anomaly alerts sections" />
      </div>
    </Step>

    <Step title="Choose triggers and Webhook delivery">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the alert card, select the run outcomes to deliver, then under <strong>How do you want to receive this notification?</strong> tick <strong>Webhook</strong>.</p>

        <ul>
          <li>Select <strong>Success</strong>, <strong>Failure</strong>, <strong>Cancelled</strong> and <strong>Skipped</strong> to enable all completion events</li>
          <li>Tick <strong>Webhook</strong> as the delivery method</li>
        </ul>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-completion-triggers.png" alt="Completion alert card with the Success, Failure, Cancelled and Skipped checkboxes ticked and the Webhook delivery option highlighted" />
      </div>
    </Step>

    <Step title="Fill in the webhook fields">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Three fields appear when <strong>Webhook</strong> is ticked.</p>

        <ul>
          <li><strong>Webhook URL</strong> — paste the StackOne webhook URL for this connected account</li>
          <li><strong>Webhook Name</strong> — any descriptive name, e.g. `StackOne`</li>
          <li><strong>Payload Template</strong> — paste the template from the next step exactly as given</li>
        </ul>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-webhook-fields.png" alt="Webhook URL, Webhook Name and Payload Template fields shown after ticking Webhook" />
      </div>
    </Step>

    <Step title="Paste the completion payload template">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>StackOne relies on this exact template to route events — paste it into <strong>Payload Template</strong> without modification (the <strong>View available variables</strong> link shows the supported placeholders):</p>

        ```json theme={null}
        {"source":"stackone","event":"pipeline.completion","status":"${status}","pipelineName":"${pipelineName}","pipelineExecutionId":"${pipelineExecutionId}","finishedAt":"${finishedAt}","projectId":"${projectId}","accountId":"${accountId}"}
        ```

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-payload-template.png" alt="Payload Template filled with the StackOne completion template and the Add notification button highlighted" />
      </div>
    </Step>

    <Step title="Save">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Add notification</strong>. The new notification appears in the list with <strong>Webhook</strong> delivery.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-notification-saved.png" alt="Notifications list showing the saved StackOne webhook notification row" />
      </div>
    </Step>

    <Step title="Optional — add anomaly alerts">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>To also receive duration-anomaly events, click <strong>Add</strong> under <strong>Anomaly alerts</strong> (or edit the saved notification), tick <strong>Enable anomaly alerts</strong>, choose <strong>Webhook</strong>, fill the same <strong>Webhook URL</strong>, and paste this anomaly template instead, then click <strong>Save</strong>:</p>

        ```json theme={null}
        {"source":"stackone","event":"pipeline.anomaly","status":"${status}","pipelineName":"${pipelineName}","environmentDisplayName":"${environmentDisplayName}","startedAt":"${startedAt}","elapsedDurationSeconds":"${elapsedDurationSeconds}","pipelineExecutionId":"${pipelineExecutionId}","triggerType":"${triggerType}","projectId":"${projectId}","accountId":"${accountId}"}
        ```

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-anomaly-template.png" alt="Anomaly alerts card with the anomaly payload template filled and the Save button highlighted" />
      </div>
    </Step>
  </Steps>
</section>

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

  <p>The following events are emitted by this connector once the notification is configured.</p>

  <Steps>
    <Step title="Pipeline run events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events describing the outcome of scheduled or API-triggered pipeline runs.</p>

        <ul>
          <li><strong>Pipeline Run Succeeded</strong> (`pipeline_run.succeeded`) — Fired when a pipeline run completes with status SUCCESS</li>
          <li><strong>Pipeline Run Failed</strong> (`pipeline_run.failed`) — Fired when a pipeline run completes with status FAILED</li>
          <li><strong>Pipeline Run Cancelled</strong> (`pipeline_run.cancelled`) — Fired when a pipeline run is cancelled</li>
          <li><strong>Pipeline Run Skipped</strong> (`pipeline_run.skipped`) — Fired when a scheduled pipeline run is skipped</li>
          <li><strong>Pipeline Run Duration Anomaly</strong> (`pipeline_run.anomaly`) — Fired when a run's duration deviates significantly from its historical baseline (requires anomaly alerts enabled and a historical baseline)</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

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

  <p>Matillion renders the payload template on each delivery, substituting the `${variable}` placeholders (the full list is behind <strong>View available variables</strong> on each alert card). Payloads are <strong>not signed</strong> (no HMAC or signature header) — the static `"source":"stackone"` field and the unguessable webhook URL identify legitimate deliveries. One HTTP POST is sent per pipeline run outcome.</p>

  <Steps>
    <Step title="Template variables">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Completion alerts support `${pipelineName}`, `${status}`, `${finishedAt}`, `${pipelineExecutionId}`, `${projectId}` and `${accountId}`. Anomaly alerts additionally support `${environmentDisplayName}`, `${startedAt}`, `${elapsedDurationSeconds}`, `${expectedUpperBoundSeconds}`, `${expectedLowerBoundSeconds}` and `${triggerType}`.</p>

        <img src="https://mintlify.s3.us-west-1.amazonaws.com/stackone-60/connectors/images/events-template-variables.png" alt="Available template variables dialog listing the completion alert variables" />
      </div>
    </Step>
  </Steps>
</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.
