Skip to content
Notis

Clean duplicate entries from an Ably presence roster

Turn a supplied roster into a cleaner working file using the member key you choose.

Trigger

Webhook received

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

Action

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

Why this helps

Duplicate presence rows make counts and follow-up lists less reliable, especially when exports are assembled from multiple sources.

  • Remove duplicate rows by a specified key.
  • Keep a cleaned copy in the sandbox.
  • Make counts more reliable for follow-up analysis.

Setup

Build it in a few focused steps.

  • 1Connect Ably and Codeinterpreter once in the Notis portal.
  • 2Create an automation in the portal or tell Notis in plain language from any channel.
  • 3Describe the roster source, the unique member key, and how to save the cleaned copy.
  • 4Choose notis_webhook as the trigger and select where run reports should go.
  • 5Test with one sample that includes a known duplicate.

Questions about this workflow

How does the workflow identify duplicates?

Tell it which field or combination of fields defines a unique member. It should not guess the key.

Does it edit Ably presence data?

This workflow cleans an accessible roster file in the sandbox. It does not change live Ably presence.

Can the original file be preserved?

Instruct the code to save a cleaned copy under a different name so the source remains available.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Ably triggers

Codeinterpreter actions

Recurring trigger

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

TriggerScheduled

Create Sandbox

Create a sandbox to execute python code in a jupyter notebook cell. this is useful for agents to communicate, execute code, see output, read files, write files, etc. it's like you own personal computer, but in the cloud. use /home/user folder to write/read files.

ActionInstant

Webhook trigger

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

TriggerInstant

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

ActionInstant

Get File

Get a file from the sandbox and returns the file. the files should be read from /home/user folder.

ActionInstant

Run Terminal Command

Run a command in the terminal and returns the stdout, stderr, and error code. use /home/user folder to write/read files.

ActionInstant

Upload File

Upload a file to the sandbox environment. the files should be uploaded to the /home/user folder.

ActionInstant

Connect any two apps with Notis in the middle.

Ably and Codeinterpreter, 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 Codeinterpreter.