# Choosing what your workflow does

Workflows automate tasks in your software development lifecycle. Many tasks that you manually complete can be converted to a GitHub Actions workflow.

## Links

* [Using jobs in a workflow](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/use-jobs)

  Use workflows to run multiple jobs.

* [Using pre-written building blocks in your workflow](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/find-and-customize-actions)

  You can use and customize pre-written actions to power your workflow.

* [Using GitHub CLI in workflows](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/use-github-cli)

  You can script with GitHub CLI in GitHub Actions workflows.

* [Adding scripts to your workflow](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/add-scripts)

  You can use GitHub Actions workflows to run scripts.

* [Using secrets in GitHub Actions](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets)

  Learn how to create secrets at the repository, environment, and organization levels for GitHub Actions workflows.

* [Store information in variables](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables)

  GitHub sets default variables for each GitHub Actions workflow run. You can also set custom variables for use in a single workflow or multiple workflows.

* [Passing information between jobs](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/pass-job-outputs)

  You can define outputs to pass information from one job to another.

* [Setting a default shell and working directory](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/set-default-values-for-jobs)

  Define the default settings that will apply to all jobs in the workflow, or all steps in a job.

* [Deploying to a specific environment](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/deploy-to-environment)

  Specify a deployment environment in your workflow.

* [Running variations of jobs in a workflow](/en/enterprise-server@3.17/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations)

  Create a matrix to define variations for each job.