diff --git a/assets/scripts/config/regions.config.js b/assets/scripts/config/regions.config.js index c5998594c48..7d585a98b1b 100644 --- a/assets/scripts/config/regions.config.js +++ b/assets/scripts/config/regions.config.js @@ -9,6 +9,15 @@ export default { gov: 'US1-FED', ap2: 'AP2' }, + dd_datacenter_lowercase: { + us: 'us1', + us3: 'us3', + us5: 'us5', + eu: 'eu1', + ap1: 'ap1', + ap2: 'ap2', + gov: 'us1_fed' + }, dd_site: { us: 'datadoghq.com', us3: 'us3.datadoghq.com', @@ -589,6 +598,15 @@ export default { ap2: '', gov: '' }, + cursor_mcp_install_deeplink: { + us: 'cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuY29tL2FwaS91bnN0YWJsZS9tY3Atc2VydmVyL21jcD90b29sc2V0cz1vbmJvYXJkaW5nIiwidHlwZSI6Im9hdXRoIn0=', + us3: 'cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us3&config=eyJ1cmwiOiJodHRwczovL21jcC51czMuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9', + us5: 'cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-us5&config=eyJ1cmwiOiJodHRwczovL21jcC51czUuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9', + eu: 'cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5kYXRhZG9naHEuZXUvYXBpL3Vuc3RhYmxlL21jcC1zZXJ2ZXIvbWNwP3Rvb2xzZXRzPW9uYm9hcmRpbmciLCJ0eXBlIjoib2F1dGgifQ==', + ap1: 'cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap1&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDEuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9', + ap2: 'cursor://anysphere.cursor-deeplink/mcp/install?name=datadog-onboarding-ap2&config=eyJ1cmwiOiJodHRwczovL21jcC5hcDIuZGF0YWRvZ2hxLmNvbS9hcGkvdW5zdGFibGUvbWNwLXNlcnZlci9tY3A/dG9vbHNldHM9b25ib2FyZGluZyIsInR5cGUiOiJvYXV0aCJ9', + gov: 'N/A' + }, microsoft_teams_app_name: { us: 'Datadog', us3: 'Datadog', diff --git a/content/en/agentic_onboarding/setup.md b/content/en/agentic_onboarding/setup.md new file mode 100644 index 00000000000..2c9ac29dee4 --- /dev/null +++ b/content/en/agentic_onboarding/setup.md @@ -0,0 +1,120 @@ +--- +title: Agentic Onboarding Setup +description: Set up the Datadog MCP server to instrument your frontend applications with coding agents like Cursor or Claude Code. + +--- + +{{< callout btn_hidden="true" header="Join the Preview!">}} +Agentic Onboarding is in Preview. +{{< /callout >}} + +{{< site-region region="gov" >}} +
+
+ {{< region-param key=cursor_mcp_install_deeplink >}}
+
+
+
+2. In Cursor, click **Install** for the **datadog-onboarding-{{< region-param key=dd_datacenter_lowercase >}}** server.
+3. If the MCP server shows a **Needs login** link, select it and complete the OAuth flow. When prompted, choose **Open** to continue and grant access to your Datadog account.
+4. After authentication, return to Cursor and confirm that MCP tools appear under the **datadog-onboarding-{{< region-param key=dd_datacenter_lowercase >}}** server.
+{{< /site-region >}}
+
+{{% /tab %}}
+
+{{% tab "Claude Code" %}}
+{{< site-region region="gov" >}}
+
+
+ claude mcp add --transport http datadog-onboarding-{{< region-param key=dd_datacenter_lowercase >}} "https://mcp.{{< region-param key=dd_site >}}/api/unstable/mcp-server/mcp?toolsets=onboarding"
+
+
+
+2. Select the MCP server installed in Step 1. You should see a `disconnected - Enter to login` message. Press Enter.
+3. When you see the option to authenticate, press Enter. This brings you to the OAuth screen.
+4. After authentication, choose **Open** to continue and grant access to your Datadog account.
+5. Confirm that MCP tools appear under the **datadog-onboarding-{{< region-param key=dd_datacenter_lowercase >}}** server.
+{{< /site-region >}}
+
+{{% /tab %}}
+{{< /tabs >}}
+
+### Set up your project
+
+Your AI coding agent can help configure Datadog for your project. When you provide a setup prompt, the agent:
+
+- Analyzes your project and identifies the framework, language, and bundler
+- Calls the MCP tool and requests permission before running
+- Applies the configuration changes specified by the tool
+- Provides steps to verify that your application is sending telemetry to Datadog
+
+**Note**: Your coding agent makes changes locally but does not commit them.
+
+To get started:
+1. Choose the product you want to use and paste its setup prompt into your AI agent:
+
+ {{< tabs >}}
+ {{% tab "Error Tracking" %}}
+ ```console
+ Add Datadog Error Tracking to my project
+ ```
+ {{% /tab %}}
+
+ {{% tab "Real User Monitoring" %}}
+ ```console
+ Add Datadog Real User Monitoring to my project
+ ```
+ {{% /tab %}}
+
+ {{% tab "Product Analytics" %}}
+ ```console
+ Add Datadog Product Analytics to my project
+ ```
+ {{% /tab %}}
+ {{< /tabs >}}
+
+2. Review and accept each action your AI agent proposes to complete the setup process.
+
+### Deploy your app to production
+
+Commit the changes to your repository and configure the provided environment variables in your production environment.
+
+[1]: https://cursor.com/
+[2]: https://claude.ai/
+[3]: /error_tracking/frontend/
+[4]: /real_user_monitoring/
+[5]: /product_analytics/
+
diff --git a/content/en/error_tracking/_index.md b/content/en/error_tracking/_index.md
index 885dd0b5792..501fa621db2 100644
--- a/content/en/error_tracking/_index.md
+++ b/content/en/error_tracking/_index.md
@@ -23,6 +23,19 @@ Additional features are available depending on the source of the error. See [sup
- Take a tour of key Error Tracking features in the [Error Tracking Explorer][5] documentation.
- Use the product-specific links in the next section to set up Error Tracking for a particular error source.
+## Setup
+{{< whatsnext desc="To get started with Datadog Error Tracking, choose one of the following setup options:" >}}
+ {{< nextlink href="agentic_onboarding/setup" >}}Agentic Onboarding{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/browser" >}}Browser{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/mobile/android" >}}Android{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/mobile/ios" >}}iOS{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/mobile/expo" >}}Expo{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/mobile/reactnative" >}}React Native{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/mobile/flutter" >}}Flutter{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/mobile/kotlin_multiplatform" >}}Kotlin Multiplatform{{< /nextlink >}}
+ {{< nextlink href="error_tracking/frontend/logs" >}}Logs{{< /nextlink >}}
+{{< /whatsnext >}}
+
## Supported error sources
Error Tracking captures and processes errors across your web, mobile, and backend applications. You can instrument your applications and services using the [Browser SDK][6], [Mobile SDK][7], or ingest errors from your Logs, Traces, and Real User Monitoring events.
diff --git a/content/en/error_tracking/frontend/_index.md b/content/en/error_tracking/frontend/_index.md
index 406397211ee..94d257ebf1a 100644
--- a/content/en/error_tracking/frontend/_index.md
+++ b/content/en/error_tracking/frontend/_index.md
@@ -25,13 +25,14 @@ It is critical for your system’s health to consistently monitor the errors col
Error Tracking simplifies debugging by grouping thousands of similar errors into a single issue. Error Tracking enables you to:
- Track, triage, and debug fatal errors
-- Group similar errors into issues, so that you can more easily identify important errors and reduce noise
+- Group similar errors into issues to identify important errors and reduce noise
- Set monitors on error tracking events, such as high error volume or new issues
- Follow issues over time to know when they first started, if they are still ongoing, and how often they occur
-- See a detailed timeline of steps a user took leading up to the error, simplifying the process to reproduce and resolve errors quickly
+- See a detailed timeline of steps a user took leading up to the error, simplifying the process to reproduce and resolve errors
## Setup
-{{< whatsnext desc="To get started with Datadog Error Tracking, see the corresponding documentation:" >}}
+{{< whatsnext desc="To get started with Datadog Error Tracking, choose one of the following setup options:" >}}
+ {{< nextlink href="agentic_onboarding/setup" >}}Agentic Onboarding (frontend only){{< /nextlink >}}
{{< nextlink href="error_tracking/frontend/browser" >}}Browser{{< /nextlink >}}
{{< nextlink href="error_tracking/frontend/mobile/android" >}}Android{{< /nextlink >}}
{{< nextlink href="error_tracking/frontend/mobile/ios" >}}iOS{{< /nextlink >}}
diff --git a/content/en/real_user_monitoring/application_monitoring/agentic_onboarding.md b/content/en/real_user_monitoring/application_monitoring/agentic_onboarding.md
new file mode 100644
index 00000000000..1d49d08c1c7
--- /dev/null
+++ b/content/en/real_user_monitoring/application_monitoring/agentic_onboarding.md
@@ -0,0 +1,6 @@
+---
+title: Agentic Onboarding for RUM
+description: Instrument your frontend application with one prompt using LLM coding agents like Cursor or Claude.
+---
+
+{{< include-markdown "agentic_onboarding/setup" >}}
\ No newline at end of file
diff --git a/content/en/real_user_monitoring/application_monitoring/android/setup.md b/content/en/real_user_monitoring/application_monitoring/android/setup.md
index 10272a30a8f..ba64aefda04 100644
--- a/content/en/real_user_monitoring/application_monitoring/android/setup.md
+++ b/content/en/real_user_monitoring/application_monitoring/android/setup.md
@@ -27,7 +27,14 @@ The Datadog Android SDK supports Android 6.0+ (API level 23) and Android TV.
## Setup
-To start sending RUM data from your Android or Android TV application to Datadog:
+**Choose your setup method:**
+
+- **[Agentic Onboarding (in Preview)][18]**: Use AI coding agents (Cursor, Claude Code) to automatically instrument your Android application with one prompt. The agent detects your project structure and configures the RUM SDK for you.
+- **Manual setup** (below): Follow the instructions to manually add and configure the RUM SDK in your Android application.
+
+### Manual setup
+
+To send RUM data from your Android or Android TV application to Datadog, complete the following steps.
### Step 1 - Declare the Android SDK as a dependency
@@ -637,3 +644,4 @@ val inputStream = context.getRawResAsRumResource(id)
[15]: https://square.github.io/okhttp/features/interceptors/#network-interceptors
[16]: /real_user_monitoring/application_monitoring/android/advanced_configuration/#automatically-track-network-requests
[17]: https://square.github.io/okhttp/features/interceptors/
+[18]: /real_user_monitoring/application_monitoring/agentic_onboarding/?tab=realusermonitoring
\ No newline at end of file
diff --git a/content/en/real_user_monitoring/application_monitoring/browser/_index.md b/content/en/real_user_monitoring/application_monitoring/browser/_index.md
index 4130cf695c8..b3015dffbc5 100644
--- a/content/en/real_user_monitoring/application_monitoring/browser/_index.md
+++ b/content/en/real_user_monitoring/application_monitoring/browser/_index.md
@@ -23,6 +23,7 @@ To get started with RUM for Browser, create an application and configure the Bro
{{< whatsnext desc="This section includes the following topics:" >}}
{{< nextlink href="real_user_monitoring/application_monitoring/browser/setup/client">}}Client-Side: Instrument each of your browser-based web applications, deploy the application, then configure the initialization parameters you want to track, and use advanced configuration to further manage data and context that RUM collects.{{< /nextlink >}}
{{< nextlink href="/real_user_monitoring/application_monitoring/browser/setup/server">}}Auto-Instrumentation: Inject a RUM SDK JavaScript scriptlet into the HTML responses of your web applications being served through a web server or proxy.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/agentic_onboarding/?tab=realusermonitoring">}}Agentic Onboarding: (In Preview) Perform an AI-guided setup that detects your project's framework and adds the RUM SDK with a single prompt. {{< /nextlink >}}
{{< nextlink href="/real_user_monitoring/application_monitoring/browser/advanced_configuration">}}Advanced configuration: Configure RUM Browser SDK to modify data collection, override view names, manage user sessions, and control sampling for your application's needs.{{< /nextlink >}}
{{< nextlink href="/real_user_monitoring/application_monitoring/browser/data_collected">}}Data Collected: Review data that the Browser SDK collects.{{< /nextlink >}}
{{< nextlink href="/real_user_monitoring/application_monitoring/browser/monitoring_page_performance">}}Monitoring Page Performance: Monitor view timings to understand your application's performance from a user's perspective. {{< /nextlink >}}
diff --git a/content/en/real_user_monitoring/application_monitoring/browser/setup/_index.md b/content/en/real_user_monitoring/application_monitoring/browser/setup/_index.md
index 00176689a46..a8312f5b2fd 100644
--- a/content/en/real_user_monitoring/application_monitoring/browser/setup/_index.md
+++ b/content/en/real_user_monitoring/application_monitoring/browser/setup/_index.md
@@ -12,18 +12,20 @@ further_reading:
## Setup
{{< whatsnext desc="Choose the instrumentation type for the Browser SDK:" >}}
- {{< nextlink href="real_user_monitoring/application_monitoring/browser/setup/client">}}Client-Side: Instrument each of your browser-based web applications, deploy the application, then configure the initialization parameters you want to track, and use advanced configuration to further manage data and context that RUM collects.{{< /nextlink >}}
{{< nextlink href="/real_user_monitoring/application_monitoring/browser/setup/server">}}Auto-Instrumentation: Inject a RUM SDK JavaScript scriptlet into the HTML responses of your web applications being served through a web server or proxy.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/agentic_onboarding">}}Agentic Onboarding: Instrument your frontend applications with one prompt using LLM coding agents like Cursor or Claude.{{< /nextlink >}}
+ {{< nextlink href="real_user_monitoring/application_monitoring/browser/setup/client">}}Client-Side: Instrument your browser-based web applications, deploy them, configure the initialization parameters you want to track, and use advanced configuration to further manage the data and context that RUM collects.{{< /nextlink >}}
{{< /whatsnext >}}
## How to choose the instrumentation type
-| | Auto-instrumentation (Preview) | Client-side (Manual) |
-|----------------------|--------------------------------|----------------------|
-| **SDK setup mechanism** | [Automatically][1] add RUM JS to your web app HTML. Once RUM Auto-instrumentation is set-up, manage configurations from the UI. | [Manually][2] add the RUM SDK to your application code and manage configurations in code. |
-| **Code changes required** | No | Yes |
-| **Setup complexity** | Low | Medium |
-| **User groups** | **SRE and engineering teams** without access to frontend code, or **teams who need to manage** all observability needs centrally, may find this useful for: