Skip to content
Notis

Find duplicate publications before deleting anything

A duplicate audit turns a vague feeling of repetition into a reviewable list of source-linked posts.

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

List Posts

List X posts created through Post for Me.

Why this helps

Retries and parallel release work can create multiple posts for one engineering event.

  • Uses canonical source IDs.
  • Flags duplicates for human review.
  • Does not delete or alter posts.

Setup

Build it in a few focused steps.

  • 1Connect GitHub and X.
  • 2Create a plain-language duplicate audit for workflow runs.
  • 3Select the workflow-run trigger and provide source ID, account, and time window.
  • 4Choose a report channel and test with a known retry.

Questions about this workflow

Does it delete duplicates?

No. It produces a review queue only.

What identifies a duplicate?

The source identifiers and returned post records you supply.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

GitHub triggers

X actions

Recurring trigger

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

TriggerScheduled

Publish Post

Create and publish (or schedule) a post to X through Post for Me. Set 'scheduled_at' to schedule for later, otherwise it publishes immediately.

ActionInstant

Webhook trigger

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

TriggerInstant

Update Post

Update a scheduled or draft X post in Post for Me.

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

Delete Post

Delete a X post from Post for Me.

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 Post

Retrieve a single X post and its status from Post for Me.

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

List Posts

List X posts created through Post for Me.

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

List Connected Accounts

List the connected X accounts available in Post for Me.

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

Create Media Upload URL

Get a pre-signed URL to upload a media file, then attach the returned media_url to a X post.

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

Connect any two apps with Notis in the middle.

GitHub and X, 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 X.