Same anonymous-first guarantee in every SDK. Three platforms, two slugs, one bottom sheet. Plus outbound integrations to Jira, Slack, and any HTTPS endpoint.
Published on pub.dev as insightdive_sdk. Two modes: modal bottom sheet managed by the SDK, or inline widget you place anywhere in your tree. Streams lifecycle events (viewed / started / completed / dismissed).
// pubspec.yaml dependencies: insightdive_sdk: ^0.3.0 // Modal — SDK manages the sheet Insightdive.configure( tenant: 'acme', survey: 'onboarding', apiKey: 'ik_…', // Admin → Settings → API ); await Insightdive.show(context); // Inline — you control placement & lifecycle InsightdiveSurvey( options: Insightdive.options, onEvent: (e) { if (e is FeedbackCompleted) setState(() => _show = false); }, )
Published on npm as @insightdive/sdk. Two display modes: modal bottom sheet (overlay on the page) or inline embed (iframe dropped directly into your layout). Full TypeScript types. Works from React, Vue, Angular, vanilla JS — or drop the CDN script with no build step.
import { Insightdive } from '@insightdive/sdk'; Insightdive.configure({ tenant: 'acme', survey: 'onboarding', apiKey: 'ik_abc123...', }); // Modal — bottom sheet overlay const result = await Insightdive.show(); // result.status === 'completed' | 'dismissed' // Inline — embedded iframe (container needs explicit CSS height) Insightdive.embed(document.getElementById('survey-slot'));
Published on NuGet as Insightdive. Two display modes: dialog window (460×680, non-blocking) or inline control (InsightdiveSurveyControl embedded directly in your layout). Two targets: net8.0 with full Avalonia UI + screenshot capture; netstandard2.0 for status-check only (no UI dependency).
# Install dotnet add package Insightdive // App.axaml.cs — one-shot setup at startup InsightdiveSDK.Configure(new InsightdiveOptions { Tenant = "acme", Survey = "onboarding", ApiKey = "ik_abc123...", // Admin → Settings → API ProductVersion = Assembly.GetEntryAssembly()?.GetName().Version?.ToString(), ProductIdentifier = "myapp-desktop", Locale = CultureInfo.CurrentCulture.Name, Theme = "dark", }); // Dialog window — opens as a 460×680 non-blocking window if (await InsightdiveSDK.Instance.IsAvailableAsync()) await InsightdiveSDK.Instance.ShowAsync(this); // Inline control — embed directly in your layout (net8.0) var token = await InsightdiveSDK.Instance.FetchEmbedTokenAsync(); var url = UrlBuilder.SurveyUrl(InsightdiveSDK.Instance.Options, token); var control = new InsightdiveSurveyControl(InsightdiveSDK.Instance, url); MyPanel.Children.Add(control);
Server-to-server endpoints for backends that already collect feedback. Bearer-token auth scoped to your workspace. Useful for forwarding from existing forms or batch imports.
# Public — embed clients call this to decide whether to show the entry point GET https://<tenant>.insightdive.com/api/v1/surveys/<survey>/status # Server-to-server — Authorization: Bearer <tenant API key> POST https://<tenant>.insightdive.com/api/v1/submissions
Two-click ticket creation from any insight. Maps sentiment, summary, and transcript into the issue body. Per-project Jira project keys, or a default fallback. Atlassian API token — no admin role required.
Push new insights, AI summaries, and theme runs to a Slack incoming webhook — or any HTTPS endpoint. Payloads are signed with HMAC SHA-256 so you can verify they came from us.
The full integration guide for your stack lives in the admin — generated against your project's slug and tenant.
Get your workspace