Skip to content

Conversation

@oleksandrkits
Copy link
Contributor

Summary

  • Re-implemented Intercom chat widget integration with comprehensive admin controls
  • Added configuration UI under System Settings > Config > Intercom for enabling/disabling the widget
  • Implemented custom user attributes tracking (license key, DreamFactory tier, version)

Key Features

  • Admin UI Toggle: System admins can enable/disable Intercom widget without code changes
  • Lookup Keys API: Configuration stored persistently in DreamFactory database
  • No Environment Dependencies: Works out-of-the-box with fresh installations
  • Custom Attributes: Tracks user data, license info, and system metadata for better support

Implementation Details

  • Created DfIntercomConfigService to manage configuration via lookup keys API
  • Added DfIntercomConfigComponent with Material UI toggle for admin control
  • Updated IntercomService to check API configuration instead of environment variables
  • Widget is enabled by default, commercial customers can disable via UI
  • Styling matches existing DreamFactory config pages for consistency

Test Plan

  • Verify Intercom widget appears when enabled
  • Test toggle functionality in System Settings > Config > Intercom
  • Confirm configuration persists across sessions
  • Validate custom attributes are sent to Intercom
  • Test with fresh DreamFactory installation

🤖 Generated with Claude Code

oleksandrkits and others added 6 commits September 23, 2025 01:01
- Integrated Intercom messenger SDK with environment-based toggle
- Added INTERCOM_WIDGET flag (default: true) for easy enable/disable
- Configured custom attributes including license key for better support
- Custom attributes sent to Intercom:
  - is_sys_admin, is_root_admin, role_id
  - instance_url, license_key
- Widget can be disabled for commercial customers via environment config
- Increased initialization delay to ensure environment data loads

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add Intercom configuration page under System Settings > Config
- Implement toggle to enable/disable Intercom widget via UI
- Use DreamFactory lookup keys API for storing configuration
- Remove dependency on environment variables
- Widget enabled by default for new installations
- Commercial customers can disable without code changes
- Add custom attributes: license key, tier, version tracking
- Simplify UI to match other config pages styling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Format HTML, TypeScript, and SCSS files
- Ensure consistent code style across the codebase

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Updated production build with Intercom widget
- Includes configuration UI components
- Bundle size optimized for lazy loading

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@oleksandrkits oleksandrkits merged commit b6ad3cd into develop Sep 29, 2025
1 check passed
@oleksandrkits oleksandrkits deleted the DP-770 branch September 29, 2025 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants