Skip to content

Commit 9c3f71b

Browse files
authored
Merge pull request #26 from tinybirdco/readmes
readmes
2 parents a73c91e + 007bac9 commit 9c3f71b

File tree

23 files changed

+1184
-127
lines changed

23 files changed

+1184
-127
lines changed

apps/web/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"nuqs": "^2.2.3",
2020
"react": "^19.0.0",
2121
"react-dom": "^19.0.0",
22+
"react-markdown": "^9.0.1",
2223
"recharts": "^2.15.0",
2324
"tailwind-merge": "^2.5.5",
2425
"tailwindcss-animate": "^1.0.7"

apps/web/pnpm-lock.yaml

Lines changed: 665 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/web/public/content/auth0.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Send Auth0 Logs Streams to Tinybird
2+
3+
[Auth0](https://auth0.com) is a developer-focused user management platform to handle user authentication with many prebuilt UI components. By integrating Auth0 with Tinybird, you can analyze your user authentication data in real time and enrich it with other data sources.
4+
5+
Some common use cases for sending Auth0 logs to Tinybird include:
6+
7+
1. Tracking net user and organization growth.
8+
2. Monitoring user churn.
9+
3. Identifying common auth errors.
10+
4. Creating custom dashboards for auth analysis.
11+
5. User authentication audit logs.
12+
13+
Read on to learn how to send data from Auth0 Logs Streams to Tinybird.
14+
15+
## Before you start
16+
17+
Before you connect Auth0 Logs Streams to Tinybird, ensure:
18+
19+
* You have an Auth0 account.
20+
* You have a Tinybird Workspace.
21+
22+
## Connect Auth0 to Tinybird
23+
24+
1. From the Auth0 dashboard, select **Monitoring** > **Streams**.
25+
26+
2. Select **Create Stream**.
27+
28+
3. In Tinybird, create a Data Source, called `auth0_logs` in this example, with the following schema:
29+
30+
```tb {% title = 'Data Source schema for Auth0 logs streams %}
31+
SCHEMA >
32+
`log_id` String `json:$.log_id`,
33+
`type` String `json:$.data.type` DEFAULT 'unknown',
34+
`date` DateTime64(3) `json:$.data.date` DEFAULT now(),
35+
`client_name` LowCardinality(String) `json:$.data.client_name` DEFAULT 'unknown',
36+
`user_id` String `json:$.data.user_id` DEFAULT 'unknown',
37+
`connection_id` Nullable(String) `json:$.data.connection_id`,
38+
`ip` Nullable(String) `json:$.data.ip`,
39+
`data_log_id` Nullable(String) `json:$.data.log_id`,
40+
`user_name` Nullable(String) `json:$.data.user_name`,
41+
`client_id` Nullable(String) `json:$.data.client_id`,
42+
`client_ip` Nullable(String) `json:$.data.client_ip`,
43+
`tenant_name` Nullable(String) `json:$.data.tenant_name`,
44+
`description` Nullable(String) `json:$.data.description`,
45+
`connection` Nullable(String) `json:$.data.connection`,
46+
`audience` Nullable(String) `json:$.data.audience`,
47+
`scope` Array(Nullable(String)) `json:$.data.scope[:]`,
48+
`user_agent` Nullable(String) `json:$.data.user_agent`,
49+
`hostname` Nullable(String) `json:$.data.hostname`,
50+
`strategy` Nullable(String) `json:$.data.strategy`,
51+
`strategy_type` Nullable(String) `json:$.data.strategy_type`,
52+
`tracking_id` Nullable(String) `json:$.data.tracking_id`,
53+
`event_schema_version` Nullable(String) `json:$.data.['$event_schema'].version`,
54+
`auth0_client` JSON `json:$.data.auth0_client` DEFAULT '{}',
55+
`details` JSON `json:$.data.details` DEFAULT '{}'
56+
57+
ENGINE "MergeTree"
58+
ENGINE_PARTITION_KEY "toYYYYMM(date)"
59+
ENGINE_SORTING_KEY "type, user_id, date"
60+
```
61+
62+
Using the [JSON Data Type](/sql-reference/data-types/json) you can store the semi-structured data you receive from Auth0 Logs Streams in a single column. You can later retrieve various events and their metadata as needed in your Pipes.
63+
64+
4. In Tinybird, copy a token with privileges to append to the Data Source you created. You can use the admin token or create one with the required scope.
65+
66+
5. Back in Auth0, paste the Events API URL in your Webhook Endpoint URL. Use the query parameter `name` to match the name of the Data Source you created in Tinybird. For example:
67+
68+
```
69+
https://api.tinybird.co/v0/events?name=auth0_logs&token=TOKEN
70+
```
71+
72+
Content Type is `application/json` and Content Format is `JSON Lines`.
73+
74+
1. Select the any event category to filter, like `All`, and a date in case you want to perform some backfilling. Then select **Save**.
75+
76+
2. You're done. Any of the Auth0 Log Streams events you selected is automatically sent to Tinybird through the [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api).
77+
78+
You can check the status of the integration from the **Health** tab in the created webhook or from the **Log** tab in the Tinybird `auth0_logs` Data Source.
79+
80+
## See also
81+
82+
* [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api)
83+
* [Auth0 Logs Streams](https://auth0.com/docs/customize/log-streams/custom-log-streams)

apps/web/public/content/clerk.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Send Clerk webhooks to Tinybird
2+
3+
[Clerk](https://clerk.com/) is a developer-focused user management platform to handle user authentication with many prebuilt UI components. By integrating Clerk with Tinybird, you can analyze your user authentication data in real time and enrich it with other data sources.
4+
5+
Some common use cases for sending Clerk webhooks to Tinybird include:
6+
7+
1. Tracking net user and organization growth.
8+
2. Monitoring user churn.
9+
3. Identifying common auth errors.
10+
4. Creating custom dashboards for auth analysis.
11+
5. Enriching other data sources with real-time auth metrics.
12+
13+
Read on to learn how to send data from Clerk to Tinybird.
14+
15+
## Before you start
16+
17+
Before you connect Clerk to Tinybird, ensure:
18+
19+
* You have a Clerk account.
20+
* You have a Tinybird Workspace.
21+
22+
## Connect Clerk to Tinybird
23+
24+
1. From the Clerk UI, select **Configure** > **Webhooks**.
25+
26+
2. Select **Add Endpoint**.
27+
28+
3. In Tinybird, create a Data Source, called `clerk` in this example, with the following schema:
29+
30+
```tb {% title = 'Data Source schema for Clerk events %}
31+
SCHEMA >
32+
'ingest_timestamp' DateTime `json:$.time` DEFAULT now(),
33+
'record' JSON `json:$`
34+
35+
ENGINE "MergeTree"
36+
ENGINE_SORTING_KEY "ingest_timestamp"
37+
ENGINE_TTL ""
38+
ENGINE_PARTITION_KEY ""
39+
```
40+
41+
Using the [JSON Data Type](/sql-reference/data-types/json) you can store the semi-structured data you receive from Clerk in a single column. You can later retrieve various events and their metadata as needed in your Pipes.
42+
43+
4. Back in Clerk, paste the Events API URL in your Webhook Endpoint URL. Use the query parameter `name` to match the name of the Data Source you created in Tinybird, for example:
44+
45+
```
46+
https://api.tinybird.co/v0/events?name=clerk
47+
```
48+
49+
1. Return to Tinybird, and copy a token with privileges to write to the Data Source you created. You can use the admin token or create one with the required scope.
50+
51+
2. Return to the Clerk Webhooks page, and update the URL to add a new search parameter `token` with the token you copied. The final URL looks like the following:
52+
53+
```
54+
https://api.tinybird.co/v0/events?name=clerk&token=p.eyXXXXX
55+
```
56+
57+
3. Select the checkboxes for the Clerk events you want to send to Tinybird, and select **Create**.
58+
59+
4. You're done. Any of the Clerk events you selected is automatically sent to Tinybird through the [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api). You can test the integration from the **Testing** tab in the Clerk Webhooks UI.
60+
61+
62+
## See also
63+
64+
* [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api)

apps/web/public/content/gitlab.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Send GitLab events to Tinybird
2+
[GitLab](https://gitlab.com) is a platform for building and deploying web applications. By integrating GitLab with Tinybird, you can analyze your GitLab events in real time and enrich it with other data sources.
3+
4+
Some common use cases for sending GitLab events to Tinybird include:
5+
6+
1. Analyze GitLab issues and merge requests.
7+
2. Analyze GitLab push events.
8+
3. Analyze and monitor GitLab pipeline.
9+
4. Analyze custom DORA metrics.
10+
11+
All this allows you to build a more complete picture of your GitLab events and improve your DevOps processes.
12+
13+
Read on to learn how to send events from GitLab to Tinybird.
14+
15+
## Before you start
16+
17+
Before you connect GitLab to Tinybird, ensure:
18+
19+
* You have a GitLab account.
20+
* You have a Tinybird Workspace.
21+
22+
## Connect GitLab to Tinybird
23+
24+
1. In GitLab, go to **Settings** > **Webhooks**.
25+
26+
2. Select **Add new webhook**.
27+
28+
3. Webhooks payloads vary depending on the event type. You can check here the list of [GitLab events](https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html). So it's recommended to select one event type and create a Tinybird Data Source for it.
29+
30+
Select **Issues Events**.
31+
32+
4. In Tinybird, create a Data Source, called `gitlab_work_item`. You can follow this [schema](https://github.com/tinybirdco/tinynest/blob/main/tinybird/datasources/gitlab_work_item.datasource)
33+
34+
Some columns use the [JSON Data Type](/sql-reference/data-types/json) to store the semi-structured data you receive from GitLab webhooks in a single column. You can later retrieve various events and their metadata as needed in your Pipes.
35+
36+
Some other columns are a JSON string. Use the [JSONExtract](/sql-reference/functions/json-functions) functions to extract the data you need in your Pipes.
37+
38+
5. In Tinybird, copy a token with privileges to append to the Data Source you created. You can use the admin token or create one with the required scope.
39+
40+
6. Back in GitLab, paste the Events API URL in your Webhook URL. Use the query parameter `name` to match the name of the Data Source you created in Tinybird.
41+
42+
```
43+
https://api.tinybird.co/v0/events?name=gitlab_work_item
44+
```
45+
46+
1. Select **Add custom header** and add 'Authorization' as **Header name** and paste the token you created in Tinybird as **Header value**.
47+
48+
```
49+
Bearer <TOKEN>
50+
```
51+
52+
8. You're done. You can select **Test** to check if the webhook is working.
53+
54+
Check the status of the integration from the **Log** tab in the Tinybird `gitlab_work_item` Data Source.
55+
56+
You can add more GitLab Webhooks to Tinybird by following the same steps. Find here some more [GitLab schemas](https://github.com/tinybirdco/tinynest/blob/main/tinybird/datasources/).
57+
58+
## See also
59+
60+
* [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api)
61+
* [GitLab Webhooks](https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html)
62+
* [Tinybird Data Sources](https://github.com/tinybirdco/tinynest/blob/main/tinybird/datasources/)

apps/web/public/content/orb.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Send Orb events to Tinybird
2+
3+
[Orb](https://withorb.com) is a developer-focused platform to manage your subscription billing and revenue operations. By integrating Orb with Tinybird, you can analyze your subscription billing data in real time and enrich it with other data sources.
4+
5+
Some common use cases for sending Orb events to Tinybird include:
6+
7+
1. Tracking and monitoring subscriptions.
8+
2. Monitoring user churn.
9+
3. Creating custom dashboards for subscription analysis.
10+
4. Subscriptions logs.
11+
12+
Read on to learn how to send events from Orb to Tinybird.
13+
14+
## Before you start
15+
16+
Before you connect Orb to Tinybird, ensure:
17+
18+
* You have an Orb account.
19+
* You have a Tinybird Workspace.
20+
21+
## Connect Orb to Tinybird
22+
23+
1. From the Orb dashboard, select **Developers** > **Webhooks**.
24+
25+
2. Select **Add Endpoint**.
26+
27+
3. In Tinybird, create a Data Source, called `orb` in this example, with the following schema:
28+
29+
```tb {% title = 'Data Source schema for Orb events %}
30+
SCHEMA >
31+
`id` String `json:$.id`,
32+
`type` LowCardinality(String) `json:$.type` DEFAULT 'unknown',
33+
`date` DateTime64(3) `json:$.created_at` DEFAULT now(),
34+
`resource_name` LowCardinality(String) `json:$.resource_name` DEFAULT 'unknown',
35+
`details` JSON `json:$.properties` DEFAULT '{}'
36+
37+
ENGINE "MergeTree"
38+
ENGINE_PARTITION_KEY "toYYYYMM(date)"
39+
ENGINE_SORTING_KEY "type, resource_name, date"
40+
```
41+
42+
Using the [JSON Data Type](/sql-reference/data-types/json) you can store the semi-structured data you receive from Orb in a single column. You can later retrieve various events and their metadata as needed in your Pipes.
43+
44+
4. In Tinybird, copy a token with privileges to append to the Data Source you created. You can use the admin token or create one with the required scope.
45+
46+
5. Back in Orb, paste the Events API URL in your Webhook Endpoint URL. Use the query parameter `name` to match the name of the Data Source you created in Tinybird. For example:
47+
48+
```
49+
https://api.tinybird.co/v0/events?name=orb&token={% user("userToken") %}
50+
```
51+
52+
1. Select **Send test request** to test the connection and check the data gets to the `orb` Data Source in Tinybird.
53+
54+
2. You're done. Any of the Orb events is automatically sent to Tinybird through the [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api).
55+
56+
You can check the status of the integration by clicking on the Webhook endpoint in Orb or from the **Log** tab in the Tinybird `orb` Data Source.
57+
58+
## See also
59+
60+
* [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api)
61+
* [Orb webhooks](https://docs.withorb.com/guides/integrations-and-exports/webhooks)

apps/web/public/content/resend.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Send Resend webhooks to Tinybird
2+
3+
With [Resend](https://resend.com/) you can send and receive emails programmatically. By integrating Resend with Tinybird, you can analyze your email data in real time.
4+
5+
Some common use cases for sending Resend webhooks to Tinybird include:
6+
7+
1. Tracking email opens and clicks.
8+
2. Monitoring delivery rates and bounces.
9+
3. Analyzing user engagement patterns.
10+
4. Creating custom dashboards for email performance.
11+
5. Enriching other data sources with real-time email metrics.
12+
13+
Read on to learn how to send data from Resend to Tinybird.
14+
15+
## Before you start
16+
17+
Before you connect Resend to Tinybird, ensure:
18+
19+
* You have a Resend account.
20+
* You have a Tinybird Workspace.
21+
22+
## Connect Resend to Tinybird
23+
24+
1. Open the Resend UI and go to the Webhooks page.
25+
26+
2. Select "Add Webhook".
27+
28+
3. Go to your Tinybird Workspace, create a new Data Source and select the Events API. From the dialog, copy the API URL.
29+
30+
4. Paste this into the Webhook URL field. The end of URL has a search parameter `name` that you can customize to give your Data Source a name. The URL looks like: `https://api.tinybird.co/v0/events?name=your_data_source_name`.
31+
32+
5. Return to the dialog in Tinybird, and copy the token from the Authorization header. The token looks like: `p.eyXXXXX`.
33+
34+
6. Return to the Resend Webhooks page, and update the URL to add a new search parameter `token` with the token you copied. The URL looks like: `https://api.tinybird.co/v0/events?name=your_data_source_name&token=p.eyXXXXX`.
35+
36+
7. Select the checkboxes for the Resend events you want to send to Tinybird, and select "Add".
37+
38+
8. You're done. Sending emails to Resend will now push events to Tinybird via the [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api).
39+
40+
41+
## See also
42+
43+
* [Events API](https://tinybird.co/docs/get-data-in/ingest-apis/events-api).

0 commit comments

Comments
 (0)