Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/connections/destinations/add-destination.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ You can also add a destination directly from the source's settings page in the S

#### Adding a destination using the Public API

You can use the Segment Public API to add destinations to your workspace using the [Create Destination endpoint](https://docs.segmentapis.com/tag/Destinations#operation/createDestination){:target = "_blank"}. The API requires an authorization token, and uses the `name` field as a namespace that defines which _source_ the destination is connected to. You send the rest of the destination's configuration as a JSON blob. View the documentation page in the Segment Catalog, or query the [Segment Catalog API](https://docs.segmentapis.com/tag/Catalog){:target="_blank"}, for a destination to see the available settings.
You can use the Segment Public API to add destinations to your workspace using the [Create Destination endpoint](https://docs.segmentapis.com/tag/Destinations#operation/createDestination){:target="_blank"}. The API requires an authorization token, and uses the `name` field as a namespace that defines which _source_ the destination is connected to. You send the rest of the destination's configuration as a JSON blob. View the documentation page in the Segment Catalog, or query the [Segment Catalog API](https://docs.segmentapis.com/tag/Catalog){:target="_blank"}, for a destination to see the available settings.

> success ""
> You must use an authorization token to access the Public API, and these tokens are tied to specific workspaces. If you use the Public API to access multiple workspaces, make sure you're using the token for the workspace you want to access before proceeding.
Expand Down Expand Up @@ -112,7 +112,7 @@ Multi-instance support is not available for most hybrid Actions destinations or

Segment does not support connecting a single source to multiple instances of a [Data Lakes](/docs/connections/storage/data-lakes/) destination.

> warning "Non-mobile sources can only connect to _one_ device-mode instance of a destination"
> warning "Non-mobile sources can only connect to one device-mode instance of a destination"
> You cannot connect a source to more than one instance of a destination that operates only in device-mode. For more information about device-mode restrictions, see the [Sending Segment data to Destinations](/docs/connections/destinations/add-destination/#connecting-one-source-to-multiple-instances-of-a-destination:~:text=Multi%2Dinstance%20destinations-,and,-Device%2Dmode) documentation.

> success ""
Expand Down
2 changes: 1 addition & 1 deletion src/connections/destinations/destination-filters.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Common use cases for destination filters include:
- Increasing data relevance in your destinations by removing unused or unwanted data
- Preventing test or internally-generated events from reaching your production tools

### Limitations
## Limitations

Keep the following limitations in mind when you use destination filters:

Expand Down
14 changes: 8 additions & 6 deletions src/connections/functions/aws-apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ The [`aws-sdk`](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guid
To set up your functions to call AWS APIs:
1. Create an IAM role in your AWS account that your function will assume before making AWS API calls.
1. Make sure you have these two values:
* **Principal account ID**: This is the ID number for the AWS account that your function runs in. For destination functions, this is `458175278816` and for source functions this is `300240842537`.
* **External ID**: This is the value your IAM role uses to ensure that only your functions have the ability to assume the role. Segment recommends you to choose a long string of at least 32 random characters and treat it as if it were an API key or a password.
* **Principal account ID**: This is the ID number for the AWS account that your function runs in. For destination functions, this is `458175278816` and for source functions this is `300240842537`.
* **External ID**: This is the value your IAM role uses to ensure that only your functions have the ability to assume the role. Segment recommends you to choose a long string of at least 32 random characters and treat it as if it were an API key or a password.
2. Create an IAM role in your AWS account with the [minimum set of necessary permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege){:target="_blank"}.
3. Add a trust relationship to your role with the following policy, filling in the principal account ID and external ID from step 1.1:
```json
Expand All @@ -33,11 +33,13 @@ To set up your functions to call AWS APIs:
```

2. Create your function.
<br> Now that you have an IAM role in your AWS account, you can create your source or destination function. Segment recommends you to use function settings to make the IAM role configurable. This allows you to use different roles for different instances of your function and to securely store your external ID value by making it a "sensitive" setting. Here are the required settings:
* **IAM Role ARN**: A string setting that is the ARN for the IAM role above. For example, `arn:aws:iam::1234567890:role/my-secure-role`.
* **IAM Role External ID**: A sensitive string setting that is the external ID for your IAM role.

Below is an example destination function that uploads each event received to an S3 bucket (configured using additional "S3 Bucket" and "S3 Bucket Region" settings). It uses the built-in local cache to retain S3 clients between requests to minimize processing time and to allow different instances of the function to use different IAM roles.
Now that you have an IAM role in your AWS account, you can create your source or destination function. Segment recommends you to use function settings to make the IAM role configurable. This allows you to use different roles for different instances of your function and to securely store your external ID value by making it a "sensitive" setting. Here are the required settings:

* **IAM Role ARN**: A string setting that is the ARN for the IAM role above. For example, `arn:aws:iam::1234567890:role/my-secure-role`.
* **IAM Role External ID**: A sensitive string setting that is the external ID for your IAM role.

Below is an example destination function that uploads each event received to an S3 bucket (configured using additional "S3 Bucket" and "S3 Bucket Region" settings). It uses the built-in local cache to retain S3 clients between requests to minimize processing time and to allow different instances of the function to use different IAM roles.

```javascript
async function getS3(settings) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ To set up Db2 as your Reverse ETL source:
4. Click **+ Add Reverse ETL source**.
5. Select **Db2** and click **Add Source**.
6. Fill in the following Db2 connection settings:
* Hostname: `<hostname>`
* Port: `<port>`
* Database: `<db_name>`
* Username: `<segment_db2_user>`
* Password: `<password>`
* Hostname: `<hostname>`
* Port: `<port>`
* Database: `<db_name>`
* Username: `<segment_db2_user>`
* Password: `<password>`
7. Click **Test Connection** to validate the setup.
8. If the connection is successful, click **Add source**.

Expand Down
14 changes: 7 additions & 7 deletions src/connections/reverse-etl/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ To add your warehouse as a source:
2. Click **+ Add Reverse ETL source**.
3. Select the source you want to add.
4. Follow the corresponding guide to set up the required permissions for your Reverse ETL source:
- [Azure Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup)
- [BigQuery Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup)
- [Databricks Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup)
- [Db2 Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/db2-setup)
- [Postgres Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup)
- [Redshift Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup)
- [Snowflake Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup)
- [Azure Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/azure-setup)
- [BigQuery Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/bigquery-setup)
- [Databricks Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup)
- [Db2 Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/db2-setup)
- [Postgres Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup)
- [Redshift Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup)
- [Snowflake Reverse ETL setup guide](/docs/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup)

## Step 2: Add a model
Models define sets of data you want to sync to your Reverse ETL destinations. A source can have multiple models. Segment supports [SQL models](/docs/connections/reverse-etl/setup/#step-4-create-mappings) and [dbt models](/docs/segment-app/extensions/dbt/).
Expand Down
2 changes: 1 addition & 1 deletion src/connections/reverse-etl/system.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The records table helps in determining new and updated rows by comparing the che

### Checkpoint table

The `checkpoints_<subscription_id>` tables are located within the __segment_reverse_etl schema.
The `checkpoints_<subscription_id>` tables are located within the `__segment_reverse_etl` schema.

This table contains the following columns:

Expand Down
4 changes: 2 additions & 2 deletions src/connections/sources/about-cloud-sources.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ Cloud-App Sources (often shortened to Cloud Sources) allow you to pull in data f

As in the basic tracking API, _objects_ usually contain information about a person or group which is updated over time, while _event_ data happens once, and is appended to a list.

### Event Cloud-App Sources
## Event Cloud-App Sources

Event Cloud Sources can export their data both into Segment warehouses, and into other enabled Segment integrations that work with event data.

### Object Cloud-App Sources
## Object Cloud-App Sources

Object Cloud App Sources can export data and import it directly into a Segment warehouse. You *must* have a Segment warehouse enabled before you enable these. From the warehouse, you can analyze your data with SQL, use [Reverse ETL](/docs/connections/reverse-etl) to extract data, or use Engage SQL Traits to build audiences. Some examples of Object Cloud sources are Salesforce (account information), Zendesk (support cases), and Stripe (payments information).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ This source is maintained by Bluedot. For any issues with the source, [contact B
1. From your workspace's [Sources catalog page](https://app.segment.com/goto-my-workspace/sources/catalog){:target="_blank"} click **Add Source**.
2. Search for **Bluedot** in the Sources Catalog, select **Bluedot**, and click **Add Source**.
3. On the next screen, give the Source a name configure any other settings.

The name identifies this source within your workspace, and typically reflects the name of the application. The name can be anything, but Segment recommends that you use something that reflects the source itself and distinguishes amongst your environments (for example, `SourceName_Prod`, `SourceName_Staging`, or `SourceName_Dev`).
4. Click **Add Source** to save your settings.
5. Copy the Write key from the Segment UI and log in to Bluedot Canvas - navigate to Integrations > Select the Project you want link > Segment Integration and paste the key to connect.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This is an [Event Cloud Source](/docs/sources/#event-cloud-sources) which can ex
This source is maintained by CleverTap. For any issues with the source, [contact their Support team](https://help.clevertap.com/hc/en-us/requests/new){:target="_blank”}.

> info "This is a Beta source"
> The CleverTap Source is in beta, which means that they are still actively developing the source. If you're interested in joining their beta program or have any feedback to help improve the CleverTap Source and its documentation, [let their team know](https://help.clevertap.com/hc/en-us/requests/new){:target="_blank"}._
> The CleverTap Source is in beta, which means that they are still actively developing the source. If you're interested in joining their beta program or have any feedback to help improve the CleverTap Source and its documentation, [let their team know](https://help.clevertap.com/hc/en-us/requests/new){:target="_blank"}.

## Getting Started

Expand All @@ -33,8 +33,8 @@ This source is maintained by CleverTap. For any issues with the source, [contact

The table below lists events that CleverTap sends to Segment. These events appear as tables in your warehouse and as regular events in other Destinations.

| Name | Description
| --------------- | ----------- | ------------------------- |
| Name | Description |
| --------------- | ----------- |
| App Launched | This event is captured every time a user launches the application. |
| App Installed | The event is captured when the user launches the app for the first time. |
| App Uninstalled | This event is captured when a user uninstalls your application. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,6 @@ To get started, we recommend tracking just a few important events. You can alway

Once you've added a few `track` calls, **you're done!** You successfully instrumented your app! Now you're ready to turn on any destination you fancy from our interface, margarita in hand.

---

## What's Next?

We just walked through the quickest way to get started with Segment using Analytics-Android. You might also want to check out Segment's full [Analytics-Android reference](/docs/connections/sources/catalog/libraries/mobile/android) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http-api/) to get a sense for the bigger picture.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ tags:
- Xamarin
- Unity
- ASP.NET
id:
redirect_from:
- '/connections/sources/catalog/libraries/mobile/unity/'
- '/connections/sources/catalog/libraries/mobile/csharp/'
Expand All @@ -20,7 +19,8 @@ redirect_from:

With Analytics-CSharp, you can add Segment analytics to your C# based app which includes Unity, Xamarin, .NET. Analytics-CSharp helps you measure your users, product, and business. It unlocks insights into your app's funnel, core business metrics, and whether you have product-market fit. The Analytics-CSharp library is open-source [on GitHub](https://github.com/segmentio/analytics-csharp){:target="_blank"}.

### Supported platforms
## Supported platforms

These platforms support Analytics-CSharp:
* .NET/.NET core/.NET framework
* Mono
Expand Down Expand Up @@ -403,7 +403,7 @@ For example, you might want to disable flushes if you detect the user has no net
}
```

### Create your own flush policies
### Create your own flush policies

You can create a custom FlushPolicy special for your application needs by implementing the `IFlushPolicy` interface. You can also extend the `IFlushPolicy` class that already creates and handles the `shouldFlush` value reset.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,6 @@ To get started, we recommend tracking just a few important events. You can alway

Once you've added a few `track` calls, **you're done!** You successfully installed analytics tracking on your servers. Now you're ready to turn on any destination you fancy from our interface, margarita in hand.


---


## What's Next?

We just walked through the quickest way to get started with Segment using go. You might also want to check out our full [Go library reference](/docs/connections/sources/catalog/libraries/server/go/) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http/) to get a sense for the bigger picture.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,6 @@ To get started, we recommend tracking just a few important events. You can alway

Once you've added a few `track` calls, **you're done!** You successfully installed analytics tracking on your servers. Now you're ready to turn on any destination you fancy from our interface, margarita in hand.


---


## What's Next?

We just walked through the quickest way to get started with Segment using go. You might also want to check out our full [Go library reference](/docs/connections/sources/catalog/libraries/server/go/) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http/) to get a sense for the bigger picture.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,6 @@ To get started, we recommend tracking just a few important events. You can alway

Once you've added a few `track` calls, **you're done!** You successfully installed Analytics tracking. Now you're ready to turn on any destination you fancy from our interface, margarita in hand.


---


## What's Next?

We just walked through the quickest way to get started with Segment using our Java library. You might also want to check out our full [reference](/docs/connections/sources/catalog/libraries/server/java) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http/) to get a sense for the bigger picture.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,6 @@ To get started with Analytics Node.js:

After you've added a few `track` calls, you've successfully installed analytics tracking on your servers. Now you're ready to turn on any destination from the Segment app.

---

## What's Next?

You can check out the full docs for [Analytics Node.js](/docs/connections/sources/catalog/libraries/server/node) to see what else is possible, or read about the [Tracking API methods](/docs/connections/sources/catalog/libraries/server/http/) to get a sense for the bigger picture.
Expand Down
Loading
Loading