Awesome
<p align="center"> <img src="https://res.cloudinary.com/dspflukeu/image/upload/v1714997618/AIS/multiwoven_-_logo_-_light_eewnz3.svg" alt="Multiwoven" width="228" /> </p> <h1 align="center">Open Source Reverse ETL & Data Activation Platform</h1> <p align="center"> Multiwoven is an open-source alternative to <b>HighTouch</b>, <b>Census</b>, and <b>RudderStack</b>. It lets you easily sync data from your warehouse to any business tool, unlocking the full potential of your data. </p> <p align="center"> <a href="https://github.com/Multiwoven/multiwoven/stargazers"><img src="https://img.shields.io/github/stars/Multiwoven/multiwoven?style=for-the-badge" alt="GitHub stars"></a> <a href="https://github.com/Multiwoven/multiwoven/releases"> <img src="https://img.shields.io/github/v/release/Multiwoven/multiwoven?display_name=release&style=for-the-badge" alt="GitHub release (latest)"> </a> <a href="https://github.com/Multiwoven/multiwoven/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/Multiwoven/multiwoven/main?style=for-the-badge"></a> <a href="https://github.com/Multiwoven/multiwoven/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Multiwoven/multiwoven?style=for-the-badge" alt="License"></a> <br /> <a href="https://github.com/Multiwoven/multiwoven/actions/workflows/server-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Multiwoven/multiwoven/server-ci.yml?branch=main&style=for-the-badge&label=server-build" alt="server-ci"></a> <a href="https://github.com/Multiwoven/multiwoven/actions/workflows/integrations-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Multiwoven/multiwoven/integrations-ci.yml?branch=main&style=for-the-badge&label=integrations-build" alt="integrations-ci"></a> <a href="https://github.com/Multiwoven/multiwoven/actions/workflows/ui-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Multiwoven/multiwoven/ui-ci.yml?branch=main&style=for-the-badge&label=ui-build" alt="ui-ci"></a> </p> <table align="center"> <tbody> <tr> <td>multiwoven-integrations</td> <td> <a href="https://codeclimate.com/repos/657d0a2a60265a2f2155ffca/maintainability"><img src="https://api.codeclimate.com/v1/badges/d841270f1f7a966043c1/maintainability" /></a> </td> <td> <a href="https://codeclimate.com/repos/657d0a2a60265a2f2155ffca/test_coverage"><img src="https://api.codeclimate.com/v1/badges/d841270f1f7a966043c1/test_coverage" /></a> </td> </tr> <tr> <td>multiwoven-server</td> <td> <a href="https://codeclimate.com/repos/657bb07835753500df74ff6a/maintainability"><img src="https://api.codeclimate.com/v1/badges/5f5a5f94f8c86a1fb02b/maintainability" /></a> </td> <td> <a href="https://codeclimate.com/repos/657bb07835753500df74ff6a/test_coverage"><img src="https://api.codeclimate.com/v1/badges/5f5a5f94f8c86a1fb02b/test_coverage" /></a> </td> </tr> <tr> <td>multiwoven-ui</td> <td> <a href="https://codeclimate.com/repos/658845e86ce9037ff3f7115b/maintainability"><img src="https://api.codeclimate.com/v1/badges/ac28cea2714ae9868d9e/maintainability" /></a> </td> <td> <a href="https://codeclimate.com/repos/658845e86ce9037ff3f7115b/test_coverage"><img src="https://api.codeclimate.com/v1/badges/ac28cea2714ae9868d9e/test_coverage" /></a> </td> </tr> </tbody> </table> <p align="center"> <br /> <a href="https://docs.squared.ai/open-source/introduction" rel=""><strong>Explore the docs »</strong></a> <br /> <br/> <a href="https://join.slack.com/t/multiwoven/shared_invite/zt-2bnjye26u-~lu_FFOMLpChOYxvovep7g">Slack</a> • <a href="https://squared.ai/multiwoven-reverse-etl">Website</a> • <a href="https://blog.squared.ai">Blog</a> • <a href="https://github.com/orgs/Multiwoven/projects/4">Roadmap</a> </p> <hr />Why Multiwoven?
Multiwoven simplifies self-hosting a secure, scalable Reverse ETL platform on your cloud infrastructure like AWS, Azure, or GCP. With one-click deployment and customizable connectors, you can easily sync data from your warehouse to business tools.
⭐ Consider giving us a star! Your support helps us continue innovating and adding new, exciting features.
Connect to sources
Connect to your data sources like Databricks, Redshift, BigQuery, and more.
Prepare your data
Create models to transform and prepare your data for syncing.
Sync with destinations
Sync your data with destinations like Salesforce, HubSpot, Slack, and more.
Table of Contents
Getting Started
Multiwoven is a monorepo that consists of three main services:
-
<b>server</b> - The backend service that acts as a control plane for managing data sources, models, and syncs.
-
<b>ui</b> - The frontend react application that provides a user interface to manage data sources, destinations, and confgure syncs.
-
<b>integrations</b> - A Ruby Gem that provides a framework to build connectors to support a wide range of data sources and destinations.
Local Setup
To get started with Multiwoven, you can deploy the entire stack using Docker Compose.
- Clone the repository:
git clone git@github.com:Multiwoven/multiwoven.git
- Go inside multiwoven folder:
cd multiwoven
- Initialize .env file:
mv .env.example .env
- Copy .env file to ui folder:
cp .env ui/.env
- Setup git hooks:
./git-hooks/setup-hooks.sh
- Start the services:
docker-compose build && docker-compose up
UI can be accessed at the PORT 8000 :
http://localhost:8000
For more details, check out the local deployment guide in the documentation.
Self-hosted Options
Multiwoven can be deployed in a variety of environments, from fully managed cloud services to self-hosted solutions. Refer to the deployment guides below to deploy Multiwoven on your preferred cloud provider.
Provider | Documentation |
---|---|
Docker | Deployment Guide |
Helm Charts | Deployment Guide |
AWS EC2 | Deployment Guide |
AWS ECS | Coming soon. |
AWS EKS (Kubernetes) | Coming soon. |
Azure VMs | Deployment Guide |
Azure AKS (Kubernetes) | Deployment Guide |
Google Cloud GKE (Kubernetes) | Coming soon. |
Google Cloud Compute Engine | Deployment Guide |
Digital Ocean Droplets | Coming soon. |
Digital Ocean Kubernetes | Coming soon. |
OpenShift | Coming soon. |
Connectors
🔥 Multiwoven is rapidly expanding its list of connectors to support a wide range of data sources and destinations. Head over to the Integrations directory to explore the available connectors. If you don't see the connector you need, please open an issue to request it.
Sources
Destinations
CRM
- Salesforce
- Zoho CRM
- HubSpot
Marketing Automation
- Klaviyo
- Braze
- Salesforce Marketing Cloud
Customer Support
- Zendesk
- Freshdesk
- Intercom
Advertising
- Google Ads
- Facebook Ads
Collaboration
Analytics
- Google Analytics
- Mixpanel
- Amplitude
Others
🧵...Weaving in more connectors to support a wide range of destinations.
Contributing
We ❤️ contributions and feedback! Help make Multiwoven better for everyone!
Before contributing to Multiwoven, please read our Code of Conduct and Contributing Guidelines. As a contributor, you are expected to adhere to these guidelines and follow the best practices.
Need Help?
If you have any questions or need help with Multiwoven, please feel free to reach out to us on Slack. We are open to discuss new ideas, features, and improvements.
⚠️ Development Status: Under Active Development
This project is under active development, As we work towards stabilizing the project, you might encounter some bugs or incomplete features. We greatly value your contributions and patience during this phase. Thank you for your support!
Contributors
<a href="https://github.com/Multiwoven/multiwoven/graphs/contributors"> <img src="https://contrib.rocks/image?repo=Multiwoven/multiwoven&max=400&columns=20" /> </a>License
Multiwoven is licensed under the AGPLv3 License. See the LICENSE file for details.