Schedule icon
GetAssetSentiment icon
Return icon
Switch icon
Log icon
SlackIncomingWebhook icon

Adanos Asset Sentiment Drift Sentinel

Monitor asset sentiment drift via the Adanos Market Sentiment API and alert Slack when sentiment crosses bearish or bullish thresholds.

Categories
BusinessData

Public sentiment around a stock or crypto asset can swing from normal to extreme between two checks, and nothing surfaces that drift until a trader or compliance analyst happens to look. This blueprint pulls Adanos's sentiment summary for a tracked asset on a schedule, classifies the current sentiment_score against bearish and bullish thresholds, and pages Slack the moment sentiment swings to an extreme or the API itself cannot be reached.

How it works

  1. fetch_asset_sentiment (io.kestra.plugin.adanos.GetAssetSentiment) calls the Adanos Market Sentiment API for asset_symbol from sentiment_source, with allowFailure: true so a connection or authentication failure still lets the flow continue instead of aborting.
  2. classify_sentiment_drift (io.kestra.plugin.core.debug.Return) checks whether outputs.fetch_asset_sentiment.body is defined; if not, UNREACHABLE. Otherwise it compares body.sentiment_score directly against bearish_sentiment_threshold and bullish_sentiment_threshold and returns BEARISH_RISK, BULLISH_SPIKE, or NORMAL.
  3. route_by_drift (io.kestra.plugin.core.flow.Switch) branches on that string: NORMAL logs a quiet confirmation, BEARISH_RISK and BULLISH_SPIKE each page Slack with the score, buzz, and mention count, UNREACHABLE pages Slack separately, and defaults logs the raw outcome.
  4. log_audit_status records a status line on every run regardless of branch, so the execution history is a continuous sentiment trend.
  5. The errors block pages Slack separately if the flow itself fails outright.
  6. The adanos_sentiment_drift_schedule trigger polls every 4 hours with explicit input overrides, shipped disabled: true until you add a real API key.

What you get

  • A scheduled, API-native sentiment drift check with zero custom client code.
  • A four-way status output (NORMAL / BEARISH_RISK / BULLISH_SPIKE / UNREACHABLE) you can chart or gate other flows on.
  • A Slack page carrying the exact sentiment score, buzz score, and mention count behind an extreme reading.
  • A separate failure channel for the sentinel flow itself, plus a standing audit log line per run.

Who it's for

  • Trading desks and research teams who want an orchestrator-side alert when public sentiment around a tracked asset moves to an extreme, without polling a dashboard.
  • Compliance and risk teams building a lightweight sentiment-drift paper trail alongside other market-risk checks.

Why orchestrate this with Kestra

A dashboard shows sentiment when someone looks at it; this flow watches it continuously. Every check is recorded in the execution history, the result becomes a typed output other flows can depend on, and the Switch branch is one edit away from real remediation (pausing an automated strategy, opening a ticket, notifying a trading desk) instead of a one-off script.

Prerequisites

  • A free Adanos API key, created at adanos.org/register. The four core sentiment tasks, including GetAssetSentiment, are available on the free plan; see adanos.org/pricing for current request quotas.
  • A Slack incoming webhook for the drift and unreachable alerts.
  • Adanos is a hosted read-only API, not a self-hostable service, so there is no Docker image to run locally for this blueprint; test it directly against the live free-tier API with a real ADANOS_API_KEY.

Secrets

  • ADANOS_API_KEY: Adanos API key, sent only in the X-API-Key header.
  • SLACK_WEBHOOK_URL: Slack incoming webhook used for the drift alerts, the unreachable alert, and the flow-failure alert.
  • OSS note: if your Kestra instance reads secrets from environment variables instead of a secrets backend, set SECRET_ADANOS_API_KEY and SECRET_SLACK_WEBHOOK_URL as base64, for example echo -n "<your-api-key>" | base64 and echo -n "<your-webhook-url>" | base64.

Quick start

  1. Add the ADANOS_API_KEY and SLACK_WEBHOOK_URL secrets.
  2. Set asset_symbol, asset_type, and sentiment_source to the asset you want to track.
  3. Run the flow once and confirm status reads NORMAL, BEARISH_RISK, or BULLISH_SPIKE depending on live sentiment.
  4. Enable adanos_sentiment_drift_schedule.

How to extend

  • Loop over a list of symbols with a Loop task to monitor a whole watchlist from one flow.
  • Store sentiment_score in a KV store or time-series table and alert only on a sharp change between runs instead of an absolute threshold.
  • Add ListTrendingAssets or CompareAssets as a companion task to contextualize one asset's score against the broader market.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.