> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# actions_get_workflow

> Get one workflow. `workflow_id` accepts the file name — 'ci.yml' — as well as the numeric id, and the file name is usually the one you have.

<div className="tool-route"><span className="tool-row-method" data-method="GET">GET</span><code>{"https://api.github.com/repos/{owner}/{repo}/actions/workflows/{workflowId}"}</code></div>

```python github_actions_get_workflow.py theme={null}
from charter.packs import github

result = await github.actions_get_workflow.ainvoke({"owner": ..., "repo": ..., "workflowId": ...})
```

<Note>
  Requires `repo`, `read:user`.
</Note>

## Path parameters

<div className="reference-table">
  | Field                                                              | Type                  | Description                                                                                                                        |
  | ------------------------------------------------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
  | `owner` <span className="required" title="required">\*</span>      | `string`              | The account owner of the repository. The name is not case sensitive.                                                               |
  | `repo` <span className="required" title="required">\*</span>       | `string`              | The name of the repository without the `.git` extension. The name is not case sensitive.                                           |
  | `workflowId` <span className="required" title="required">\*</span> | `integer` \| `string` | The ID of the workflow. You can also pass the workflow file name as a string, such as `ci.yml`, which is usually the one you have. |
</div>
