Appearance
Sites
Sites are product workspaces. Each site keeps its customer engagement, product growth, automation, public surfaces, themes, knowledge, and integrations isolated from other sites.
Creating a Site
- Click the + button in the site sidebar
- Enter a name and color
- Click Create
The new site appears in the sidebar.
Site Sections
- Chat — Manage visitor and customer conversations
- Feedback — Review, moderate, assign, reply to, and bulk update requests
- Roadmap — Organize feedback into public roadmap lists
- Changelog — Draft, publish, and notify subscribers about release notes
- Surveys — Create targeted basic, NPS, and CSAT surveys
- Tours — Configure multi-step in-app guidance
- Highlights — Configure targeted in-app callouts
- Web messages — Publish targeted announcements and chat prompts
- Tracking — Review product events and interaction analytics
- Social — Monitor demand signals across supported public sources
- Content Strategy — Review growth opportunities and generated content
- AI Automation — Configure chat and lifecycle agents
- Customers — Review signed users, activity, feedback, and conversations
- Settings — Configure general site details, knowledge sources, theme, widget wording, portal, AI, and email templates
Each section has a dedicated page in this guide. Start with Widget and Portal when adding Managani to a product.
Public Portal Shortcuts
Use short public links for Roadmap and Changelog. These links redirect to the canonical section URL, so the browser address changes to /roadmap or /changelog. Query parameters are preserved.
On the Managani domain:
| Section | Shortcut | Destination |
|---|---|---|
| Roadmap | https://app.managani.com/s/SITE_SLUG/r | https://app.managani.com/s/SITE_SLUG/roadmap |
| Changelog | https://app.managani.com/s/SITE_SLUG/c | https://app.managani.com/s/SITE_SLUG/changelog |
With an active White-Label custom domain:
| Section | Shortcut | Destination |
|---|---|---|
| Roadmap | https://portal.example.com/r | https://portal.example.com/roadmap |
| Changelog | https://portal.example.com/c | https://portal.example.com/changelog |
If a site has an active custom domain, its Managani-domain shortcut redirects directly to the custom-domain destination.
Knowledge Sources
Site settings include a Knowledge sources tab. Public sources are URLs, Roadmap, and Changelog. Each source can be included in project search and enabled for the public widget.
Streamient project URLs, notes, and unscoped memories can ground Chat AI replies. Emails and customer-tagged records are restricted to the matching customer and remain background context. Widget search and the Widget Assistant use public sources only and never use Streamient.
Streamient writeback can save new Managani feedback as issue memory, then update that record when statuses or admin replies change.
The Streamient access token is sent only to the base URL and MCP URL it was saved with. If you change either URL, enter the access token again. Managani removes the saved token when a URL changes without a new token.
Install an Experience
In Settings > Website > Experiences, edit the Experience you want to install, open Embed, and copy its script into your website. Each snippet includes the Experience ID, including the Default Experience. Use the generated hostname, which includes your active white-label domain when configured.
Anonymous chat and Web messages need only this embed. No JWT, backend integration, or specific technology stack is required. Configure the Experience's trigger to show a Managani button or open it from your own page button. Existing generic embeds remain supported and select Default.
Signed Widget Users
Signed identity is optional for chat. Feedback submission, voting, comments, and customer-specific history require a signed user token. Generate the JWT on your server with the site secret, then add data-user-token to the chosen Experience's script while keeping its data-widget-id:
html
<script async src="https://your-instance.com/managani.js" data-site-key="PROJECT_KEY" data-widget-id="EXPERIENCE_ID" data-user-token="JWT_FROM_YOUR_SERVER"></script>Do not put the site secret in browser code. Public roadmap, changelog, and knowledge content can load without a signed user token.
Widget Interaction Tracking
The widget can track signed-user interactions when installed with managani.js. It records clicks, form submits, search terms, input focus, and input changes as /api/widget/track events.
Disable automatic browser interaction tracking:
html
<script async src="https://your-instance.com/managani.js" data-site-key="PROJECT_KEY" data-widget-id="EXPERIENCE_ID" data-auto-track-interactions="false"></script>Use window.ManaganiWidgetConfig for richer control:
html
<script>
window.ManaganiWidgetConfig = {
siteKey: 'PROJECT_KEY',
autoTrackInteractions: true,
captureValueSelectors: ['[data-track-value]'],
ignoreSelectors: ['[data-no-track]']
};
</script>Sensitive fields such as password, file, token, API key, card, CVC, and SSN fields are never value-captured.
Website description
Enter the public website URL in General settings or the new-site form. Managani fetches a description automatically before saving. An empty description stays disabled until fetching finishes; then you can edit it. Existing descriptions are preserved. If fetching fails, enter a description manually.
GitHub integration
Connect one repository under Settings → Integrations → GitHub. A team admin authorizes the GitHub App, installs it for the required repository if necessary, and selects that repository. Enable issue and comment sync starts reconciliation. Sync now requests a full pass; Test checks installation access. Progress, last successful sync, and errors appear on the same card.
Initial sync imports every open and closed issue with its comment history, excluding pull requests. It then exports existing public feedback and published changelogs. Private local feedback stays local until made public. Disconnect pauses the project connection without uninstalling the shared app or deleting either platform's records. Existing issue mappings remain attached to their original repository when another repository is selected.
Managani Cloud uses the instance's GitHub App. Self-hosted administrators configure their app once under Administration → GitHub App, entering App ID, client ID, client secret, private key, and webhook secret. Secrets are encrypted with the existing instance encryption key. Blank secret fields preserve configured values.
Register the displayed callback, setup, and webhook URLs in GitHub. Grant Issues: read and write and Metadata: read; enable issue, issue comment, repository, and installation events and expiring user tokens. Leave Request user authorization during installation disabled: Managani completes OAuth with session-bound state and PKCE first, then validates the installation during repository selection. The setup URL only returns installation instructions; it never trusts a supplied installation ID. Use Copy configured webhook secret when entering the webhook secret into GitHub. GitHub needs a publicly reachable HTTPS webhook URL. Development instances with private routes can use Sync now and the five-minute catch-up without public webhook delivery.
Webhook events update individual items. Five-minute catch-up handles missed updates; daily reconciliation checks full history and deleted comments. GitHub permission or rate-limit errors remain visible, and pending local changes are retained for retry. Instance administrators should use separate GitHub Apps for development and production so webhook destinations and credentials stay aligned with each instance.
If a create request has an uncertain outcome, automatic retries first search for the original Managani issue or comment identifier. Missing originals remain paused. After checking GitHub, use Sync now and confirm retry of pending creations. Managani checks the relevant remote pages again before retrying confirmed missing items.