# Documentation

Rubicon is a modern streaming platform that enables developers to build complex data pipelines using SQL. Rubicon run continuous transformations on the changes in the data from your data sources and maintains a materialized view in the destination of your choice completely eliminating the complexity of running scheduled jobs and providing real-time updates for use cases like search, customer facing dashboards and AI driven features like recommendations.

## Step 1: Connect Source

On the **Sources** page, select your data source from our supported connectors list. Fill out the setup form using the instructions embedded in the dashboard, then click **Save & test** to create your connector. Check here for the [list](https://docs.rubicon.io/sources) of supported sources.

## Step 2: Connect Destination

On the **Destination** page, select your destination from our supported destinations list. Fill out the setup form using the instructions embedded in the dashboard, then click **Save & test** to connect your destination. Check here for the [list](https://docs.rubicon.io/destinations) of supported destinations.

## **Step 3:** Install Github App on Rubicon

All your transformations are written in the form of SQL statements in your Github repository. Follow these [instructions](https://docs.rubicon.io/documentation/connecting-github-app-to-rubicon) to connect Rubicon App to your Github repo - This allows us to start new version of pipelines automatically when you modify your transformations.

##

## Step 4: Wait for the initial sync to complete

If your source is an OLTP database, Rubicon has to do an initial sync before the data is available in Rubicon to build pipelines. The initial sync can take a few hours depending on the size of your data source. You will be notified by email when your sources are synced and ready to be used in your first transformation.  You can find instructions [here](#step-6-write-your-transformation) on how to write your first transformation here using the demo source and destination already available to you while you wait for the data to sync.

## Step 5: Write your transformation

On the **Models** tab, write your transformation as a SQL statement and submit it. See the documentation [here](https://docs.rubicon.io/transformations) for details on how to write transformation.

## Step 6: Build a pipeline

Go to [https://app.rubicon.io/](https://app.rubicon.io) and select the Git branch you want to deploy the pipeline in on the top right-hand side.  The main branch is considered production and supports continuous transformation. Other environments are considered development and support running transformation on a bounded amount of data.

## Step 7: Invite users (optional)

Click on your icon at the right and invite users to the platform. They will be able to join your team&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rubicon.io/documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
