MCPcopy
hub / github.com/actionsflow/actionsflow

github.com/actionsflow/actionsflow @v1.12.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.12.2 ↗
260 symbols 677 edges 123 files 0 documented · 0%
README

Project logo

Actionsflow

Actionsflow npm version npm Docker Pulls Build codecov GitHub Issues GitHub Pull Requests GitHub stars License


The free IFTTT/Zapier alternative for developers to automate their workflows based on GitHub actions, option to run self-hosted without GitHub as well

Sponsorships

  <img src="https://raw.githubusercontent.com/actionsflow/actionsflow/main/docs/assets/meercode-logo.png" width="192" alt="Meercode">



  <b>Meercode is the ultimate monitoring dashboard for your GitHub Actions.</b>



    <sup>It's impossible to improve what you can't measure! Get Real Insights and Metrics From Your CI usage</sup>


📝 Table of Contents

😁 About

Actionsflow helps you automate workflows - it's a free IFTTT/Zapier 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 to build your workflows. The configuration format is the same as Github actions, which makes it easy for you to get going if you've explored Github actions before. You can also use any Github actions as your job's steps.

You can learn more about the core concepts of Actionsflow here.

If you want a lighter, simpler workflow that doesn't rely on Github Actions, consider Denoflow, another workflow tool made by me, based on Deno with YAML , you can try it at an online playground

🔥 Features

🎓 Documentation

Full documentation for Actionsflow lives on the website.

You can also view it on Github if you prefer.

👀 How Actionsflow works

Actionsflow uses Github Actions' repository_dispatch event and scheduled event every 5 minutes to run Actionsflow triggers. Those triggers generate result items, which are cached and deduplicated, generating a standard Github actions workflow file with the trigger result. Finally, the workflows are executed using act (a tool for running GitHub Actions locally).

To learn more about how Actionsflow works, please see Core Concepts of Actionsflow.

🏁 Getting Started

For self-hosted version please see here

  1. Create a public Github repository by using this link.

A typical Actionsflow repository structure looks like this:

sh ├── .github │ └── workflows │ └── actionsflow.yml ├── .gitignore ├── README.md └── workflows │ └── rss.yml │ └── webhook.yml └── package.json

  1. Uncomment .github/workflows/actionsflow.yml schedule event

yml on: 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 see here

  1. Create your workflow files inside the workflows directory

A typical workflow file rss.yml looks like this:

yaml on: rss: url: https://hnrss.org/newest?points=300&count=3 jobs: request: name: Make a HTTP Request runs-on: ubuntu-latest steps: - name: Make a HTTP Request uses: actionsflow/axios@v1 with: url: https://hookb.in/VGPzxoWbdjtE22bwznzE method: POST body: | { "link":"${{ on.rss.outputs.link }}", "title": "${{ on.rss.outputs.title }}", "content":"<<<${{ on.rss.outputs.contentSnippet }}>>>" }

For more information about the Actionsflow workflow file, see the Actionsflow workflow reference.

You can find examples and inspiration on the Trigger List and on Awesome Actionsflow Workflows.

  1. 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 on Github.

For more information about getting up and running, 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.

Extension points exported contracts — how you extend this code

ITriggerClassType (Interface)
(no doc) [31 implementers]
packages/actionsflow-core/src/interface.ts
IRunAct (Interface)
(no doc)
packages/actionsflow/src/act.ts
IScheduler (Interface)
(no doc)
packages/actionsflow-core/src/schedule.ts
IBuildOptions (Interface)
(no doc)
packages/actionsflow/src/build.ts
IGeneralTriggerOptions (Interface)
(no doc)
packages/actionsflow-core/src/trigger.ts
IPromiseFunc (Interface)
(no doc)
packages/actionsflow/src/utils/promise-serial.ts
IGeneralTriggerDefaultOptions (Interface)
(no doc)
packages/actionsflow-core/src/trigger.ts
IRunAfterFn (Interface)
(no doc)
packages/actionsflow/src/utils/run-after.ts

Core symbols most depended-on inside this repo

getContext
called by 40
packages/actionsflow-core/src/context.ts
run
called by 39
packages/actionsflow-core/src/interface.ts
getWorkflow
called by 36
packages/actionsflow-core/src/workflow.ts
getTriggerConstructorParams
called by 30
packages/actionsflow-core/src/trigger.ts
get
called by 21
packages/actionsflow-core/src/helpers/cache.ts
reset
called by 19
packages/actionsflow-core/src/helpers/cache.ts
formatRequest
called by 18
packages/actionsflow-core/src/event.ts
getItemKey
called by 16
packages/actionsflow/src/triggers/rss.ts

Shape

Function 93
Method 71
Class 50
Interface 46

Languages

TypeScript100%

Modules by API surface

packages/actionsflow-core/src/interface.ts31 symbols
packages/actionsflow-core/src/workflow.ts14 symbols
packages/actionsflow-core/src/helpers/cache.ts12 symbols
packages/actionsflow-trigger-twitter/src/index.ts9 symbols
packages/actionsflow-core/src/utils/template.ts9 symbols
packages/actionsflow-core/src/trigger.ts9 symbols
packages/actionsflow/src/triggers/graphql.ts8 symbols
packages/actionsflow-trigger-reddit/src/index.ts8 symbols
packages/actionsflow/src/triggers/email.ts7 symbols
packages/actionsflow-trigger-instagram/src/index.ts7 symbols
packages/actionsflow/src/triggers/script.ts6 symbols
packages/actionsflow-trigger-youtube/src/index.ts6 symbols

Dependencies from manifests, versioned

@actions/github4.0.0 · 1×
@actionsflow/trigger-aws_sns1.10.0 · 1×
@actionsflow/trigger-google_form1.10.0 · 1×
@actionsflow/trigger-instagram1.2.0 · 1×
@actionsflow/trigger-npm1.10.0 · 1×
@actionsflow/trigger-reddit1.10.0 · 1×
@actionsflow/trigger-slack1.10.0 · 1×
@actionsflow/trigger-telegram_bot1.10.0 · 1×
@actionsflow/trigger-trello1.10.0 · 1×
@actionsflow/trigger-twitter1.10.0 · 1×
@actionsflow/trigger-typeform1.10.0 · 1×
@actionsflow/trigger-weather1.10.0 · 1×

For agents

$ claude mcp add actionsflow \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact