Skip to main content
Autonomous runs can start from two trigger types: platform triggers that originate in your CI provider (GitHub Actions, GitLab CI/CD, Bitbucket Pipelines) and webhook triggers that fire when external systems like Jira, Linear, or internal apps hit the Zencoder webhook endpoint. Platform triggers take a few more steps because they require workflow files and provider-specific tokens, but both paths share the same credential setup and secret management. Follow the sections below to wire up the option that fits your automation plan.
Contact sales to get this addon functionality. Only available on the Core pricing plan and above - see pricing plans.

Platform Trigger

Events coming from your CI/CD pipeline—such as pull request creation, branch pushes, or scheduled builds—launch autonomous runs through providers like GitHub, GitLab, or Bitbucket.
  • GitHub Actions
  • GitLab CI/CD
  • Bitbucket Pipelines

Step 1. Place the workflow file

Copy the YAML file into .github/workflows/<workflow>.yml inside the project you want to automate.
  1. Generate credentials in Zencoder. Sign in to the dashboard (user menu avatar → SettingsPersonal Tokens), click Generate Token, add a description, set an expiration date, then click Create.
    The client ID and secret are only shown once. Store them securely before leaving the page.
Zencoder Personal Tokens settings page2. Save them in GitHub. Copy the Client ID and Secret Key (map them to ZENCODER_CLIENT_ID and ZENCODER_CLIENT_SECRET) and add both under the repository settings (you can also use organization or environment secrets): open your repo, click the Settings tab on the far right, then Secrets and variables → Actions.GitHub Actions secrets configuration showing Zencoder credentials stored as repository secrets
  1. Generate a GitHub classic token. From your GitHub account (or bot account), open your profile avatar menu → Settings → Developer settings → Personal access tokens (classic) and create a token with the repo and workflow scopes so the agent can read code, open pull requests, and run workflows.
GitHub classic personal access token creation form showing repo and workflow scopes2. Save it as an Actions secret. Add the token under the repository settings (or store it as an organization/environment secret): open your repo, click the Settings tab on the far right, then Secrets and variables → Actions, and create a secret named CICD_TOKEN.GitHub Actions secrets configuration showing Zencoder credentials stored as repository secrets

Webhook Trigger

Any app capable of sending an HTTP webhook can start an autonomous workflow, whether it is Jira, Linear, Zendesk, or an internal system that posts to the exposed webhook endpoint.
  • GitHub Actions
  • GitLab CI/CD
  • Bitbucket Pipelines
Step 1 uses a webhook-specific workflow file; Steps 2–3 reuse the setup from the Platform Trigger section. If that’s already configured, skip to Step 4.

Step 1. Place the workflow file

Copy the Webhook-triggered agent file into .github/workflows/zencoder-agent.yaml (needs to be this exact name) inside the project you want to automate.
  1. Generate credentials in Zencoder. Sign in to the dashboard (user menu avatar → SettingsPersonal Tokens), click Generate Token, add a description, set an expiration date, then click Create.
    The client ID and secret are only shown once. Store them securely before leaving the page.
Zencoder Personal Tokens settings page2. Save them in GitHub. Copy the Client ID and Secret Key (map them to ZENCODER_CLIENT_ID and ZENCODER_CLIENT_SECRET) and add both under the repository settings (you can also use organization or environment secrets): open your repo, click the Settings tab on the far right, then Secrets and variables → Actions.GitHub Actions secrets configuration showing Zencoder credentials stored as repository secrets
  1. Generate a GitHub classic token. From your GitHub account (or bot account), open your profile avatar menu → Settings → Developer settings → Personal access tokens (classic) and create a token with the repo and workflow scopes so the agent can read code, open pull requests, and run workflows.
GitHub classic personal access token creation form showing repo and workflow scopes2. Save it as an Actions secret. Add the token under the repository settings (or store it as an organization/environment secret): open your repo, click the Settings tab on the far right, then Secrets and variables → Actions, and create a secret named CICD_TOKEN.GitHub Actions secrets configuration showing Zencoder credentials stored as repository secrets
  1. Reuse the token from Step 3.
    • The classic PAT you created in Step 3 already includes the repo and workflow scopes required for the Zencoder connection.
  2. Connect GitHub to Zencoder. In the Zencoder dashboard, open Connections, click Add Connection, choose GitHub, provide a descriptive name, and paste the token.
  3. Add repositories. Go to Repositories, click Add, select the GitHub connection, give the repository a friendly name, and keep the default options enabled.
  4. Create the Autonomous Flow. Navigate to Autonomous Flows, click Add, name the flow, confirm the trigger type is Webhook, pick the repository you added, and choose one of your custom agents. After saving, the UI displays a Webhook URL and a Webhook Secret—copy both immediately.
Copy the webhook secret right away. It is only shown once and must be stored in your automation tool (e.g., JIRA) to authenticate requests.
Zencoder Autonomous Flow creation dialog showing webhook URL and secret
  1. Create a JIRA automation rule.
    • Open Project settings → Automation in the relevant JIRA project and select Create rule.
    • Choose a trigger such as Issue updated (adjust to fit your workflow).
Jira automation rule configured for GitHub webhook trigger2. Add a filtering condition (optional).
  • Example: require a label such as zen-agents-github so only tagged issues trigger the automation.
  1. Send the webhook to Zencoder.
    • Add an Action → Send web request step.
    • Method: POST
    • URL: use the Autonomous Flow webhook URL you copied in Step 4.
    • Headers:
      • X-Zen-Secret: <your webhook secret>
  2. Insert the payload template.
    • Choose Custom data for the body (example below—adjust to your needs) and include the template below to pass issue context to the agent:
Please fix a Jira issue based on the provided summary and description and prepare a pull request. Format the PR title using conventional commits spec, including the issue key in square brackets:
<type>[optional scope]: [KEY] <description>
Include the key in the branch name as well.
<url>
{{issue.url}}
</url>
<summary>
{{issue.summary}}
</summary>
<description>
{{issue.description}}
</description>
  1. Save and test. Publish the rule and trigger it by updating an issue that matches your condition. Confirm that JIRA logs show a successful webhook call to the Zencoder endpoint.

Workflow Example

  1. Developer labels the target Jira issue to signal automation.
  2. Jira Automation sends a webhook payload to the Zencoder endpoint configured for the autonomous flow.
  3. Zencoder validates the payload and invokes the matching autonomous flow.
  4. CI pipeline pulls the latest code, downloads the Zencoder CLI, and authenticates with stored credentials.
  5. Zencoder agent executes the scripted workflow, implements changes, and opens a pull request with a conventional commit title that references the Jira issue key.
  6. Team reviews the pull request output and merges when satisfied.

Troubleshooting

  • Authentication failures: Confirm client ID and secret values, check token expiration dates, and ensure each platform token has the required repository permissions.
  • Agent not found: look for the agent name in the workflow, confirm the agent is shared with your organization, and double-check the agent configuration in the Zencoder UI.
  • Webhook not triggering: Validate the webhook URL, ensure the Jira automation rule is enabled, and confirm any filtering labels (for example zen-agents-bitbucket) match exactly.

Security Considerations

  • Credential management: Use each platform’s secret manager, rotate tokens regularly, and scope credentials to the minimum permissions needed.
  • Repository access: Grant the least privilege required, enforce branch protection policies, and require human review before merging agent-generated pull requests.