Significant-Gravitas/AutoGPT · error · NotFoundError
Graph #{graph_id} is not accessible (anymore)
Error message
Graph #{graph_id} is not accessible (anymore) What it means
NotFoundError raised inside setup_triggered_preset (library/triggers.py) when get_graph(graph_id, version, user_id) returns None — the graph does not exist, is not accessible to this user, or the pinned version is gone. This is a domain exception (not an HTTPException); the API layer maps it, typically to a 404 on POST /presets/setup-trigger or PATCH /presets/{id}.
Source
Thrown at autogpt_platform/backend/backend/api/features/library/triggers.py:58
"""Create a webhook-triggered ``LibraryAgentPreset`` for the given graph.
Sets up the webhook for the graph's trigger node — auto-registering it with
the provider for auto-setup webhooks, or just minting the ingress URL for
manual-setup webhooks — then creates a preset linked to that webhook. The
returned preset has ``.webhook`` populated, so ``preset.webhook.url`` is the
ingress URL to hand to the user for manual-setup webhooks.
Fetches the graph itself (rather than taking a ``GraphModel``) so it can run
as an RPC endpoint without serializing the whole graph across the boundary.
Raises:
NotFoundError: if the graph no longer exists / isn't accessible.
InvalidInputError: if the graph has no webhook node, or the webhook
backend rejects the trigger config / credentials.
"""
graph = await get_graph(graph_id, version=graph_version, user_id=user_id)
if not graph:
raise NotFoundError(f"Graph #{graph_id} is not accessible (anymore)")
if not (trigger_node := graph.webhook_input_node):
raise InvalidInputError(
f"Graph #{graph_id} does not have a webhook trigger node"
)
trigger_config_with_credentials = {
**trigger_config,
**(
make_node_credentials_input_map(graph, agent_credentials).get(
trigger_node.id
)
or {}
),
}
# Resource-follows-parent: the webhook lives in the graph's org/team,
# not the caller's active org.
new_webhook, feedback = await setup_webhook_for_block(View on GitHub (pinned to 9c8bb5550f)
Solutions
- Confirm the graph is visible to the acting user: GET /graphs/{graph_id} with version.
- Use the graph's current version rather than a cached version number.
- If the graph was deleted, recreate it (or restore) before setting up the trigger.
- Catch NotFoundError in RPC callers and translate it to a user-facing 'agent no longer available' message.
Example fix
# before
await setup_triggered_preset(user_id=uid, graph_id=gid, graph_version=v, ...)
# after
graph = await get_graph(gid, version=v, user_id=uid)
if not graph:
raise ValueError(f"Graph {gid} v{v} not accessible; refresh and retry")
await setup_triggered_preset(user_id=uid, graph_id=gid, graph_version=graph.version, ...) Defensive patterns
Strategy: validation
Validate before calling
graph = await get_graph(gid, version=graph_version, user_id=uid)
if not graph:
raise ValueError('Graph not accessible — refresh graph reference') Try / catch
try:
await setup_triggered_preset(...)
except NotFoundError as e:
raise AgentNoLongerAvailable(str(e)) from e Prevention
- Fetch graph at call time; never trust graph IDs cached across long-lived sessions.
- Handle version pruning: fall back to latest version if the pinned one is gone.
When it happens
Trigger: setup-trigger RPC with a deleted graph_id; version pin referencing a pruned graph version; graph owned by a different user/org; graph soft-deleted between the user opening the trigger setup dialog and submitting it.
Common situations: Graph deleted in another tab while the trigger setup modal was open; stale graph_id persisted in frontend state; version mismatch after graph re-publish; cross-org access attempt.
Related errors
- Graph #{graph_id} does not have a webhook trigger node
- Graph #{current.graph_id} is not accessible (anymore)
- Could not set up webhook: {feedback}
- Preset #{preset_id} not found
- Failed to fetch agent
AI-assisted analysis of Significant-Gravitas/AutoGPT@9c8bb5550f (2026-08-14).
Data as JSON: /api/errors/4ee680dc86b34dfe.
Report an issue: GitHub.