| command | Action command: plan or execute | yes | — |
| api-url | Synatic API base URL (no trailing slash) | yes | — |
| api-key | Synatic org API key (syn_api_...). Store as a secret. | yes | — |
| source-org-id | Source organization MongoDB ObjectId for plan command (URL segment) | — | — |
| root-type | Root entity type for plan command (flow, solution, parameter, etc.). Use with root-id, or use roots instead. | — | — |
| root-id | Root entity MongoDB ObjectId for plan command | — | — |
| roots | JSON array of { rootType, rootId } objects for plan command. Alternative to root-type + root-id. | — | — |
| plan-path | Path to the plan JSON file in the repository | no | .synatic/plans/plan.json |
| plan-options | JSON string of plan options passed to the API | no | {} |
| github-token | GitHub token for auto-commit and pull requests (defaults to the workflow token) | no | ${{ github.token }} |
| auto-commit | For plan command: commit plan file to Git (default true) | no | true |
| create-pr | For plan command with auto-commit: open a pull request (default true) | no | true |
| pr-title | Pull request title when create-pr is true | no | — |
| pr-body | Pull request body when create-pr is true | no | — |
| pr-base-branch | Base branch for pull request or commit | no | main |
| commit-message | Commit message when auto-commit is true | no | chore: update entity sync plan |
| dest-org-id | Destination organization MongoDB ObjectId for execute command (URL segment) | — | — |
| preview-first | For execute command: run preview before execute (default true) | no | true |
| preview-only | For execute command: stop after preview without executing | no | false |
| fail-on-conflict | For execute command: fail when preview reports conflicts (default true) | no | true |