crewAIInc/crewAI · error · SystemExit
Error: {error_data.get('error', 'Trigger not found')}
Error message
Error: {error_data.get('error', 'Trigger not found')} What it means
Printed with SystemExit(1) by TriggerCommand.execute_with_trigger() when the Plus API responds 404 to get_trigger_payload(app_slug, trigger_slug). Either the app or the trigger slug does not exist (or is not visible to your account), and the error message from the API body is displayed (falling back to 'Trigger not found').
Source
Thrown at lib/cli/src/crewai_cli/triggers/main.py:58
if "/" not in trigger_path:
console.print(
"[bold red]Error: Trigger must be in format 'app_slug/trigger_slug'[/bold red]"
)
raise SystemExit(1)
app_slug, trigger_slug = trigger_path.split("/", 1)
console.print(
f"[bold blue]Fetching trigger payload for {app_slug}/{trigger_slug}...[/bold blue]"
)
response = self.plus_api_client.get_trigger_payload(app_slug, trigger_slug)
if response.status_code == 404:
error_data = response.json()
console.print(
f"[bold red]Error: {error_data.get('error', 'Trigger not found')}[/bold red]"
)
raise SystemExit(1)
self._validate_response(response)
trigger_data = response.json()
self._display_trigger_info(trigger_data)
self._run_crew_with_payload(trigger_data.get("sample_payload", {}))
except Exception as e:
console.print(
f"[bold red]Error executing crew with trigger: {e}[/bold red]"
)
raise SystemExit(1) from e
def _display_triggers(self, triggers_data: dict[str, Any]) -> None:
"""Display triggers in a formatted table."""
apps = triggers_data.get("apps", [])
View on GitHub (pinned to 754d7323be)
Solutions
- Run `crewai trigger list` to see the slugs actually available and copy them exactly.
- Reinstall/re-add the integration in the CrewAI Plus dashboard if it was removed.
- Confirm you are authenticated to the workspace that owns the app (check `crewai whoami` / re-login).
- Watch for trailing whitespace or case mismatches in slugs.
Defensive patterns
Strategy: validation
Validate before calling
response = plus_api_client.get_trigger_payload(app_slug, trigger_slug)
if response.status_code == 404:
available = plus_api_client.get_triggers().json()
slugs = {f"{a['slug']}/{t['slug']}" for a in available.get("apps", []) for t in a.get("triggers", [])}
raise SystemExit(f"Unknown trigger. Available: {sorted(slugs)}") Try / catch
if response.status_code == 404:
# re-check against the trigger list rather than retrying blindly
list_response = plus_api_client.get_triggers()
# reconcile slugs here Prevention
- Fetch the trigger list first and validate the slug pair before executing
- Re-check the Plus dashboard after integrations are renamed or removed
- Ensure you are authenticated to the workspace owning the app
When it happens
Trigger: Running `crewai trigger execute wrong-app/right-trigger` or any slug pair not registered in your CrewAI Plus workspace: deleted integrations, typo'd slugs, or a trigger belonging to a different workspace/team.
Common situations: Integration was removed or renamed in the Plus dashboard after the developer copied the path; slug typo; using a personal key against a team workspace where the app is not shared.
Related errors
- No trigger payload provided. Please provide JSON payload as
- Invalid JSON payload provided as argument
- An error occurred while running the crew with trigger: {e}
- No trigger payload provided. Please provide JSON payload as
- Invalid JSON payload provided as argument
AI-assisted analysis of crewAIInc/crewAI@754d7323be (2026-08-15).
Data as JSON: /api/errors/e9e4b63018c595e6.
Report an issue: GitHub.