greentic

Greentic.AI Logo

Greentic.AI 🚀


Build armies of digital workers: fast, secure, and extendable. Automate anything using Wasm tools, channels, agents, and flows.

Now with: intelligent agents and processes!


Telegram Weather Bot

Greentic.ai is now at version 0.2.0, offering a growing store with free flows, plugins, and tools to get you started. You can easily build your own flows, tools, and plugins, including those that connect to APIs without requiring authentication or API keys. Support for OAuth integrations is coming in v0.3.0, and full Cloud deployment will be available in v0.4.0.

Looking ahead, the vision for v1.0.0 is ambitious: imagine simply messaging via WhatsApp, Teams, Slack, or Telegram to request a digital worker—Greentic.ai will create it automatically based on your request, just like ChatGPT.

Discover how Greentic.ai enables revenue oppotunities for partners and be part of the future of intelligent automation.


📋 Table of Contents

  1. Introduction
  2. What is a Digital Worker?
  3. Key Concepts
  4. Getting Started
  5. Quick Flow Example (YAML)
  6. Controlling Flows, Channels & Tools
  7. Coming Soon
  8. Need Custom Agentic Automation?
  9. Contributing
  10. License

📝 Introduction

Greentic.AI is an open-source platform designed to let you build, deploy, and manage digital workers at lightning speed.


🤖 What is a Digital Worker?

A Digital Worker is a flow that acts autonomously and intelligently to handle a complete task, from end to end.

It:

Flows link these components into one cohesive automation. Your digital workers are secure, modular, and language-agnostic.


🔑 Key Concepts

Tools (MCP in Wasm)

👉 Learn how to build MCP Tools

Channels

👉 How to build Channel Plugins

Processes

👉 Learn more about Processes

Agents

👉 Learn more about Agents


🦀 Prerequisites: Install Rust

To build and run this project, you need to have Rust installed.

If you don’t have Rust yet, the easiest way is via rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

🚀 Getting Started: Install Greentic

Install Greentic.AI via:

cargo install greentic

🔧 Initialise your environment

The first time you use Greentic, run:

greentic init

This will:


🌦️ Example: Telegram Weather Bot

Pull your first flow: (greentic init does this for you already)

greentic flow pull weather_bot_telegram.ygtc

Then:

  1. Create and configure a Telegram bot, and add your token:

    greentic secret add TELEGRAM_TOKEN <your_token>
    
  2. Sign up to WeatherAPI and add your free API key:

    greentic secret add WEATHERAPI_KEY <your_key>
    
  3. (Optional) To enable AI-powered queries like “What’s the weather in London tomorrow?”:


▶️ Run the bot

greentic run

You should now have a fully working Telegram Weather Bot.


🛠️ Creating Your Own Flows

To deploy your own flows:

greentic flow deploy <file>.ygtc

To start a flow:

greentic flow start <flow_id>

🛠 Quick Flow Example (YAML)

id: weather_bot
title: Get your weather prediction
description: >
  This flow shows how you can combine either a fixed question and answer process
  with an AI fallback if the user is not answering the questions correctly.
channels:
  - telegram  
nodes:
  # 1) Messages come in via Telegram
  telegram_in:
    channel: telegram
    in: true

   # 2) QA node: ask for the city and fallback to the OllamaAgent if more than 3 words are used
  extract_city:
    qa:
      welcome_template: "Hi there! Let's get your weather forecast."
      questions:
        - id: q_location
          prompt: "👉 What location would you like a forecast for?"
          answer_type: text
          state_key: q
          max_words: 3
      fallback_agent:
        type: ollama
        model: gemma:instruct
        task: |
          The user wants the weather forecast. Find out for which city or location they want the weather and
          assign this to a state value named `q`. If they mention the days, assign the number to a state value named `days`, 
          otherwise use `3` for `days`.
          If you are unsure about the place (`q`), ask the user to clarify where they want the weather forecast for.
      routing:
        - to: forecast_weather
  # 3) “forecast_weather”: the Weather API tool, using the JSON from parse_request.
  forecast_weather:
    tool:
      name: weather_api
      action: forecast_weather
    parameters:
      q: ""
      days: 3

  # 4) “weather_template”: format the weather API’s JSON into a friendly sentence.
  weather_out_template:
    template: |
      🌤️ Weather forecast for :

      
      📅 Day  ():
      • High: °C
      • Low: °C
      • Condition: 
      • Rain? YesNo

      

  # 5) “telegram_out”: send the forecast back to Telegram.
  telegram_out:
    channel: telegram
    out: true

connections:
  telegram_in:
    - extract_city

  extract_city:
    - forecast_weather

  forecast_weather:
    - weather_out_template

  weather_out_template:
    - telegram_out 

⚙️ Controlling Flows, Channels & Tools

# Validate a flow before deploying. Afterwards you can start/stop the flow
greentic flow validate <file>.ygtc 
greentic flow deploy <file>.ygtc
greentic flow start <flow-id>
greentic flow stop <flow-id>

🔭 Coming Soon

Roadmap:


📬 Need Custom Agentic Automation?

Have a specific use-case or need expert help?
Please fill out our form: Agentic Automation Inquiry


🤝 Contributing

We are actively looking for contributors and welcome contributions of all kinds!

  1. Fork the repo
  2. Create a feature branch
  3. Open a PR against main

See CONTRIBUTING.md for full guidelines.


📄 License

Distributed under the MIT License. See LICENSE for details.


Thank you for checking out Greentic.AI—let’s build the future of automation together! 🚀