# grovs documentation > grovs is an open-source, self-hostable platform for mobile apps: deep links, analytics, push and in-app engagement, revenue and event data. Every page is also available as Markdown: add .md to its URL. The full text of every page is at https://docs.grovs.io/llms-full.txt. ## Get started - [Get started](https://docs.grovs.io/docs/getting-started.md): Set up a Grovs project, add the SDK, and open your first link. - [Introduction](https://docs.grovs.io/docs/getting-started/introduction.md): What Grovs does: links, analytics, engagement, revenue and data, from one SDK and one dashboard. - [Quickstart](https://docs.grovs.io/docs/getting-started/quickstart.md): Integrate Grovs end to end in about 30 minutes. - [Project setup](https://docs.grovs.io/docs/getting-started/project-setup.md): Set your project's redirect rules, link domain and social preview in the Grovs dashboard. - [How-to guides](https://docs.grovs.io/docs/how-to-guides.md): Step-by-step instructions for common tasks and integrations with Grovs. - [iOS guides](https://docs.grovs.io/docs/how-to-guides/ios.md): Step-by-step guides for iOS SDK integration and configuration. - [How to get the Apple App Prefix](https://docs.grovs.io/docs/how-to-guides/ios/apple-app-prefix.md): Find your Apple App Prefix (Team ID) using the Apple Developer Portal or Xcode. - [How to get the bundle identifier](https://docs.grovs.io/docs/how-to-guides/ios/bundle-identifier.md): Find the Bundle Identifier for your iOS application. - [How to integrate a CocoaPods library](https://docs.grovs.io/docs/how-to-guides/ios/cocoapods.md): Add the Grovs SDK to your iOS project using CocoaPods. - [How to add an associated domain](https://docs.grovs.io/docs/how-to-guides/ios/associated-domain.md): Configure associated domains in Xcode for Universal Links. - [How to integrate a Swift Package Manager package](https://docs.grovs.io/docs/how-to-guides/ios/spm.md): Add the Grovs SDK to your iOS project using Swift Package Manager. - [How to add a new URL scheme](https://docs.grovs.io/docs/how-to-guides/ios/url-scheme.md): Configure custom URL schemes for deep linking in your iOS app. - [Android guides](https://docs.grovs.io/docs/how-to-guides/android.md): Step-by-step guides for Android SDK integration and configuration. - [How to add a package with Gradle](https://docs.grovs.io/docs/how-to-guides/android/gradle.md): Add the Grovs SDK dependency to your Android project using Gradle. - [How to get the package name](https://docs.grovs.io/docs/how-to-guides/android/package-name.md): Find the package name (application ID) for your Android app. - [How to get the SHA-256 fingerprint](https://docs.grovs.io/docs/how-to-guides/android/sha256-fingerprint.md): Obtain SHA-256 fingerprints for debug and release signing certificates. - [How to add a new intent filter](https://docs.grovs.io/docs/how-to-guides/android/intent-filter.md): Configure intent filters for deep linking in your Android app. - [Flutter guides](https://docs.grovs.io/docs/how-to-guides/flutter.md): Step-by-step guides for Flutter SDK integration and configuration. - [Integrating a pub.dev package](https://docs.grovs.io/docs/how-to-guides/flutter/pub-dev.md): Add the Grovs SDK to your Flutter project from pub.dev. - [React Native guides](https://docs.grovs.io/docs/how-to-guides/react-native.md): Step-by-step guides for React Native SDK integration and configuration. - [Integrating an npm package](https://docs.grovs.io/docs/how-to-guides/react-native/npm.md): Add the Grovs SDK to your React Native project using npm. - [Integrating a Yarn package](https://docs.grovs.io/docs/how-to-guides/react-native/yarn.md): Add the Grovs SDK to your React Native project using yarn. - [Unity guides](https://docs.grovs.io/docs/how-to-guides/unity.md): Step-by-step guides for Grovs Unity SDK setup. - [How to get the SHA-256 fingerprint in Unity](https://docs.grovs.io/docs/how-to-guides/unity/sha256-fingerprint.md): Get the SHA-256 fingerprints of the keys that sign your Unity Android build, for Grovs App Links. - [Web guides](https://docs.grovs.io/docs/how-to-guides/web.md): Step-by-step guides for Web SDK integration and configuration. - [How to integrate an npm package](https://docs.grovs.io/docs/how-to-guides/web/npm.md): Add the Grovs SDK to your web project using npm. - [Registering domains for SDK integration](https://docs.grovs.io/docs/how-to-guides/web/register-domains.md): Register all required domains for proper SDK functionality across environments. - [Migration guides](https://docs.grovs.io/docs/migration-guides.md): Step-by-step guides for migrating to Grovs from other deep linking platforms. - [Firebase Dynamic Links](https://docs.grovs.io/docs/migration-guides/firebase-dynamic-links.md): Migrate from Firebase Dynamic Links to Grovs for deep linking in your iOS and Android apps. - [iOS](https://docs.grovs.io/docs/migration-guides/firebase-dynamic-links/ios.md): Migrate your iOS app from Firebase Dynamic Links to Grovs for deep linking, universal link handling, and more. - [Android](https://docs.grovs.io/docs/migration-guides/firebase-dynamic-links/android.md): Migrate your Android app from Firebase Dynamic Links to Grovs for deep linking, link generation, and more. - [Migrate from Branch](https://docs.grovs.io/docs/migration-guides/branch.md): Move your existing Branch subdomain and links to Grovs without breaking old links. - [Migrate from AppsFlyer](https://docs.grovs.io/docs/migration-guides/appsflyer.md): Move your existing AppsFlyer OneLink subdomain and links to Grovs without breaking old links. - [Upgrade guides](https://docs.grovs.io/docs/upgrade-guides.md): What changes between major versions of each Grovs SDK, and how to move an existing integration forward. - [iOS SDK 3.1](https://docs.grovs.io/docs/upgrade-guides/ios-3-1.md): What changes when you move the Grovs iOS SDK from 3.0 to 3.1. - [iOS SDK 3.0](https://docs.grovs.io/docs/upgrade-guides/ios-3-0.md): What changes when you move the Grovs iOS SDK from 2.x to 3.0. - [Android SDK 3.1](https://docs.grovs.io/docs/upgrade-guides/android-3-1.md): What changes when you move the Grovs Android SDK from 3.0 to 3.1. - [Android SDK 3.0](https://docs.grovs.io/docs/upgrade-guides/android-3-0.md): What changes when you move the Grovs Android SDK from 1.x to 3.0. - [Web SDK 2.1](https://docs.grovs.io/docs/upgrade-guides/web-2-1.md): What changes when you move the Grovs Web SDK from 2.0 to 2.1. - [Web SDK 2.0](https://docs.grovs.io/docs/upgrade-guides/web-2-0.md): What changes when you move the Grovs Web SDK from 1.x to 2.0. - [Flutter SDK 3.2](https://docs.grovs.io/docs/upgrade-guides/flutter-3-2.md): What changes when you move the Grovs Flutter plugin from 3.0 to 3.1 and 3.2. - [Flutter SDK 3.0](https://docs.grovs.io/docs/upgrade-guides/flutter-3-0.md): What changes when you move the Grovs Flutter plugin from 1.x to 3.0. - [React Native SDK 3.0 to 3.1](https://docs.grovs.io/docs/upgrade-guides/react-native-3-1.md): What changes when you move the Grovs React Native wrapper from 3.0.x to 3.1.0, which wraps iOS SDK 3.1 and Android SDK 3.1.0. - [React Native SDK 3.0](https://docs.grovs.io/docs/upgrade-guides/react-native-3-0.md): What changes when you move the Grovs React Native wrapper from 1.x to 3.0. - [Troubleshooting](https://docs.grovs.io/docs/troubleshooting.md): Fixes for the most common Grovs integration issues, plus frequently asked questions. - [Deep link doesn't open the app](https://docs.grovs.io/docs/troubleshooting/deep-link-not-opening-app.md): Debug links that open the browser instead of your app: Universal Links on iOS, App Links on Android, and native config for Flutter and React Native. - [iOS setup checklist](https://docs.grovs.io/docs/troubleshooting/ios-setup-checklist.md): Verify your iOS integration end to end: dashboard values, Associated Domains, URL schemes, SDK logs, and every deep link flow before you ship. - [Deferred deep linking](https://docs.grovs.io/docs/troubleshooting/deferred-deep-linking.md): What happens when a link is clicked before the app is installed, and why the payload sometimes doesn't arrive on first launch. - [SDK configuration issues](https://docs.grovs.io/docs/troubleshooting/sdk-configuration-issues.md): Fix SDK initialization failures, wrong API keys, test/production environment mismatches, and links that come back nil or null. - [FAQ](https://docs.grovs.io/docs/troubleshooting/faq.md): Quick answers to the most common questions about Grovs links, SDKs, pricing, and self-hosting. ## Links - [Links](https://docs.grovs.io/docs/links.md): Create Grovs links that open your app or website, serve them from your own domain, match installs exactly, and bring web visitors into your app. - [How to Create a Link](https://docs.grovs.io/docs/links/create-link.md): Create a link in the dashboard and set its path, data, social preview, redirects and tracking. - [Copy to Clipboard](https://docs.grovs.io/docs/links/copy-to-clipboard.md): Match an install to the exact link that was tapped by copying the link to the clipboard on the preview page. - [Custom Domains](https://docs.grovs.io/docs/links/custom-domains.md): Serve your Grovs links from your own branded subdomain, with SSL included. - [Use Your Own Subdomain](https://docs.grovs.io/docs/links/custom-domains/use-your-own-subdomain.md): Serve your Grovs links from a branded subdomain you control, like links.acme.com, with SSL included. - [Smart banners](https://docs.grovs.io/docs/links/smart-banners.md): Show an app banner on your mobile website that opens your app on the same page, or sends people to the store and deep links them after install. - [Set up smart banners](https://docs.grovs.io/docs/links/smart-banners/set-up.md): Link your website, add the Web SDK, design and target a banner, and tell it what each page is about so the app opens on the right screen. - [How smart banners behave](https://docs.grovs.io/docs/links/smart-banners/behaviour.md): When a smart banner shows, which pages and devices it matches, how it hides after a close or a tap, what the button opens and what the stats count. ## Analytics - [Analytics](https://docs.grovs.io/docs/analytics.md): See where users come from, what they do and who they are: reports, custom dashboards, segments and usage. - [Reports and metrics](https://docs.grovs.io/docs/analytics/overview.md): What the Links, Campaigns, Visitors, Referrals and Events pages show, and what each metric means. - [What are MAUs?](https://docs.grovs.io/docs/analytics/maus.md): How Grovs counts monthly active users, and what happens when you pass your plan's limit. - [Dashboards](https://docs.grovs.io/docs/analytics/dashboards.md): Build your own boards of charts on the Home page, or copy a built-in one and change it. - [Widgets](https://docs.grovs.io/docs/analytics/dashboards/widgets.md): What a dashboard widget can chart: events, measures, breakdowns, filters, chart types and date range limits. - [Segments](https://docs.grovs.io/docs/analytics/segments.md): Group your users by what they did, what they use, how they arrived and what they bought, then count, list, export and target them. - [Build a segment](https://docs.grovs.io/docs/analytics/segments/build-a-segment.md): Create a segment in the dashboard, combine conditions and groups, and check its reach before you save. - [Condition types](https://docs.grovs.io/docs/analytics/segments/condition-types.md): Every segment condition, the fields and operators it accepts, and its limits. - [Identifier lists](https://docs.grovs.io/docs/analytics/segments/identifier-lists.md): Upload your own user IDs to a segment and match people who are, or are not, in the list. - [Members and exports](https://docs.grovs.io/docs/analytics/segments/members-and-exports.md): See how many people a segment holds, browse and search its members, split it by a dimension, and export it as CSV. - [Size history](https://docs.grovs.io/docs/analytics/segments/size-history.md): How Grovs records each segment's size once a day, and what resets the history. ## Engagement - [Engagement](https://docs.grovs.io/docs/engagement.md): Reach your users after the install: push campaigns, in-app messages, journeys and the experiments that measure them. - [Push campaigns](https://docs.grovs.io/docs/engagement/push-campaigns.md): Send push notifications to a segment, a list of your users or single devices, from the dashboard or your server, and see what happened to each one. - [Create a campaign](https://docs.grovs.io/docs/engagement/push-campaigns/create-a-campaign.md): Write a push, choose who gets it, and send it now, at a set time or at the same hour in each user's own timezone. - [Delivery and reporting](https://docs.grovs.io/docs/engagement/push-campaigns/delivery-and-reporting.md): Campaign statuses, what targeted, delivered, opened and failed mean, and how Grovs keeps the numbers right. - [Send from your server](https://docs.grovs.io/docs/engagement/push-campaigns/send-from-your-server.md): Trigger transactional pushes, such as order updates, from your backend with your project key. - [Limits and troubleshooting](https://docs.grovs.io/docs/engagement/push-campaigns/limits-and-troubleshooting.md): Size and audience limits, delivery pace, how push tokens are kept and removed, and what to do when a push doesn't arrive. - [In-app messages](https://docs.grovs.io/docs/engagement/in-app-messages.md): Show a banner, card, full-screen message or alert inside your app or website the moment something happens. - [Create an in-app message](https://docs.grovs.io/docs/engagement/in-app-messages/create-a-message.md): Write the message, choose when it shows and who sees it, set how often, send a test, and launch. - [Surveys and ratings](https://docs.grovs.io/docs/engagement/in-app-messages/surveys-and-ratings.md): Ask for a star rating or a choice in an in-app message, follow up with a comment or a store review, and read or export the answers. - [Custom HTML messages](https://docs.grovs.io/docs/engagement/in-app-messages/custom-html.md): Show your own HTML page as an in-app message, with video, audio and a small JavaScript bridge back to the SDK. - [Links and in-app browsers](https://docs.grovs.io/docs/engagement/in-app-messages/in-app-browser.md): What happens when someone taps a link in an in-app message, and how grovs links behave inside Instagram, TikTok and other social app browsers. - [In-app message reporting](https://docs.grovs.io/docs/engagement/in-app-messages/reporting.md): Read an in-app message's views, clicks and dismissals, and see exactly what the SDK counts as each. - [Journeys](https://docs.grovs.io/docs/engagement/journeys.md): Move each person through a multi-step flow of waits, splits, push notifications and in-app messages, and measure it against a control group. - [Build a journey](https://docs.grovs.io/docs/engagement/journeys/build-a-journey.md): Set how people enter, add waits, splits, pushes and in-app messages, set goals and a control group, and launch. - [Experiment paths](https://docs.grovs.io/docs/engagement/journeys/path-results.md): Split a journey into 2 or 3 random paths, compare their conversions and revenue, and send everyone down the path that wins. - [Journey limits and rules](https://docs.grovs.io/docs/engagement/journeys/limits.md): Who can enter a journey and when, re-entry, what each step checks before it runs, and how self-hosters stop the engine. - [Experiments](https://docs.grovs.io/docs/engagement/experiments.md): Compare message variants, hold back a control group, and find out whether a push, in-app message or journey changed what people do. - [Goals](https://docs.grovs.io/docs/engagement/experiments/goals.md): Choose what counts as a conversion: a built-in event, a custom event, a screen or a store purchase, within a time window after the message. - [Reading results](https://docs.grovs.io/docs/engagement/experiments/reading-results.md): What the experiment report shows, how lift and confidence are calculated, and how much data you need before trusting a result. ## Revenue - [Revenue](https://docs.grovs.io/docs/revenue.md): Record purchases from the App Store, Google Play and your own payments, validate them, and attribute them to the links that brought the buyer. - [Purchase and revenue goals](https://docs.grovs.io/docs/revenue/goals.md): Count a store purchase as the conversion of a push, in-app message or journey, and compare revenue per person against the control group. ## Data - [Data](https://docs.grovs.io/docs/data.md): Get your Grovs events out: stream them live to a webhook, a bucket or a pull feed, and export history as files. - [Event stream](https://docs.grovs.io/docs/data/event-stream.md): Send every analytics and purchase event to a webhook or an S3-compatible bucket, or read them yourself from a pull feed. - [Exports](https://docs.grovs.io/docs/data/exports.md): Export historical events as a file or through a destination, and export links and segment members as CSV. ## SDKs - [SDK reference](https://docs.grovs.io/docs/sdk.md): Platform SDK documentation for iOS, Android, Flutter, React Native, Unity, and Web. - [SDK releases](https://docs.grovs.io/docs/sdk/releases.md): Where each Grovs SDK is published, current versions, and where to find release notes. - [iOS SDK](https://docs.grovs.io/docs/sdk/ios.md): Integrate deep linking, attribution, and smart links into your iOS app with the Grovs SDK. - [Android SDK](https://docs.grovs.io/docs/sdk/android.md): Integrate deep linking, attribution, and smart links into your Android app with the Grovs SDK. - [Flutter SDK](https://docs.grovs.io/docs/sdk/flutter.md): Integrate deep linking, attribution, and smart links into your Flutter app with the Grovs SDK. - [React Native SDK](https://docs.grovs.io/docs/sdk/react-native.md): Integrate deep linking, attribution, and smart links into your React Native app with the Grovs SDK. - [Unity SDK](https://docs.grovs.io/docs/sdk/unity.md): Add deep linking, attribution, push campaigns, in-app messages and revenue tracking to Unity games on iOS and Android. - [Web SDK](https://docs.grovs.io/docs/sdk/web.md): Integrate smart links, attribution, analytics, in-app messages and smart banners into your web app with the Grovs SDK. - [Events & screen tracking](https://docs.grovs.io/docs/sdk/android/analytics.md): Track custom events and screen views in your Android app with the Grovs SDK. - [API reference](https://docs.grovs.io/docs/sdk/android/api-reference.md): Every public type, property and method in the Grovs Android SDK 3.1. - [Deep linking](https://docs.grovs.io/docs/sdk/android/deep-linking.md): Handle incoming deep links in your Android app with the Grovs SDK. - [In-app messages](https://docs.grovs.io/docs/sdk/android/in-app-messages.md): Show in-app messages from the Grovs dashboard in your Android app, hold them back on some screens, and react to taps and answers. - [Link creation](https://docs.grovs.io/docs/sdk/android/link-creation.md): Generate smart links programmatically in your Android app. - [Privacy & consent](https://docs.grovs.io/docs/sdk/android/privacy.md): Gate the Grovs Android SDK on user consent, and see what it collects. - [Push notifications](https://docs.grovs.io/docs/sdk/android/push-notifications.md): Receive Grovs push campaigns on Android, report opens, follow their links and show campaign images. - [Quick start](https://docs.grovs.io/docs/sdk/android/quick-start.md): Install and configure the Grovs Android SDK in your app. - [Revenue](https://docs.grovs.io/docs/sdk/android/revenue.md): Track in-app purchases and custom payments with the Grovs Android SDK. - [Events & screen tracking](https://docs.grovs.io/docs/sdk/flutter/analytics.md): Track custom events and screen views in your Flutter app with the Grovs SDK. - [API reference](https://docs.grovs.io/docs/sdk/flutter/api-reference.md): Every public type, property and method in the Grovs Flutter plugin 3.2. - [Deep linking](https://docs.grovs.io/docs/sdk/flutter/deep-linking.md): Handle incoming deep links, links tapped inside your app and SDK errors in your Flutter app with the Grovs SDK. - [In-app messages](https://docs.grovs.io/docs/sdk/flutter/in-app-messages.md): Show in-app messages from the Grovs dashboard in your Flutter app, hold them back on some screens, and react to taps and answers. - [Link creation](https://docs.grovs.io/docs/sdk/flutter/link-creation.md): Generate smart links and read link details in your Flutter app. - [Privacy & consent](https://docs.grovs.io/docs/sdk/flutter/privacy.md): Gate the Grovs Flutter SDK on user consent, and see what it collects. - [Push notifications](https://docs.grovs.io/docs/sdk/flutter/push-notifications.md): Receive Grovs push campaigns in a Flutter app: pass the token, count taps, follow campaign links and show images. - [Quick start](https://docs.grovs.io/docs/sdk/flutter/quick-start.md): Install and configure the Grovs Flutter SDK in your app. - [Revenue](https://docs.grovs.io/docs/sdk/flutter/revenue.md): Track in-app purchases and custom payments with the Grovs Flutter SDK. - [Events & screen tracking](https://docs.grovs.io/docs/sdk/ios/analytics.md): Track custom events and screen views in your iOS app with the Grovs SDK. - [API reference](https://docs.grovs.io/docs/sdk/ios/api-reference.md): Every public type, property and method in the Grovs iOS SDK 3.1. - [Deep linking](https://docs.grovs.io/docs/sdk/ios/deep-linking.md): Handle incoming deep links in your iOS app with the Grovs SDK. - [In-app messages](https://docs.grovs.io/docs/sdk/ios/in-app-messages.md): Show in-app messages from the Grovs dashboard in your iOS app, hold them back on some screens, and react to taps and answers. - [Link creation](https://docs.grovs.io/docs/sdk/ios/link-creation.md): Generate smart links programmatically in your iOS app. - [Privacy & consent](https://docs.grovs.io/docs/sdk/ios/privacy.md): Gate the Grovs iOS SDK on user consent, and see what it collects. - [Push notifications](https://docs.grovs.io/docs/sdk/ios/push-notifications.md): Receive Grovs push campaigns, report opens, follow their links and show campaign images. - [Quick start](https://docs.grovs.io/docs/sdk/ios/quick-start.md): Install and configure the Grovs iOS SDK in your app. - [Revenue](https://docs.grovs.io/docs/sdk/ios/revenue.md): Track in-app purchases and custom payments with the Grovs iOS SDK. - [Events & screen tracking](https://docs.grovs.io/docs/sdk/react-native/analytics.md): Track custom events and React Navigation screen views in your React Native app with the Grovs SDK. - [API reference](https://docs.grovs.io/docs/sdk/react-native/api-reference.md): Every public type and method in react-native-grovs-wrapper, including push and in-app messages from 3.1.0. - [Deep linking](https://docs.grovs.io/docs/sdk/react-native/deep-linking.md): Handle incoming deep links in your React Native app with the Grovs SDK. - [In-app messages](https://docs.grovs.io/docs/sdk/react-native/in-app-messages.md): Show in-app messages from the Grovs dashboard in your React Native app, hold them back on some screens, and react to taps and answers. - [Link creation](https://docs.grovs.io/docs/sdk/react-native/link-creation.md): Generate smart links programmatically in your React Native app, and look up a link by path. - [Privacy & consent](https://docs.grovs.io/docs/sdk/react-native/privacy.md): Gate the Grovs React Native SDK on user consent, and see what it collects. - [Push notifications](https://docs.grovs.io/docs/sdk/react-native/push-notifications.md): Receive Grovs push campaigns in a React Native app, report opens, follow their links and show campaign images. - [Quick start](https://docs.grovs.io/docs/sdk/react-native/quick-start.md): Install and configure the Grovs React Native SDK in your app. - [Revenue](https://docs.grovs.io/docs/sdk/react-native/revenue.md): Track in-app purchases and custom payments with the Grovs React Native SDK. - [Events & screen tracking](https://docs.grovs.io/docs/sdk/unity/analytics.md): Track custom events, screen views and scene changes in your Unity game with the Grovs SDK. - [API reference](https://docs.grovs.io/docs/sdk/unity/api-reference.md): Every public type, property, event and method in the Grovs Unity SDK 1.0. - [Deep linking](https://docs.grovs.io/docs/sdk/unity/deep-linking.md): Handle incoming deep links and SDK errors in your Unity game with the Grovs SDK. - [In-app messages](https://docs.grovs.io/docs/sdk/unity/in-app-messages.md): Show Grovs in-app messages over a Unity game, hold them back during play, and react to taps and answers. - [Link creation](https://docs.grovs.io/docs/sdk/unity/link-creation.md): Generate smart links from your Unity game with the Grovs SDK. - [Privacy & consent](https://docs.grovs.io/docs/sdk/unity/privacy.md): Gate the Grovs Unity SDK on player consent, and see what it collects. - [Push notifications](https://docs.grovs.io/docs/sdk/unity/push-notifications.md): Receive Grovs push campaigns in a Unity game, report opens and follow their links on iOS and Android. - [Quick start](https://docs.grovs.io/docs/sdk/unity/quick-start.md): Install the Grovs Unity package, fill in Project Settings and open your first link on a device. - [Revenue](https://docs.grovs.io/docs/sdk/unity/revenue.md): Track store purchases, Unity IAP purchases and custom payments with the Grovs Unity SDK. - [Events & screen tracking](https://docs.grovs.io/docs/sdk/web/analytics.md): Track custom events and screen views in your web app with the Grovs SDK. - [API reference](https://docs.grovs.io/docs/sdk/web/api-reference.md): Every public type and method in the Grovs Web SDK 2.1. - [Deep linking](https://docs.grovs.io/docs/sdk/web/deep-linking.md): Receive link payloads in your web app with the Grovs SDK. - [In-app messages](https://docs.grovs.io/docs/sdk/web/in-app-messages.md): Show in-app messages from the Grovs dashboard on your website, hold them back on some pages, and react to clicks and answers. - [Link creation](https://docs.grovs.io/docs/sdk/web/link-creation.md): Generate smart links programmatically in your web app. - [Privacy & consent](https://docs.grovs.io/docs/sdk/web/privacy.md): Gate the Grovs Web SDK on user consent, and see what it collects. - [Quick start](https://docs.grovs.io/docs/sdk/web/quick-start.md): Install and configure the Grovs Web SDK in your project. - [Revenue](https://docs.grovs.io/docs/sdk/web/revenue.md): Log purchases from your web app with the Grovs SDK. - [Smart banners](https://docs.grovs.io/docs/sdk/web/smart-banners.md): Show the dashboard's Open in app banner on mobile browsers and point it at the right screen. ## API - [API reference](https://docs.grovs.io/docs/api-reference.md): The grovs REST API: base URLs, request format, IDs and the resources you can call from your server. - [Authentication](https://docs.grovs.io/docs/api-reference/authentication.md): The two kinds of grovs API credentials: the project key and scoped keys. - [Errors](https://docs.grovs.io/docs/api-reference/errors.md): How the grovs API reports errors: the error body, status codes, error codes and rate limits. - [Links](https://docs.grovs.io/docs/api-reference/links.md): Create links from your server and read their details and lifetime metrics. - [Segments](https://docs.grovs.io/docs/api-reference/segments.md): Create, count and archive segments from your server, and upload the identifier lists they match. - [In-app messages](https://docs.grovs.io/docs/api-reference/in-app-messages.md): Create, launch and pause in-app messages from your server, send a test and read the report. - [Server push](https://docs.grovs.io/docs/api-reference/server-push.md): Send transactional push notifications from your server and track their delivery. - [Event stream](https://docs.grovs.io/docs/api-reference/event-stream.md): Read every analytics and purchase event of a project from the pull feed. - [Audit log](https://docs.grovs.io/docs/api-reference/audit-log.md): Export the tamper-evident audit log of a grovs project to your SIEM. ## Self-hosting - [Self-hosting](https://docs.grovs.io/docs/self-hosting.md): Run the whole Grovs platform on your own infrastructure as one Docker Compose stack. - [Get started](https://docs.grovs.io/docs/self-hosting/get-started.md): Try Grovs on your laptop, then deploy it on a server of your own. - [Try locally](https://docs.grovs.io/docs/self-hosting/get-started/try-locally.md): Run the full stack on your laptop to explore the dashboard and test link tracking, with no public server or DNS. - [Deploy on a server](https://docs.grovs.io/docs/self-hosting/get-started/deployment.md): Set up DNS, run the one-command installer and log in on any Linux server with Docker. - [Architecture](https://docs.grovs.io/docs/self-hosting/get-started/architecture.md): The services in the Compose stack, how traffic reaches them and how the backend routes requests by hostname. - [Platforms](https://docs.grovs.io/docs/self-hosting/platforms.md): Deploy Grovs on a self-hosted panel or a managed platform, with one guide per platform. - [Coolify](https://docs.grovs.io/docs/self-hosting/platforms/coolify.md): Deploy Grovs as a Raw Compose application on a Coolify server that uses the Traefik proxy. - [Dokploy](https://docs.grovs.io/docs/self-hosting/platforms/dokploy.md): Deploy Grovs as a Docker Compose service on Dokploy with Traefik routing for every link host. - [Easypanel](https://docs.grovs.io/docs/self-hosting/platforms/easypanel.md): Deploy Grovs on an Easypanel server from the preview service template, with shared object storage. - [CapRover](https://docs.grovs.io/docs/self-hosting/platforms/caprover.md): Deploy Grovs on a CapRover server from the preview One Click App template, with shared object storage. - [Railway](https://docs.grovs.io/docs/self-hosting/platforms/railway.md): Deploy Grovs on Railway from the template, or from the repository's infrastructure definition with the CLI. - [Render](https://docs.grovs.io/docs/self-hosting/platforms/render.md): Deploy Grovs on Render from the repository's Blueprint, with managed PostgreSQL and Key Value. - [Cloud VMs](https://docs.grovs.io/docs/self-hosting/clouds.md): Run the full stack on one virtual machine in your own cloud account. - [AWS](https://docs.grovs.io/docs/self-hosting/clouds/aws.md): Create a single EC2 server for Grovs with the CloudFormation template. - [Google Cloud](https://docs.grovs.io/docs/self-hosting/clouds/gcp.md): Create a Compute Engine VM for Grovs with the deploy script, from Cloud Shell or your workstation. - [Azure](https://docs.grovs.io/docs/self-hosting/clouds/azure.md): Create an Ubuntu VM for Grovs in your Azure subscription from the ARM template. - [DigitalOcean](https://docs.grovs.io/docs/self-hosting/clouds/digitalocean.md): Run the full Grovs stack on a DigitalOcean Droplet, installed by cloud-init on first boot. - [Hetzner](https://docs.grovs.io/docs/self-hosting/clouds/hetzner.md): Run the full Grovs stack on a Hetzner Cloud server, installed by cloud-init on first boot. - [Vultr](https://docs.grovs.io/docs/self-hosting/clouds/vultr.md): Run the full Grovs stack on a Vultr Cloud Compute instance with the shared Ubuntu installer. - [Akamai / Linode](https://docs.grovs.io/docs/self-hosting/clouds/akamai.md): Run the full Grovs stack on a Linode with the shared Ubuntu installer. - [Scaleway](https://docs.grovs.io/docs/self-hosting/clouds/scaleway.md): Run the full Grovs stack on a Scaleway Instance, over SSH or with cloud-init before first boot. - [Any Ubuntu server](https://docs.grovs.io/docs/self-hosting/clouds/cloud-vm.md): Install Grovs on a fresh Ubuntu server from any provider, using the steps every VM guide shares. - [Configure](https://docs.grovs.io/docs/self-hosting/configure.md): Environment variables, SDK setup and image versions for a self-hosted installation. - [Configuration](https://docs.grovs.io/docs/self-hosting/configure/configuration.md): Every environment variable for a self-hosted installation, plus optional features, email and branding. - [SDK configuration](https://docs.grovs.io/docs/self-hosting/configure/sdk-configuration.md): Point the Grovs SDKs at your self-hosted backend and set up Universal Links and App Links. - [Images and releases](https://docs.grovs.io/docs/self-hosting/configure/images.md): How Grovs images are tagged on GHCR, and how to select a release or follow the latest one. - [Operate](https://docs.grovs.io/docs/self-hosting/operate.md): Keep a running installation sized, monitored, backed up, current and secure. - [Production checklist](https://docs.grovs.io/docs/self-hosting/operate/production-checklist.md): Everything to confirm before a self-hosted installation takes real traffic, with a link to each how-to. - [Sizing](https://docs.grovs.io/docs/self-hosting/operate/sizing.md): Server sizes for Grovs Community, the process settings that use them and what to raise as load grows. - [Monitoring](https://docs.grovs.io/docs/self-hosting/operate/monitoring.md): Health endpoints, container checks, logs and the signals worth an alert on a Compose installation. - [Backups](https://docs.grovs.io/docs/self-hosting/operate/backups.md): Back up a Compose installation on a schedule, restore it step by step and prove the restore works. - [Upgrades](https://docs.grovs.io/docs/self-hosting/operate/upgrades.md): Pin a release, move to a new one with a short maintenance window and roll back if it fails. - [Security](https://docs.grovs.io/docs/self-hosting/operate/security.md): Harden a Compose installation: open ports, firewall, secrets, TLS, admin accounts and updates. - [Troubleshooting](https://docs.grovs.io/docs/self-hosting/operate/troubleshooting.md): Fixes for the common failures in a self-hosted installation, from containers to links and login. - [Enterprise](https://docs.grovs.io/docs/enterprise.md): Audit logs, single sign-on, SCIM provisioning and live event streaming for organisations. - [Audit log](https://docs.grovs.io/docs/enterprise/audit-log.md): A tamper-evident record of every security-relevant action on your project. - [SIEM integration](https://docs.grovs.io/docs/enterprise/audit-log/siem-integration.md): Stream your Grovs audit log into Splunk, Datadog, or any tool that can poll a JSON endpoint. - [Single sign-on](https://docs.grovs.io/docs/enterprise/sso.md): Sign your team in through your own identity provider, require it for your email domains, and let it create and deactivate accounts automatically. - [Microsoft Entra ID](https://docs.grovs.io/docs/enterprise/sso/microsoft-entra.md): Connect a Grovs project to your Entra ID tenant so your team signs in with their work account. - [Google Workspace](https://docs.grovs.io/docs/enterprise/sso/google-workspace.md): Connect a Grovs project to Google Workspace so your team signs in with their Google account. - [SCIM provisioning](https://docs.grovs.io/docs/enterprise/sso/scim-provisioning.md): Let your identity provider create, update and deactivate Grovs accounts automatically with SCIM 2.0. ## Build with AI - [Build with AI](https://docs.grovs.io/docs/ai.md): Connect your AI tools to Grovs, let a coding agent add the SDK for you, and give any model the docs in Markdown - [AI prompts](https://docs.grovs.io/docs/ai/prompts.md): Copy-paste prompts for coding agents: add deep linking to a screen, track a purchase, send yourself a test push. - [Docs for LLMs](https://docs.grovs.io/docs/ai/llms.md): Read the Grovs docs as Markdown: llms.txt, llms-full.txt, and any page with .md added to its URL - [MCP server](https://docs.grovs.io/docs/ai/mcp.md): Connect AI tools to Grovs through the Model Context Protocol - [Introduction](https://docs.grovs.io/docs/ai/mcp/introduction.md): Connect Claude, Cursor, VS Code, Windsurf and ChatGPT to Grovs through the Model Context Protocol. - [Cursor](https://docs.grovs.io/docs/ai/mcp/cursor.md): Add Grovs to Cursor so you can manage links and pull analytics from the AI chat. - [VS Code](https://docs.grovs.io/docs/ai/mcp/vs-code.md): Add Grovs to VS Code so GitHub Copilot's agent mode can manage links and read analytics. - [Claude Code](https://docs.grovs.io/docs/ai/mcp/claude-code.md): Add Grovs to Claude Code so you can manage links and pull analytics from your terminal. - [Claude Desktop and Claude.ai](https://docs.grovs.io/docs/ai/mcp/claude-desktop.md): Add Grovs to Claude Desktop so you can manage links and pull analytics from a chat. - [ChatGPT](https://docs.grovs.io/docs/ai/mcp/chatgpt.md): Add Grovs to ChatGPT so you can manage links and pull analytics from a chat. - [Windsurf](https://docs.grovs.io/docs/ai/mcp/windsurf.md): Add Grovs to Windsurf so you can manage links and pull analytics from the AI chat. - [Tools Reference](https://docs.grovs.io/docs/ai/mcp/tools-reference.md): Reference for every MCP tool the Grovs server exposes: projects, links, campaigns, analytics, and configuration. - [Example prompts](https://docs.grovs.io/docs/ai/mcp/examples.md): Prompts to give your AI assistant once grovs is connected, and the tools each one calls. - [Self-hosted MCP](https://docs.grovs.io/docs/ai/mcp/self-hosted.md): Run the open-source Grovs MCP server against your own self-hosted Grovs backend.