Automatisch

repository·main·Indexed 12 days ago

https://github.com/automatisch/automatisch

An open-source business automation tool and Zapier alternative that allows users to connect services like Slack and Twitter to automate workflows without programming knowledge. Available in Community Edition (AGPL-3.0) and Enterprise Edition.

Tokens
274.1K
Snippets
763
Records
1K
Agent score
95%

What's inside Automatisch

  1. What is Automatisch?

    main

    Automatisch is an open-source business automation tool designed as an alternative to Zapier. It allows users to connect various services (such as Twitter and Slack) to automate business processes without requiring programming knowledge.

    Key features include:

    • Self-hosting: You can store your data on your own servers, which is critical for GDPR compliance and handling sensitive information in industries like healthcare and finance.
    • Open Source: The project is open-source, allowing for community contributions.
    • No Vendor Lock-in: Since you own the data and the infrastructure, you maintain full flexibility over your automation stack.
  2. Available Formatter Action Categories

    main

    The Formatter app provides several categories of actions to transform data within your workflows:

    • Text: Transform text data to capitalize, extract emails, apply default values, and more.
    • Numbers: Transform numbers to perform math operations, generate random numbers, format numbers, and more.
    • Date / Time: Perform date and time related transformations on your data.
  3. How Automatisch workflows work

    main

    Automatisch automates workflows by integrating different services through a series of steps.

    Workflow Lifecycle:

    • Setup: You define a workflow once (e.g., "Search for tweets with keyword X" $\rightarrow$ "Post to Slack channel Y").
    • Execution: Once started, workflows run continuously.
    • Intervals: Currently, workflows run at 15-minute intervals. Future updates aim to support instant updates (webhooks) where supported by the third-party service.
    • Termination: A workflow runs until it is manually stopped or the connected account is unlinked.
  4. Use common and dynamic-data folders for app logic

    main

    To keep your integration organized, use these specialized folders:

    • common: Use this folder for utilities or shared functionality that is used across multiple parts of the app (e.g., shared by both auth and actions).
    • dynamic-data: Use this folder for data fetching logic required by the Automatisch user interface to set up triggers or actions. For example, if a user needs to select a specific repository from a list fetched from GitHub to configure a trigger, that fetching logic belongs here.
  5. Understand the core concepts of Automatisch

    main

    Automatisch is built around four primary abstractions that work together to create automated workflows:

    1. Apps: Third-party services (e.g., Twitter, GitHub, Slack) that Automatisch connects to.
    2. Connections: The authentication layer for an App. A Connection holds the credentials (like consumer keys or secrets) required to act on your behalf within a specific service. You can have multiple connections for the same app if you use multiple accounts.
    3. Flows: The high-level business workflow. A Flow is a sequence of connected steps that defines an automated process.
    4. Steps: The individual building blocks within a Flow. Steps are categorized into two types:
      • Trigger steps: The starting point of a Flow. They detect an event (e.g., "search tweets") to initiate the workflow.
      • Action steps: Subsequent steps that perform tasks using data from previous steps (e.g., "send a message to channel").
  6. Understand Automatisch licensing and file types

    main

    Automatisch is distributed under two different licenses depending on the file type. The repository is unified, but you must distinguish between Community Edition (CE) and Enterprise Edition (EE) files to ensure compliance with the correct license:

    • Automatisch Community Edition (CE): Open-source software licensed under AGPL-3.0. This applies to all files that do not contain .ee. in their name.
    • Automatisch Enterprise Edition (EE): A commercial offering under the Enterprise license. This applies to all files that contain .ee. in their filename.

    Always refer to the main LICENSE file in the repository for full legal details.

  7. Understand what data Automatisch telemetry collects

    main

    Automatisch collects anonymous usage and diagnostic data. The following data points are collected:

    Usage Data

    • Flow, step, and connection data (without credentials).
    • Execution and execution steps data (without payloads or identifiable information).
    • Organization and instance IDs (randomly assigned IDs used to evaluate instance and organization counts).

    Diagnostic Information

    • Automatisch version
    • Service type (main service or worker service)
    • Operating system type and version
    • CPU and memory information

    Note: Diagnostic information is collected every six hours, while usage data is collected via events triggered by custom user actions.

  8. Implement Triggers and Actions

    main

    Automatisch flows are composed of triggers and actions:

    • Triggers: Located in the triggers folder, these are the starting points of a flow. They fetch data from a third-party service and pass it to subsequent steps.
    • Actions: Located in the actions folder, these are the steps that follow a trigger. They receive data from previous steps and perform operations with that data (e.g., sending a message to Slack after a GitHub issue is created).