Skip to content
This repository was archived by the owner on Jun 5, 2023. It is now read-only.

Repository files navigation

The function examples here are outdated and do not apply to flows.netwrok. Please check out https://github.com/flows-network/awesome-flow-functions

Functions in Rust and JavaScript for flows.network

badge

Introduction

This repo consists of many functions to automate your workflows across multiple SaaS with the flows.network platform.

Since flows.network is programmable, you could write code to transform data between two SaaS based on your business needs as a developer.

The flow functions could be written in Rust and JavaScript.

Usage

Please refer to our Get Started guide to automating workflows with the functions.

The following table shows the usage of each package. Remember to select the corresponding inbound and outbound connectors on the flows.network platform.

Package NameInboundOutboundDescription
image-rotatorCloudinarySlackReturns the URL of the image rotated by 90 degrees when a file is uploaded to the Cloudinary
discord-welcomeDiscordDiscordSend a welcome message when new member joined
discord-pingDiscordDiscordReply PONG to /ping message
anti-invite-linkDiscordDiscordBan a user when their messages contains invite link
getting-startedGitHubSlackSend a message to Slack when new comments are added to GitHub issues
branch-tag-createdGitHubSlackSend a message to Slack when a Git branch or tag is created
branch-tag-deletedGitHubSlackSend a message to Slack when a Git branch or tag is deleted
commit-syncerGitHubSlackSend a message to Slack when a GitHub commit is pushed
commit-comment-notifierGitHubSlackSend a message to Slack when a commit comment is created
discussion-notifierGitHubSlackSend a message to Slack when a discussion is created, edited, deleted, pinned, unpinned, locked, unlocked, transferred, category_changed, answered, unanswered, labeled, or unlabeled
discussion-comment-notifierGitHubSlackSend a message to Slack when a comment in a dicussion is created, edited, or deleted
fork-notifierGitHubSlackSend a message to Slack when a user forks a repository
issue-notifierGitHubSlackSend a message to Slack when a GitHub issue is opened, edited, or assigned
issue-review-notifierGitHubGitHubAssign an issue to a specified team member when an issue is created or comment on the issue to remind the creator in case of non-compliance with issue titling convention
issue-pr-naive-botGitHubGitHubA multi-purpose script that performs different tasks when deployed on certain inbound/outbound pairs. i.e. it assigns labels, assignees, makes comment when a GitHub issue is created, or a pull request is created
full-pr-review-botGitHubGitHubRequest a specific pull request reviewer when the title meets requirements, otherwise send a comment prompt
pr-reviewerGitHubGitHubAutomatically merge pull requests when 3 approval are reached
dco-checkerGitHubGitHubCheck that every commit in a pull request is dco signed, and leave a comment to remind
label-notifierGitHubSlackSend a message to Slack when a label is created, edited, or deleted
pr-messengerGitHubSlackSend a message to Slack when an activity related to a pull request was performed. Can be one of: assigned, auto_merge_disabled, auto_merge_enabled, closed, converted_to_draft, edited, labeled, locked, opened, ready_for_review, reopened, review_request_removed, review_requested, synchronize,unassigned, unlabeled, unlocked
pr-review-notifierGitHubSlackSend a message to Slack when a pull request review is submitted, edited, or dismissed
pr-review-comment-notifierGitHubSlackSend a message to Slack when a pull request review comment is created, edited, or deleted
release-notifierGitHubSlackSend a message to Slack when a release is published, unpublished, created, edited, deleted, prereleased, or released
repository-notifierGitHubSlackSend a message to Slack when a repository is created, deleted, archived, unarchived, edited, renamed, transferred, publicized, or privatized
slack-star-messengerGitHubSlackSend a message to Slack when the GitHub repo gets every 10 stars
workflow-job-notifierGitHubSlackSend a message to Slack when a GitHub Actions workflow job has been queued, is in progress, or has been completed
star-thanks-by-gmailGitHubGmailSend thank you message via Gmail when GitHub repo gets star
star-thanks-by-sendgridGitHubSendgridSend thank you message via Sendgrid when GitHub repo gets star
star-send-questionGitHubSendgridSend question message via Sendgrid when GitHub repo gets star
pr-thanks-by-sendgridGitHubSendgridSend thank you message via Sendgrid when GitHub repo gets pull request
label-issue-discordGitHubDiscordSend a message to Discord when with a label
twilio-star-messengerGitHubTwilioSend thank you message via Twilio(or Slack) when GitHub repo gets star
calculatorSlackSlcakCompute the expressions on the Slack
lucky-drawSlackSlcakSimply type "lucky draw" in a Slack channel to do the trick
uploadSlackCloudinaryUpload a file from Slack to Cloudinary
assign-notifierGitHubNotionCreate a task on Notion when the GitHub issue is assigned
jira-pr-status-updatorGitHubJiraSynchronize the PR state of GitHub to Jira (or Monday)
sync-pr-to-jiraGitHubJiraCreate an issue on Jira when the PR is created on GitHub
monday-pr-status-updatorGitHubMondaySynchronize the PR state of GitHub to Jira (or Monday)
comment-notifierJiraSlackSend message to Slack when a comment is changed on GitHub
group-bad-messageTelegramTelegramBan a user when their messages contains shit
group-link-limitTelegramTelegramWarning a user when their messages contains link secondstate.io
group-member-changeTelegramTelegramSend a message when group member changed
telegram-pingTelegramTelegramReply PONG to /ping message

Build for Rust functions

  • Install WASM target if you not

    rustup target add wasm32-wasi
  • Build package

    cargo build -p <package-name> --target wasm32-wasi --release # Build specified package
    cargo build --workspace --target wasm32-wasi --release # Build all packages

Contributions

flows.network is driven by the community. You are welcome to contribute and share your functions with the community. So don't hesitate to create a PR when you have some ideas to share.

Used by

Contributors

Languages