{"id":17026812,"url":"https://github.com/rafaelgb/obsidian-zettelflow","last_synced_at":"2025-04-06T05:16:00.627Z","repository":{"id":185109586,"uuid":"672602228","full_name":"RafaelGB/Obsidian-ZettelFlow","owner":"RafaelGB","description":"ZettelFlow is a plugin for Obsidian that helps you to create and manage your notes in a Zettelkasten way.","archived":false,"fork":false,"pushed_at":"2025-03-24T19:55:40.000Z","size":41800,"stargazers_count":122,"open_issues_count":4,"forks_count":5,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-30T04:08:38.085Z","etag":null,"topics":["obsidian-md","obsidian-plugin","workflow","zettelkasten","zettelkasten-methodology"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RafaelGB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/Documentation.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-07-30T16:31:05.000Z","updated_at":"2025-03-13T08:28:09.000Z","dependencies_parsed_at":"2023-12-22T16:09:27.687Z","dependency_job_id":"fbc686ec-d343-4fa2-8892-d3b7a59e053c","html_url":"https://github.com/RafaelGB/Obsidian-ZettelFlow","commit_stats":null,"previous_names":["rafaelgb/obsidian-zettlelflow","rafaelgb/obsidian-zettelflow"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelGB%2FObsidian-ZettelFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelGB%2FObsidian-ZettelFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelGB%2FObsidian-ZettelFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafaelGB%2FObsidian-ZettelFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RafaelGB","download_url":"https://codeload.github.com/RafaelGB/Obsidian-ZettelFlow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247436285,"owners_count":20938533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["obsidian-md","obsidian-plugin","workflow","zettelkasten","zettelkasten-methodology"],"created_at":"2024-10-14T07:44:35.111Z","updated_at":"2025-04-06T05:16:00.579Z","avatar_url":"https://github.com/RafaelGB.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/5tsytn22v9Z","https://github.com/sponsors/RafaelGB"],"categories":[],"sub_categories":[],"readme":"\n# Obsidian-ZettelFlow\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/RafaelGB/Obsidian-ZettelFlow?style=for-the-badge\u0026sort=semver)](https://github.com/RafaelGB/Obsidian-ZettelFlow/releases/latest)\n[![Github All Releases](https://img.shields.io/github/downloads/RafaelGB/Obsidian-ZettelFlow/total?style=for-the-badge)]()\n\n- [Documentation](https://rafaelgb.github.io/Obsidian-ZettelFlow/)\n- [Roadmap](https://github.com/users/RafaelGB/projects/9/views/1)\n- [Examples](https://github.com/RafaelGB/Obsidian-ZettelFlow/tree/main/WorkFlow%20Test)\n\n# ZettelFlow: Unlock the Power of Custom Note Flows in Obsidian\n\nWelcome to **ZettelFlow**, the ultimate plugin for Obsidian that empowers you to design and navigate your own personalized workflows for creating and editing notes. Whether you're a fan of the Zettelkasten methodology or simply seeking a flexible way to structure your ideas, ZettelFlow adapts to your needs and puts creativity in your hands.\n\n---\n\n## **What is ZettelFlow?**\n\nZettelFlow transforms Obsidian into a dynamic space for note-taking and knowledge management by using **canvas drawings** to create flows. These flows guide you through **step-by-step processes**, where each step can be a note, a group, or a card on the canvas, interconnected with arrows that represent their relationships.\n\nZettelFlow encourages you to:\n\n- Embrace the **[Zettelkasten philosophy](https://zettelkasten.de/overview/)** while tailoring it to your unique workflow.\n- Design **custom flows** that resonate with how you think and organize.\n- Dive deeper into your notes, crafting them in a structured yet flexible way.\n\n---\n\n## **How Does It Work?**\n\n### **1. Root Notes**\nEvery flow begins with a **Root Note**. These are the starting points that appear when you initiate a new workflow. Think of them as entry points into your creative process.\n\n### **2. Steps**\nA **flow** consists of multiple **steps**, which can be:\n- **Notes**: Standard Obsidian notes.\n- **Groups**: Collections of related items.\n- **Canvas Cards**: Visual representations within the Obsidian canvas.\n\nThese steps are linked with arrows, creating a clear visual representation of how your ideas connect and progress.\n\n### **3. Actions**\nWithin each step, you can add **Actions** to enhance your notes. Actions are interactive elements that:\n- Modify your final note.\n- Edit existing notes dynamically. \n\n\u003e [!IMPORTANT]  \n\u003e The canvas editor flow is different from the canvas creation flow. It should be configured independently in the plugin settings.\n\n#### **Available Actions**\nZettelFlow provides a wide array of actions, including:\n\n- **[Prompt](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Prompt/)**: Input custom text.\n- **[Number](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Number/)**: Add numeric values.\n- **[Checkbox](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Checkbox/)**: Include checkboxes for tasks.\n- **[Calendar](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Calendar/)**: Pick dates.\n- **[Selector](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Selector/)**: Choose from a predefined list.\n- **[Dynamic Selector](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/DynamicSelector/)**: Generate lists dynamically.\n- **[Tags](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Tags/)**: Add or manage tags.\n- **[Backlink](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Backlink/)**: Create backlinks to other notes.\n- **[CssClasses](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/CssClasses/)**: Apply CSS classes for styling.\n- **[Task Management](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/TaskManagement/)**: Manage tasks directly.\n- **[Script](https://rafaelgb.github.io/Obsidian-ZettelFlow/actions/Script/)**: Run custom scripts for advanced users.\n\n---\n\n## **Relationships Between Steps**\n\nIn ZettelFlow, steps can be interconnected in different ways, allowing you to create meaningful relationships between your notes, groups, and actions. Here are the types of relationships available:\n\n### 1. Arrow-Based Connections\n\nNotes and cards can be linked using arrows, representing a direct relationship or flow between steps. These connections visually guide the sequence of actions or ideas.\n\n### 2. Group-to-Nodes Relationships\n\nGroups establish a one-to-many relationship with the nodes they contain. For example:\n\n- A group can include multiple notes or cards as its children.\n- Any action performed on the group can cascade or relate to its nodes.\n- A group can act as a Root Node, serving as the starting point of a flow.\n\n### 3. JavaScript File Connections\n\nJavaScript files can be linked to steps as if they were actions, executing custom scripts. These connections allow advanced users to:\n\n- Extend ZettelFlow's functionality.\n- Automate or customize specific parts of the workflow.\n\n\u003e [!NOTE] Limitations\n\u003e JavaScript files cannot serve as Root Nodes. They can only appear in the middle or at the end of a flow chain.\n\n### 4. Root Node Eligibility\n\nSteps that can serve as Root Nodes include:\n\n- Groups\n- Notes\n- Cards\n\n\u003e [!WARNING] Exclusions\n\u003e JavaScript files are excluded from being Root Nodes.\n\nThese relationships give you the freedom to structure your workflows logically and intuitively, ensuring each flow adapts to your specific needs.\n\n---\n\n## **Why Use ZettelFlow?**\n\n- **Freedom to Customize**: ZettelFlow adapts to your way of working, not the other way around.\n\n![](docs/resources/readme/Canvas-Sample.png)\n![](docs/resources/readme/demogif.gif)\n\n- **Visual Clarity**: Flows on the canvas provide an intuitive overview of your thought process.\n- **Deep Integration**: Seamlessly integrates with Obsidian, enhancing your existing workflow.\n- **Powerful Actions**: Automate and enrich your notes with a variety of built-in actions.\n\n---\n\n## **Getting Started**\n\n1. **Install the Plugin**\n   - Download and install ZettelFlow from the Obsidian plugin marketplace.\n\n![](docs/resources/readme/install-plugin.png)\n2. **Create Your First Flow**\n   - Create a new Canvas file in Obsidian.\n   - Configure it as the principal Flow file in the plugin settings.\n\n   ![](docs/resources/readme/Configure-principal-canvas.png)\n\n   - Open a canvas and start designing your flow by adding steps and connecting them with arrows.\n\n3. **Add Actions**\n   - Select a step and incorporate actions to modify or enhance your notes.\n\n![](docs/resources/readme/first%20root%20step.png)\n![](docs/resources/readme/root%20step%20options.png)\n\n4. **Explore Examples**\n   - Check the [official documentation](https://rafaelgb.github.io/Obsidian-ZettelFlow/) for example flows and action guides.\n\n---\n\n## **Learn More**\n\nFor detailed instructions, descriptions of each action, and tips for creating advanced flows, visit the [ZettelFlow Documentation](https://rafaelgb.github.io/Obsidian-ZettelFlow/).\n\nIf you have any questions or feedback, feel free to reach out via the Obsidian community forums or GitHub issues.\n\n---\n\nUnleash the full potential of your notes with ZettelFlow. **Your ideas, your flow, your rules.**\n\n\n\n## Support\nIf you enjoy ZettelFlow, consider [buy me a coffee](https://www.buymeacoffee.com/5tsytn22v9Z) or [sponsor me](https://github.com/sponsors/RafaelGB) to support my work. Thank you!\n\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/RafaelGB?label=Sponsor\u0026logo=GitHub%20Sponsors\u0026style=for-the-badge)](https://github.com/sponsors/RafaelGB)\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/5tsytn22v9Z)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelgb%2Fobsidian-zettelflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaelgb%2Fobsidian-zettelflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelgb%2Fobsidian-zettelflow/lists"}