aaronsteers/Devin Action
Triggers a Devin.ai session with a given prompt or playbook. Optimized for use directly or as a response to slash commands.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Mar 16, 2026
- License
- MIT
Pinned Snippet
uses: aaronsteers/devin-knowledge-action@544f44198e3561cbadc0b144e49605d902e16def # no releases — HEAD as of 2026-07-10tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| comment-id | Comment ID (optional, for reply chaining and context) | no | — |
| issue-number | Issue or PR number (optional, for context). This can be either an issue number or a pull request number. | no | — |
| playbook-macro | Playbook macro (optional, for structured workflows) - should start with '!' (e.g., !my_playbook) | no | — |
| prompt-text | Additional prompt text (optional). Mutually exclusive with prompt-file. | no | — |
| prompt-file | Path to a file containing the prompt text (optional, relative to the repository root). Use this instead of prompt-text to avoid YAML quoting/escaping issues with multi-line prompts. Mutually exclusive with prompt-text. | no | — |
| devin-token | Devin API Token (required for authentication). For v1 API: Personal API Key (apk_user_*) or Service API Key (apk_*). For v3 API: Service User credential with ManageOrgSessions permission (service users only; PATs are not supported for v3). | yes | — |
| github-token | GitHub Token (required for posting comments and accessing repo context) | no | — |
| start-message | Message to include in the start comment | no | �� **Starting Devin AI session...** |
| tags | Additional tags to apply to the Devin session (supports CSV or line-delimited format). Automatic tags are always added: gh-actions-trigger and playbook-{macro-name} if playbook-macro is provided. Cannot be used with reuse-session. | no | — |
| reuse-session | Existing Devin session ID or URL to inject a message into (optional). When provided, sends a message to an existing session instead of creating a new one. Accepts either a session ID or a full URL (e.g., https://app.devin.ai/sessions/abc123). Mutually exclusive with 'tags' input. | no | — |
| dry-run | If 'true', the action will simulate the process without making an actual API call to Devin | no | false |
| wait-for-stopped-status | If 'true', polls GET /v1/sessions/{session_id} until status_enum is any non-working state. | no | false |
| wait-minutes-max | Maximum minutes to poll before timing out (only used when wait-for-stopped-status is enabled) | no | 20 |
| api-version | Devin API version to use. Options: 'auto' (default, selects v1 or v3 based on inputs), 'v1' (force v1 API), 'v3' (force v3 API). When 'auto', v3 is used if advanced-mode or session-links is provided; otherwise v1. Setting 'v1' with v3-only features (advanced-mode, session-links, max-acu-limit) will produce an error. | no | auto |
| advanced-mode | V3 API advanced mode (optional). Enables specialized session behaviors for automation workflows. Options: 'analyze' (analyze existing sessions via session-links), 'create' (create a new playbook), 'improve' (improve an existing playbook), 'batch' (start multiple sessions), 'manage' (manage knowledge). When set, uses the v3 API endpoint. Requires org-id. | no | — |
| session-links | Session URLs or IDs to provide as context (optional, supports CSV or line-delimited format). Required when advanced-mode is 'analyze'. When provided without advanced-mode, defaults to 'analyze' mode automatically. | no | — |
| org-id | Devin organization ID (required when using v3 API features such as advanced-mode or session-links). For org-scoped service users this may be auto-resolved, but providing it explicitly is recommended. | no | — |
| max-acu-limit | Maximum ACU limit for the session (optional, v3 API only). Caps the compute budget for the session. | no | — |
| playbook-id | Playbook ID to use for the session (v3 API only). When set, the session will follow the referenced playbook's instructions. The playbook must already exist in the Devin API (synced via the ai-skills repo or created manually). | no | — |
| child-playbook-id | Playbook ID for child sessions (v3 API only). Required when advanced-mode is 'batch' or 'improve'. | no | — |
| bypass-approval | If 'true', bypass the approval step for batch session creation (v3 API only, batch mode). Requires UseDevinExpert permission. | no | false |
Outputs
| name | description |
|---|---|
| session-id | The Devin session ID |
| session-url | The URL to view the Devin session |
| prompt | The base64-encoded prompt sent to Devin |
| prompt_readable | The human-readable prompt sent to Devin |
| run-url | The GitHub Actions run URL |
| status | The terminal status_enum value when polling completes (only set when wait-for-stopped-status is enabled) |
| summary | The last message from the session (only set when wait-for-stopped-status is enabled) |