Actionsflow
The best IFTTT/Zapier free alternative for developers to automate your workflows based on Github actions
📝 Table of Contents
😁 About
Actionsflow helps you to automate workflows, it's the best IFTTT/Zapier free alternative for developers. With Actionsflow, you can connect your favorite apps, data, and APIs, receive notifications of actions as they occur, sync files, collect data, and more. We implemented it based on Github actions, and you use a YAML file (The configuration format is the same as Github actions) to build your workflows. If you have already written a Github actions file, it's very easy to define an Actionsflow workflow file, and you can use any Github actions as your job's steps.
You can see core concepts of Actionsflow at here.
🔥 Features
- Totally Free! Actionsflow based on Github actions. To run an Actionsflow workflow, you just need to create a repository from Actionsflow template repository.
- support almost all actions of github, you can use almost all Github actions. Actionsflow use act for running Github actions. With Github actions, You can connect with IFTTT, Zapier, or the other services.
- Easy to write workflow file, the Actionsflow configuration format is the same as Github actions, If you have already written a Github actions file, it's very easy to define an Actionsflow workflow file,
- Run a trigger every 5 minutes. The workflow can check and run every 5 minutes based on Github actions scheduled events
- Support complex workflows. With Actionsflow, you can make complex advanced workflows. Actionsflow providers a MongoDB query language for you to filter your data as you want.
🎓 Document
Full documentation for Actionsflow lives on the website.
You can also view it at Github if you prefer.
If you need actionsflow
npm package docs, please see here
👀 How Actionsflow worked
Actionsflow uses Github Actions' repository_dispatch
event and per 5 minutes' scheduled
event to run Actionsflow triggers for getting result items, and do some caching and deduplication works, then generating a standard Github actions workflow file with the trigger result, then calling act(a tool for running GitHub Actions locally) to run the built workflow files.
Learn more about How Actionsflow worked, please see Core Concepts of Actionsflow.
🏁 Getting Started
Build an Actionsflow workflow is a three-step process:
-
Create a public Github repository by this link.
A typical Actionsflow repository structure looks like this:
├── .github
│ └── workflows
│ └── actionsflow-jobs.yml
├── .gitignore
├── README.md
└── workflows
│ └── rss.yml
│ └── webhook.yml
└── package.json
-
Define your workflow file at workflows
directory
A typical workflow file rss.yml
looks like this:
on:
rss:
url: https://hnrss.org/newest?points=300
jobs:
ifttt:
name: Make a Request to IFTTT
runs-on: ubuntu-latest
steps:
- uses: actionsflow/ifttt-webhook-action@v1
with:
event: notice
key: ${{ secrets.IFTTT_KEY }}
value1: ${{on.rss.outputs.title}}
value2: ${{on.rss.outputs.contentSnippet}}
value3: ${{on.rss.outputs.link}}
For more information about the Actionsflow workflow file, see the
Actionsflow workflow reference.
You can explore Triggers List or Workflows by Use Case to get more inspired.
-
commit and push your updates to Github
Then, Actionsflow will run your workflows as you defined, you can view logs at your repository actions tab at Github
For more information about quick started, see Getting Started
🎓 Learn More
Full documentation for Actionsflow lives on the website.
👏 How to Contribute
Whether you're helping us fix bugs, improve the docs, or spread the word, we'd love to have you as part of the Actionsflow community! 💪💜
Check out our Contributing Guide for ideas on contributing and setup steps for getting our repositories up and running on your local machine.
✋ Authors
See also the list of contributors who participated in this project.
📝 License
Licensed under the MIT License.