{"meta":{"title":"Choosing what your workflow does","intro":"Workflows automate tasks in your software development lifecycle. Many tasks that you manually complete can be converted to a GitHub Actions workflow.","product":"GitHub Actions","breadcrumbs":[{"href":"/en/actions","title":"GitHub Actions"},{"href":"/en/actions/how-tos","title":"How-tos"},{"href":"/en/actions/how-tos/write-workflows","title":"Write workflows"},{"href":"/en/actions/how-tos/write-workflows/choose-what-workflows-do","title":"Choose what workflows do"}],"documentType":"subcategory"},"body":"# Choosing what your workflow does\n\nWorkflows automate tasks in your software development lifecycle. Many tasks that you manually complete can be converted to a GitHub Actions workflow.\n\n## Links\n\n* [Using jobs in a workflow](/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-jobs)\n\n  Use workflows to run multiple jobs.\n\n* [Using pre-written building blocks in your workflow](/en/actions/how-tos/write-workflows/choose-what-workflows-do/find-and-customize-actions)\n\n  You can use and customize pre-written actions to power your workflow.\n\n* [Using GitHub CLI in workflows](/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-github-cli)\n\n  You can script with GitHub CLI in GitHub Actions workflows.\n\n* [Adding scripts to your workflow](/en/actions/how-tos/write-workflows/choose-what-workflows-do/add-scripts)\n\n  You can use GitHub Actions workflows to run scripts.\n\n* [Using secrets in GitHub Actions](/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets)\n\n  Learn how to create secrets at the repository, environment, and organization levels for GitHub Actions workflows.\n\n* [Store information in variables](/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables)\n\n  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.\n\n* [Passing information between jobs](/en/actions/how-tos/write-workflows/choose-what-workflows-do/pass-job-outputs)\n\n  You can define outputs to pass information from one job to another.\n\n* [Setting a default shell and working directory](/en/actions/how-tos/write-workflows/choose-what-workflows-do/set-default-values-for-jobs)\n\n  Define the default settings that will apply to all jobs in the workflow, or all steps in a job.\n\n* [Deploying to a specific environment](/en/actions/how-tos/write-workflows/choose-what-workflows-do/deploy-to-environment)\n\n  Specify a deployment environment in your workflow.\n\n* [Running variations of jobs in a workflow](/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations)\n\n  Create a matrix to define variations for each job."}