Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -282,29 +282,16 @@ const Sidebar: React.FC<SidebarProps> = ({ business, user, isCollapsed, toggleCo
</SidebarSection>
)}
{/* Extend Section - Tasks & Automations */}
{(hasPermission('can_access_tasks') || hasPermission('can_access_automations')) && (
{/* Extend Section - Automations */}
{hasPermission('can_access_automations') && (
<SidebarSection title={t('nav.sections.extend', 'Extend')} isCollapsed={isCollapsed}>
{hasPermission('can_access_tasks') && (
<SidebarItem
to="/dashboard/tasks"
icon={Clock}
label={t('nav.tasks', 'Tasks')}
isCollapsed={isCollapsed}
locked={!canUse('automations') || !canUse('tasks')}
badgeElement={<UnfinishedBadge />}
/>
)}
{hasPermission('can_access_automations') && (
<SidebarItem
to="/dashboard/automations/my-automations"
icon={Plug}
label={t('nav.automations', 'Automations')}
isCollapsed={isCollapsed}
locked={!canUse('automations')}
badgeElement={<UnfinishedBadge />}
/>
)}
<SidebarItem
to="/dashboard/automations"
icon={Plug}
label={t('nav.automations', 'Automations')}
isCollapsed={isCollapsed}
locked={!canUse('automations')}
/>
</SidebarSection>
)}