Bots

Bots enrich collected Stories and News Items in the background.

Bots run as worker jobs. They can be triggered manually, scheduled with REFRESH_INTERVAL, or run after collection when RUN_AFTER_COLLECTOR is enabled.

Available bots

BotPurpose
Analyst BotAdds configured attributes based on regular expression matches.
Grouping BotGroups News Items by regular expression matches.
Tagging BotAdds tags based on regular expression matches.
Wordlist BotTags News Items with configured word lists.
IOC BotDetects indicators of compromise in News Items.
NLP BotSends text to an NLP endpoint for named entity tags.
Story Clustering BotSends Stories to a clustering endpoint and groups related items.
Summary BotGenerates Story summaries and, optionally, Story titles.
Sentiment Analysis BotAdds sentiment attributes to News Items.
Cybersecurity Classifier BotClassifies whether Story content is cybersecurity related.
IntelOwl BotEnriches IOC tags through an IntelOwl instance.

Implementation details are available in the worker bot source.

Common settings

SettingPurpose
NameDisplay name in the admin UI.
DescriptionOperator-facing description.
TypeBot implementation to run.
IndexExecution order when multiple bots run after collection.
RUN_AFTER_COLLECTORRuns the bot after collector jobs.
RUN_AFTER_BOTSOptional configured bot instances that must finish before this bot runs.
REFRESH_INTERVALCron-like schedule, for example 0 */8 * * *.
REQUESTS_TIMEOUTHTTP timeout for calls to external bot services.
BOT_API_KEYAPI key sent to external bot services when needed.

Scheduled bots are handled by Redis/RQ. See Background Jobs for worker and scheduler health checks.

Use the bot run-order editor instead of entering RUN_AFTER_BOTS manually. Bot dependencies refer to configured bot instances, not bot types. The IntelOwl Bot depends on the IOC Bot so it can enrich extracted indicators.

LLM-backed bots

The optional LLM Bot Service can serve several bot endpoints.

BotWorker defaultPer-bot overrideTypical llm-bot endpoint
Summary BotSUMMARY_API_ENDPOINTSUMMARY_ENDPOINThttp://llm-bot:8000/summarize
Summary Bot title generationnoneTITLE_ENDPOINThttp://llm-bot:8000/title
NLP BotNLP_API_ENDPOINTBOT_ENDPOINThttp://llm-bot:8000/ner
Story Clustering BotSTORY_API_ENDPOINTBOT_ENDPOINThttp://llm-bot:8000/cluster
Sentiment Analysis BotSENTIMENT_ANALYSIS_API_ENDPOINTBOT_ENDPOINThttp://llm-bot:8000/sentiment

Per-bot endpoint fields take precedence over worker environment defaults. After upgrading from older standalone bot services, update LLM-backed bot parameters that still point to summary_bot, nlp_bot, story_bot, or sentiment_analysis_bot. If you keep the Cybersecurity Classifier Bot, make sure its configured classifier endpoint is still deployed.

The Summary Bot only updates Story titles when TITLE_ENDPOINT is configured and the Story contains more than one News Item.

Sentiment output

The Sentiment Analysis Bot writes these News Item attributes:

  • sentiment_score
  • sentiment_category

The Story Edit advanced view displays the sentiment status when these attributes are present.

IntelOwl enrichment

The IntelOwl enrichment guide covers required analyzers, bot configuration, and viewing CTI results.