{"id":29354252,"url":"https://github.com/lymore01/ottr","last_synced_at":"2026-05-08T00:36:20.472Z","repository":{"id":302912201,"uuid":"1012661733","full_name":"Lymore01/ottr","owner":"Lymore01","description":"Ottr is a distributed, persistent and concurrent task queue for Elixir, designed for reliability and scalability. It supports multiple named queues, task retries, visibility timeouts and efficient processing using GenServer, Ecto, Poolboy and OTP patterns.","archived":false,"fork":false,"pushed_at":"2025-07-04T17:48:13.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-04T18:45:04.073Z","etag":null,"topics":["actor-model","concurrency","ecto","elixir","erlang","otp","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/Lymore01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-02T17:17:00.000Z","updated_at":"2025-07-04T17:48:16.000Z","dependencies_parsed_at":"2025-07-04T18:45:10.108Z","dependency_job_id":"f25d958f-525b-4231-a931-b99f3a31445b","html_url":"https://github.com/Lymore01/ottr","commit_stats":null,"previous_names":["lymore01/ottr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Lymore01/ottr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lymore01%2Fottr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lymore01%2Fottr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lymore01%2Fottr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lymore01%2Fottr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lymore01","download_url":"https://codeload.github.com/Lymore01/ottr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lymore01%2Fottr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264384391,"owners_count":23599613,"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":["actor-model","concurrency","ecto","elixir","erlang","otp","postgresql"],"created_at":"2025-07-09T03:11:58.096Z","updated_at":"2026-05-08T00:36:20.459Z","avatar_url":"https://github.com/Lymore01.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ottr\r\n\r\n**Ottr** is an Elixir-powered workflow automation platform for building, managing and monitoring complex workflows, tasks and condition-based actions.\r\n\r\n## Platform Overview\r\n\r\n### Landing Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/landing.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/landing\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/landing\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Login Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/login.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/login\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/login\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Register Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/register.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/register\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/register\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Integrations Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/integrations.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/integrations\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/integrations\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Automations Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/automations.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/automations\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/automations\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Templates Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/templates.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/templates\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/templates\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Workflow (Bursts) Page\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/bursts.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/bursts\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/bursts\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n### Playground\r\n\u003cpicture\u003e\r\n    \u003csource srcset=\"./assets/readme/playground.jpeg\" media=\"(prefers-color-scheme: dark)\"\u003e\r\n    \u003csource srcset=\"./assets/readme/playground\" media=\"(prefers-color-scheme: light)\"\u003e\r\n    \u003cimg src=\"./assets/readme/playground\" alt=\"Keylio Auth Logo\"\u003e\r\n\u003c/picture\u003e\r\n\r\n---\r\n\r\n## What is Ottr?\r\n\r\nOttr combines a robust task queue engine with a modern web dashboard, allowing you to:\r\n\r\n- Automate business processes using ready-made automations and customizable templates\r\n- Integrate with popular services (Slack, Stripe, Notion and more)\r\n- Design and monitor workflows visually\r\n- Manage tasks, conditions and retries with ease\r\n\r\n---\r\n\r\n## Features\r\n\r\n- **Web Dashboard**: Visual interface for managing workflows, automations and integrations\r\n- **Integrations**: Connect with popular services like Slack, Stripe, Notion and more\r\n- **Automations**: One-click, ready-to-use workflows for common business needs\r\n- **Templates**: Customizable workflow blueprints to jumpstart your automation\r\n- **Task Queues**: Easily create and manage queues for background processing\r\n- **Conditional Logic**: Build workflows with conditional steps and branching\r\n- **Monitoring \u0026 Retry**: Track, retry and observe task execution with built-in telemetry\r\n- **Extensible**: Add your own integrations and custom logic\r\n\r\n---\r\n\r\n## Quickstart\r\n\r\n1. Start the Phoenix server:\r\n   ```shell\r\n   mix phx.server\r\n   ```\r\n\r\n## Testing\r\n\r\nRun the test suite with:\r\n\r\n```shell\r\nmix test\r\n```\r\n\r\n## Contributing\r\n\r\nPull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.\r\n\r\n---\r\n\r\n## License\r\n\r\n[MIT](LICENSE)\r\n\r\n---\r\n\r\n## Credits\r\n\r\nCreated by Kelly Limo. Inspired by distributed queue systems and the power of Elixir/OTP.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flymore01%2Fottr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flymore01%2Fottr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flymore01%2Fottr/lists"}