Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork140
The free Zapier/IFTTT alternative for developers to automate your workflows based on Github actions
License
actionsflow/actionsflow
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The freeIFTTT/Zapier alternative for developers to automate their workflows based on GitHub actions, option to run self-hosted without GitHub as well
Actionsflow helps you automate workflows - it's a freeIFTTT/Zapier alternative for developers. WithActionsflow 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 onGithub actions, and you use a YAML file to build your workflows. The configuration format is the same asGithub actions, which makes it easy for you to get going if you've explored Github actions before. You can also use anyGithub actions as your job's steps.
You can learn more about the core concepts of Actionsflowhere.
If you want a lighter, simpler workflow that doesn't rely on Github Actions, considerDenoflow, another workflow tool made by me, based on Deno with YAML , you can try it at anonline playground
- Totally Free! Actionsflow is based onGithub actions. To run an Actionsflow workflow, all you need to do iscreate a repository from the Actionsflow template repository, or, you can alsodeploy a self-hosted version.
- Leverage Community Triggers. You can usecommunity-provided triggers like Slack, RSS, Webhook, Typeform, Email, Reddit, NPM, Telegram, Twitter, etc. You can also easilycreate your own triggers.
- Support Almost ALL Actions ofGithub Actions. Actionsflow usesact (a tool for running GitHub Actions locally) to run the jobs on your workflow file. Withthese awesome Github actions, you can connect with IFTTT, Zapier, or other services like Slack, Telegram, Facebook, Twitter, Line, etc.
- Support Self-Hosted You can run Actionsflow based on both GitHub Repository ora self-hosted version.
- Simple Workflow Configuration. The Actionsflow configuration format is the same asGithub actions. If you've written aGithub actions file before, you'll find defining an Actionsflow workflow file really easy.
- Run triggers every 5 minutes. The workflow can check and run every 5 minutes based onGithub actions scheduled events.
- Support complex workflows. With Actionsflow you can make complex advanced workflows. Actionsflow provides aMongoDB query language for you to filter your data as you want.
Full documentation for Actionsflow liveson the website.
You can alsoview it on Github if you prefer.
Actionsflow usesGithub Actions'repository_dispatch
event andscheduled
event every 5 minutes to runActionsflow triggers. Those triggers generate resultitems, which are cached and deduplicated, generating a standard Github actions workflow file with the trigger result. Finally, the workflows are executed usingact (a tool for running GitHub Actions locally).
To learn more about how Actionsflow works, please seeCore Concepts of Actionsflow.
For self-hosted version please seehere
Create a public Github repository by usingthis link.
A typical Actionsflow repository structure looks like this:
├── .github│ └── workflows│ └── actionsflow.yml├── .gitignore├── README.md└── workflows│ └── rss.yml│ └── webhook.yml└── package.json
Uncomment
.github/workflows/actionsflow.yml
schedule eventon:schedule: -cron:"*/15 * * * *"
Note: To prevent abuse, by default, the schedule is commented, please modify the schedule time according to your own needs, the default is once every 15 minutes. Learn more about schedule event, please seehere
Create yourworkflow files inside the
workflows
directoryA typical workflow file
rss.yml
looks like this:on:rss:url:https://hnrss.org/newest?points=300&count=3jobs:request:name:Make a HTTP Requestruns-on:ubuntu-lateststeps: -name:Make a HTTP Requestuses:actionsflow/axios@v1with:url:https://hookb.in/VGPzxoWbdjtE22bwznzEmethod:POSTbody:| { "link":"${{ on.rss.outputs.link }}", "title": "${{ on.rss.outputs.title }}", "content":"<<<${{ on.rss.outputs.contentSnippet }}>>>" }
For more information about the Actionsflow workflow file, see theActionsflow workflow reference.
You can find examples and inspiration on theTrigger List and onAwesome Actionsflow Workflows.
Commit and push your updates to Github
Pushing to Github makes Actionsflow run the workflows you defined. You can view logs at your repository's actions tab onGithub.
For more information about getting up and running, seeGetting Started.
Full documentation for Actionsflow liveson the website.
- Workflow Syntax for Actionsflow - Learn more about the Actionsflow workflow file syntax
- Trigger List - Explore Actionsflow triggers
- Awesome Actionsflow Workflows - Explore and get inspired by other Actionsflow workflow use-cases
- Core Concepts - Learn more about how Actionsflow works
- Creating Triggers for Actionsflow - Learn more about how to create your own trigger for Actionsflow
- FAQs - Actionsflow FAQs
- Join Actionsflow on Slack - Chat with other users and contributors on Slack, if you have already joined, pleasesignin directly
- Join Actionsflow on Telegram - Chat with other users and contributors on Telegram
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 ourContributing Guide for ideas on contributing and setup steps for getting our repositories up and running on your local machine.
- @theowenyoung - Idea & Initial work
See also the list ofcontributors who participated in this project.
Licensed under theMIT License.
About
The free Zapier/IFTTT alternative for developers to automate your workflows based on Github actions
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Contributors9
Uh oh!
There was an error while loading.Please reload this page.