Skip to content
Notis

Close the CI Loop With VirusTotal

When CI finishes, get security context without opening another tab or remembering another task.

Trigger

GitHub Workflow Run State Changed

Triggers when a GitHub Actions workflow run's status or conclusion changes. Monitors a single workflow run and fires an event whenever it transitions between states (e.g., queued to in_progress, or in_progress to completed) or when its conclusion is set (e.g., success, failure, cancelled).

Action

Get File Report

Tool to retrieve the analysis report of a file. use when you have a file's hash and need detailed scan metadata.

Why this helps

Workflow completion is often the handoff point where artifact review gets dropped.

  • Makes CI completion produce a useful security summary.
  • Reduces the number of dashboards to revisit.
  • Helps prioritize follow-up while build context is fresh.

Setup

Build it in a few focused steps.

  • 1Connect GitHub and VirusTotal to Notis once through the portal.
  • 2Create an automation in the portal or ask Notis in plain language.
  • 3Use this instruction: “When the GitHub Actions workflow run changes state, retrieve VirusTotal reports for its relevant outputs and summarize required follow-up.”
  • 4Select the workflow-run-state trigger and choose the run-report channel.
  • 5Test with one completed workflow run.

Questions about this workflow

Can I focus on completed runs?

Configure the trigger and instruction around the workflow conclusion you care about.

What should the report contain?

Ask for detections, reputation, affected output, and the next action.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link GitHub to Virustotal. A trigger fires from one place; an action lands in another.

GitHub triggers

Virustotal actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Add VirusTotal Comment

Tool to add a comment to a virustotal resource (file, url, domain, or ip address). use after analyzing a resource to leave contextual feedback. provide exactly one identifier per call.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Add Vote

Tool to add a vote (harmless/malicious) to a virustotal resource. use after reviewing analysis results to submit your verdict.

ActionInstant

New Workflow Artifact Created

Triggers when a new workflow artifact is created in a GitHub repository. Monitors for newly created GitHub Actions workflow artifacts. Optionally filters by artifact name to restrict monitoring to specific artifacts.

TriggerPolling

Get Analysis Report

Tool to retrieve the analysis report of a file or url submission. use after obtaining an analysis id to fetch its detailed report.

ActionInstant

Branch Changed

Triggers when a GitHub branch changes. Monitors a specific branch for: - New commits pushed (head commit SHA changes) - Protection status toggled (branch becomes protected or unprotected) - Protection settings changed, including: required status checks and their enforcement level, admin enforcement, required pull request reviews (dismiss stale reviews, code owner reviews, approving review count, last push approval), required linear history, force push allowance, deletion allowance, conversation resolution, branch locking, and fork syncing.

TriggerPolling

Get comments

Tool to retrieve the latest comments on a virustotal resource. use when you need to review user-generated comments for a file, url, domain, or ip after obtaining its identifier.

ActionInstant

New Branch Created

Triggers when a new branch is created in a GitHub repository. Detects newly created branches. Deleted branches do not fire events.

TriggerPolling

Get Domain Relationships

Tool to retrieve relationship objects for a given domain. use when you have a domain and need to explore its related entities.

ActionInstant

Check Run Status / Conclusion Changed

Triggers when a specific GitHub check run changes its status or conclusion. Monitors a single check run for changes to: status (queued, in_progress, completed, etc.), conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required), started_at, and completed_at.

TriggerPolling

Get Domain Report

Tool to retrieve the analysis report of a domain. use when you need detailed insight on a domain's reputation and analysis stats.

ActionInstant

Check Suite Status / Conclusion Changed

Triggers when a GitHub check suite changes its status or conclusion for a given ref. Monitors all check suites associated with a git reference (branch, tag, or commit SHA) for changes to status (queued, in_progress, completed, etc.) and conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required, startup_failure, stale). Optionally filters by GitHub App ID.

TriggerPolling

Get File Report

Tool to retrieve the analysis report of a file. use when you have a file's hash and need detailed scan metadata.

ActionInstant

New Code Scanning Alert Created

Triggers when a new code scanning alert is created in a repository. Fires an event for each newly created code scanning alert detected in the configured repository. Alerts can be filtered by Git reference, scanning tool, state, and severity. The payload includes the alert number, rule details, tool information, state, severity, and the location of the most recent instance.

TriggerPolling

Get IP Address Relationships

Tool to retrieve objects related to a specific ip address by relationship type. use when you have an ip and need to explore connected files, urls, or other entities.

ActionInstant

Connect any two apps with Notis in the middle.

GitHub and Virustotal, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Virustotal.