From the GitHub REST API documentation, it seems we're able to create a repository_dispatch event, but not a workflow_dispatch event. In the GitHub GraphQL API, I couldn't find how to dispatch events.
Is it even possible to trigger a workflow_dispatch event using the API?
Yes, it's possible, manually, through the GitHub API or using the GitHub CLI.
Actions tab on your repository)Here is an official documentation about it.
Basically, once you select the workflow on the tab, if the workflow implementation has the workflow_dispatch trigger, the option Run workflow will appear on the right part of the window, like this:

In the official GitHub documentation, there is a service to create a workflow dispatch event.
Here is a curl example:
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/octocat/hello-world/actions/workflows/42/dispatches \
-d '{"ref":"main"}'
Note that you can also send workflow inputs through this API as well.
You can also find more references about this in this article.
There is also another GitHub API service to trigger repository_dispatch events.
You can also trigger a workflow_dispatch event using the GitHub CLI tool through the command:
gh workflow run [<workflow-id> | <workflow-name>] [flags]
Create a workflow_dispatch event for a given workflow.
This command will trigger GitHub Actions to run a given workflow file. The given workflow file must support a workflow_dispatch 'on' trigger in order to be run in this way.
Reference.
If you're looking for triggering those workflow_dispatch events (and repository_dispatch events) through a terminal command line, you can use this automation in Python. The implementation can be found in this class.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With