Significant-Gravitas/AutoGPT · error · InvalidInputError
Could not set up webhook: {feedback}
Error message
Could not set up webhook: {feedback} What it means
InvalidInputError raised inside setup_triggered_preset when setup_webhook_for_block returns no webhook — the webhook provider/backend rejected the registration and returned a feedback string. The error embeds that feedback, which carries the provider-specific reason (bad credentials, invalid config, provider API failure). Note the webhook is created in the graph's org/team (resource-follows-parent), not the caller's.
Source
Thrown at autogpt_platform/backend/backend/api/features/library/triggers.py:84
**(
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(
user_id=user_id,
trigger_block=trigger_node.block,
trigger_config=trigger_config_with_credentials,
organization_id=graph.organization_id,
team_id=graph.team_id,
)
if not new_webhook:
raise InvalidInputError(f"Could not set up webhook: {feedback}")
return await db.create_preset(
user_id=user_id,
preset=models.LibraryAgentPresetCreatable(
graph_id=graph.id,
graph_version=graph.version,
name=name,
description=description,
inputs=trigger_config_with_credentials,
credentials=agent_credentials,
is_active=True,
),
webhook_id=new_webhook.id,
# A trigger on an expert-installed workflow fires as the expert's
# work: unique (user, graph) → expert matches keep the attribution.
expert_id=await experts_db.resolve_expert_for_graph(user_id, graph.id),
)
View on GitHub (pinned to 9c8bb5550f)
Solutions
- Read the embedded {feedback} — it is the provider's own rejection message and names the exact problem.
- Reconnect the provider credentials and pass fresh ones in agent_credentials.
- Validate trigger_config keys against the webhook block's input schema before submission.
- If feedback indicates provider outage/rate limit, back off and retry rather than re-submitting immediately.
Example fix
# before
await setup_triggered_preset(user_id=uid, graph_id=gid, graph_version=v, name=n, description=d, trigger_config=cfg, agent_credentials=creds)
# after
try:
await setup_triggered_preset(user_id=uid, graph_id=gid, graph_version=v, name=n, description=d, trigger_config=cfg, agent_credentials=creds)
except InvalidInputError as e:
if 'expired' in str(e):
creds = await refresh_provider_credentials(uid)
return await setup_triggered_preset(user_id=uid, graph_id=gid, graph_version=v, name=n, description=d, trigger_config=cfg, agent_credentials=creds)
raise Defensive patterns
Strategy: try-catch
Try / catch
try:
await setup_triggered_preset(...)
except InvalidInputError as e:
if 'expired' in str(e).lower():
creds = await refresh_provider_credentials(uid)
return await setup_triggered_preset(..., agent_credentials=creds)
raise TriggerRejected(str(e)) from e Prevention
- Parse the embedded feedback string; it is the provider's own diagnosis.
- Re-authenticate provider credentials before trigger setup if they are older than the provider's token TTL.
- Validate trigger_config against the webhook block schema client-side.
When it happens
Trigger: setup-trigger with trigger_config values the provider rejects (invalid event names, malformed URLs); missing or expired provider credentials for the webhook block; provider API down or rate-limiting; credentials supplied for the wrong provider.
Common situations: Expired third-party OAuth token for the trigger block; provider changed required config fields; org-level integration not enabled; webhook provider secret not configured in the backend environment.
Related errors
- Graph #{graph_id} does not have a webhook trigger node
- Could not update trigger configuration: {feedback}
- Server did not return an access token for the Google Drive p
- Codex credentials must be created through ChatGPT sign-in
- Unsupported credential type: {request.type}
AI-assisted analysis of Significant-Gravitas/AutoGPT@9c8bb5550f (2026-08-14).
Data as JSON: /api/errors/5dd41bc4f73f527d.
Report an issue: GitHub.