Skip to content

fix: remove empty credential IDs blocking n8n execution - #13

Merged
depalmar merged 2 commits into
mainfrom
claude/amazing-saha
Mar 8, 2026
Merged

depalmar merged 2 commits into
mainfrom
claude/amazing-saha

Conversation

@depalmar

@depalmar depalmar commented Mar 8, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Fix AI Agent "No prompt specified" error: The agent's prompt referenced $json.markdown which doesn't exist — replaced with a constructed prompt using the actual baseline data fields (current, prior, delta_pct, trend)
  • Fix VirusTotal IOC Lookup: URL now dynamically selects domains/ vs ip_addresses/ endpoint based on IOC type; added onError: continueRegularOutput so missing API keys don't kill the workflow
  • Fix AbuseIPDB Lookup: Added onError: continueRegularOutput for graceful failure when API key isn't configured
  • Remove empty credential IDs: Stripped all credential references with empty id fields that caused n8n to reject the workflow at execution time
  • Add regression test: test_no_empty_credential_ids prevents future empty credential bugs

Setup required after import

  1. Set n8n environment variables: VT_API_KEY, ABUSEIPDB_API_KEY
  2. Add your own credentials in n8n for: Anthropic/Ollama, Slack, SMTP, Google Docs

Test plan

  • All 75 pytest tests pass
  • Re-import workflow JSON into n8n and execute manually
  • Verify VirusTotal lookups return data (green) with valid API key
  • Verify AI Agent node receives and processes the prompt

🤖 Generated with Claude Code

depalmar and others added 2 commits March 8, 2026 11:47
Empty credential IDs (id="") cause n8n to reject the workflow with
"The workflow has issues and cannot be executed". Removed all empty
credential references from 200-level workflows so users can import
and execute without pre-configured credentials.

Also added API key headers for VirusTotal and AbuseIPDB nodes using
n8n variables ($vars.VT_API_KEY, $vars.ABUSEIPDB_API_KEY).

Added test_no_empty_credential_ids to catch this in the future.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- AI Agent prompt referenced $json.markdown which doesn't exist in the
  upstream data; replaced with constructed prompt using $json.current,
  $json.prior, $json.delta_pct, $json.trend from Build Historical Baseline
- VirusTotal URL now dynamically picks domains/ vs ip_addresses/ endpoint
  based on $json.type from Extract IOCs
- Added onError: continueRegularOutput to VT and AbuseIPDB HTTP nodes so
  missing API keys don't kill the entire workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@depalmar
depalmar merged commit ce7ff16 into main Mar 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant