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

# Campaigns

export const CodemodWorkflowsDemo = () => {
  return <div style={{
    position: 'relative',
    paddingBottom: 'calc(62.5% + 41px)',
    height: 0,
    width: '100%'
  }}>
      <iframe src="https://demo.arcade.software/Md2N4w1xfCTSaW6XeiPn?embed&amp;embed_mobile=inline&amp;embed_desktop=inline&amp;show_copy_link=true" title="Start an Automation Workflow from a YAML File" frameBorder="0" loading="lazy" allowFullScreen allow="clipboard-write" style={{
    position: 'absolute',
    top: 0,
    left: 0,
    width: '100%',
    height: '100%',
    colorScheme: 'light'
  }} />
    </div>;
};

Campaigns let engineering teams centrally automate and orchestrate large code changes like security patches, language or framework upgrades, API updates, i18n, and other major refactors or optimizations across teams and repos.

[Codemod Campaigns](https://app.codemod.com/projects) provide:

* **Campaign configuration** - Different teams or repos have different needs. Edit parameters, defined in workflow\.yaml, right from the UI.
* **Centralized state management** - Auto-create and track tasks and PRs across the organization with a shared persistent state.
* **Multi-repo orchestration** - Run workflows across multiple repos with ease.

## Starting a Campaign

<Frame>
  <CodemodWorkflowsDemo />
</Frame>

<Tip>
  Make sure the <a href="https://github.com/apps/codemod">Codemod GitHub App</a> is installed on repositories you plan to migrate.
</Tip>

<Steps>
  <Step title="Create">
    Navigate to **[Campaigns -> Create Campaign](https://app.codemod.com/workflows/create/registry)** in the Codemod app.
  </Step>

  <Step title="Configure">
    Configure:

    * **Codemod package** – The Codemod package that you want to run. This can be an existing package, a custom pro codemod (for enterprise customers), or one you create yourself. You can build Codemod packages using Codemod MCP or Studio.
    * **Target Repository** – The repository that you want to run the Codemod package on.
    * **Campaign Name & Description** – Give your Campaign a descriptive name and description.
  </Step>

  <Step title="Run">
    Click **Run** to initiate the Campaign.

    Each Campaign defines one or more steps that Codemod will run for the target repository. Codemod opens pull requests, tracks status, and surfaces metrics so you always know what's left.
  </Step>
</Steps>

## Creating custom workflows

While a Campaign may be as simple as a single automated codemod, most migrations involve a sequence of steps. You can design those steps by building [Codemod workflows](/cli/workflows). Pro and enterprise customers can request custom workflows.

<Card title="Learn more about Codemod workflows →" icon="play" href="/cli/workflows" />
