Our team is debating the best approach for sharing Mode Analytics dashboards with external stakeholders. We’re comparing embedded dashboard collaboration using the Embed API versus direct report sharing links.
We have about 50 client organizations that need access to customized dashboards with row-level security. Some team members advocate for embedding dashboards in our customer portal using Mode’s Embed API, arguing it provides better control and seamless integration. Others prefer direct sharing with Mode’s native collaboration features, citing easier maintenance and built-in commenting capabilities.
I’m curious about real-world experiences with both approaches. What factors should drive this decision? Has anyone implemented both methods and can compare the collaboration efficiency, security implications, and maintenance overhead?
From a security perspective, the Embed API gives you much tighter control over row-level security. You can implement custom authentication and authorization logic in your application layer before generating embed tokens. This is crucial when dealing with sensitive client data across 50 organizations.
Direct sharing relies on Mode’s built-in permissions, which can become complex to manage at scale. You’d need to maintain separate user accounts for each client stakeholder and carefully configure workspace permissions.
We chose direct sharing for our client dashboards and honestly regret it. Managing 50+ client organizations means constantly updating permissions, dealing with password resets, and explaining Mode’s interface to non-technical users. The collaboration features are nice, but the administrative overhead is substantial.
If I could redo it, I’d go with embedded dashboards and build simple commenting into our own portal. The control and branding benefits outweigh losing Mode’s native collaboration tools.
After working with both approaches across multiple implementations, here’s my analysis of the three key areas:
Embed API Setup:
The initial investment is significant but worthwhile for 50+ client organizations. You’ll need to:
Implement secure token generation on your backend (typically 2-3 days of development)
Build iframe integration with responsive design (1-2 days)
Handle token refresh and session management (1 day)
Test across different browsers and devices (1-2 days)
Total setup: roughly 1-2 weeks of developer time. However, this creates a foundation that scales effortlessly. Adding new clients is just configuration, not additional Mode user licenses or permission management.
Row-Level Security:
This is where Embed API truly shines for multi-client scenarios. Your embed token includes user/client context that Mode uses to filter queries dynamically. Implementation pattern:
Define client_id in your user authentication
Pass client_id in embed token parameters
Reference {{client_id}} in Mode SQL queries for automatic filtering
No need to manage separate Mode accounts per client
Direct sharing requires maintaining Mode user accounts for each stakeholder, configuring permission groups per client, and ensuring data isolation through Mode’s permission system. With 50 clients averaging 3-5 stakeholders each, you’re managing 150-250 Mode accounts. The administrative burden compounds over time.
Collaboration Features:
This is the primary trade-off. Mode’s native collaboration (commenting, annotations, sharing) doesn’t work in embedded mode. You have three options:
Build Custom: Implement your own commenting system (as chen described). Requires ongoing maintenance but integrates with your workflows.
Hybrid Approach: Use embedded dashboards for viewing, provide “Open in Mode” links for users who need collaboration features. This works when collaboration is occasional rather than constant.
Third-Party Tools: Integrate collaboration tools like Slack or Microsoft Teams with webhook notifications when dashboard data changes. Not a perfect replacement but leverages tools clients already use.
My Recommendation for Your Scenario:
Go with Embed API for these reasons:
Scale: 50 clients will grow. Embed API scales linearly; direct sharing scales exponentially in complexity.
Security: Centralized row-level security in your application layer is more auditable and maintainable than distributed Mode permissions.
User Experience: Embedded dashboards in your portal feel like your product. Direct sharing exposes clients to Mode’s interface, creating support overhead.
Cost: Mode pricing often includes per-user fees. Embedding reduces the number of Mode accounts needed.
Branding: White-label experience maintains your brand throughout the client journey.
For collaboration features, start with a hybrid approach: embedded viewing with “Open in Mode” for power users who need commenting. Monitor usage and build custom collaboration only if there’s demonstrated need. Most external stakeholders primarily consume dashboards rather than collaborate on them.
The upfront development investment pays back within 6-12 months through reduced administrative overhead and better scalability.
These perspectives are really helpful. It sounds like the Embed API approach scales better for our 50-client scenario, despite the initial development effort. The row-level security control seems particularly important.
Has anyone dealt with the collaboration feature gap in embedded mode? How did you handle client requests for commenting or sharing specific insights?
I implemented Mode’s Embed API for a similar use case last year. The setup was more involved initially - you need to handle token generation, manage embed URLs, and build the iframe integration. But once it’s running, the user experience is seamless since dashboards appear native to your portal.
One gotcha: embedded dashboards lose some collaboration features. Native commenting and sharing don’t work in embedded mode, so you’d need to build those features yourself if clients need them.