From 50d26f1a6adc0432976fce652fe1278b3ca24097 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Oct 2025 11:40:50 -0400 Subject: [PATCH 1/2] [dev] [Marfuen] mariano/ll (#1683) * refactor(cloud-tests): update EmptyState component layout and content * feat: added integrations * feat(identity): add multiple identity integrations with setup hints --------- Co-authored-by: Mariano Fuentes --- .../cloud-tests/components/EmptyState.tsx | 28 +- .../components/IntegrationsGrid.tsx | 321 ++++++++++++ .../integrations/data/categories/cloud.ts | 137 +++++ .../data/categories/development.ts | 244 +++++++++ .../integrations/data/categories/hr.ts | 190 +++++++ .../integrations/data/categories/identity.ts | 487 ++++++++++++++++++ .../[orgId]/integrations/data/integrations.ts | 56 ++ .../app/(app)/[orgId]/integrations/layout.tsx | 3 + .../app/(app)/[orgId]/integrations/page.tsx | 24 + apps/app/src/components/main-menu.tsx | 9 + 10 files changed, 1490 insertions(+), 9 deletions(-) create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/components/IntegrationsGrid.tsx create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/identity.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/layout.tsx create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/page.tsx diff --git a/apps/app/src/app/(app)/[orgId]/cloud-tests/components/EmptyState.tsx b/apps/app/src/app/(app)/[orgId]/cloud-tests/components/EmptyState.tsx index 2cf931a90..3f3dad0c4 100644 --- a/apps/app/src/app/(app)/[orgId]/cloud-tests/components/EmptyState.tsx +++ b/apps/app/src/app/(app)/[orgId]/cloud-tests/components/EmptyState.tsx @@ -336,17 +336,27 @@ export function EmptyState({ onBack, connectedProviders = [] }: EmptyStateProps )} -
-
- +
+
+
+
+ +
-
-

- {onBack ? 'Add Another Cloud' : 'Connect Your Cloud'} +
+

+ {onBack ? 'Add Another Cloud' : 'Continuous Cloud Scanning'}

-

- Choose your cloud provider to start scanning for security vulnerabilities -

+
+

+ Automatically monitor your cloud infrastructure for security vulnerabilities and + compliance issues. +

+
+
+ Always-on monitoring +
+
diff --git a/apps/app/src/app/(app)/[orgId]/integrations/components/IntegrationsGrid.tsx b/apps/app/src/app/(app)/[orgId]/integrations/components/IntegrationsGrid.tsx new file mode 100644 index 000000000..73ce80a10 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/components/IntegrationsGrid.tsx @@ -0,0 +1,321 @@ +'use client'; + +import { Badge } from '@comp/ui/badge'; +import { Button } from '@comp/ui/button'; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@comp/ui/card'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from '@comp/ui/dialog'; +import { Input } from '@comp/ui/input'; +import { ArrowRight, Search, Sparkles, X } from 'lucide-react'; +import Image from 'next/image'; +import Link from 'next/link'; +import { useParams } from 'next/navigation'; +import { useMemo, useState } from 'react'; +import { toast } from 'sonner'; +import { + CATEGORIES, + INTEGRATIONS, + type Integration, + type IntegrationCategory, +} from '../data/integrations'; + +const LOGO_TOKEN = 'pk_AZatYxV5QDSfWpRDaBxzRQ'; + +export function IntegrationsGrid() { + const { orgId } = useParams<{ orgId: string }>(); + const [searchQuery, setSearchQuery] = useState(''); + const [selectedCategory, setSelectedCategory] = useState('All'); + const [selectedIntegration, setSelectedIntegration] = useState(null); + + // Filter integrations with fuzzy search + const filteredIntegrations = useMemo(() => { + let filtered = INTEGRATIONS; + + // Filter by category + if (selectedCategory !== 'All') { + filtered = filtered.filter((i) => i.category === selectedCategory); + } + + // Fuzzy search - more flexible matching + if (searchQuery.trim()) { + const query = searchQuery.toLowerCase().trim(); + const terms = query.split(' ').filter(Boolean); + + filtered = filtered.filter((i) => { + const searchText = + `${i.name} ${i.description} ${i.category} ${i.examplePrompts.join(' ')}`.toLowerCase(); + // Match if ANY search term is found + return terms.some((term) => searchText.includes(term)); + }); + } + + return filtered; + }, [searchQuery, selectedCategory]); + + const handleCopyPrompt = (prompt: string) => { + navigator.clipboard.writeText(prompt); + toast.success('Prompt copied to clipboard!'); + }; + + return ( +
+ {/* Search and Filters */} +
+ {/* Search Bar */} +
+ + setSearchQuery(e.target.value)} + className="pl-10" + /> + {searchQuery && ( + + )} +
+ + {/* Category Filters */} +
+ + {CATEGORIES.map((category) => ( + + ))} +
+
+ + {/* Results info - only show when filtering */} + {(searchQuery || selectedCategory !== 'All') && filteredIntegrations.length > 0 && ( +
+ Showing {filteredIntegrations.length}{' '} + {filteredIntegrations.length === 1 ? 'match' : 'matches'} +
+ )} + + {/* Integration Cards */} +
+ {filteredIntegrations.map((integration) => ( + setSelectedIntegration(integration)} + > + +
+
+
+ {`${integration.name} +
+
+ + {integration.name} + {integration.popular && ( + + Popular + + )} + +

{integration.category}

+
+
+
+
+ + + {integration.description} + + + + {/* Hover overlay */} +
+ + ))} +
+ + {/* Empty state - opportunity, not limitation */} + {filteredIntegrations.length === 0 && ( +
+
+
+
+ +
+
+

Just ask the agent

+

+ {searchQuery ? ( + <> + "{searchQuery}" isn't in our directory, but the agent can connect to it + anyway. Describe what you need in natural language. + + ) : ( + <> + The agent can integrate with any system—you're not limited to this directory. + + )} +

+
+
+ +
+

Example for your search:

+
+ + +
+ + Go to Tasks to get started + + +
+ + {searchQuery && ( + + )} +
+
+ )} + + {/* Integration Detail Modal */} + {selectedIntegration && ( + setSelectedIntegration(null)}> + + +
+
+ {`${selectedIntegration.name} +
+
+ {selectedIntegration.name} +

+ {selectedIntegration.category} +

+
+
+ + {selectedIntegration.description} + +
+ +
+ {/* Setup Instructions */} +
+

How to Connect

+
+

+ Use the example prompts below, or describe what you need in your own words. The + agent will handle authentication and setup. +

+ {selectedIntegration.setupHint && ( +

+ Typically requires:{' '} + {selectedIntegration.setupHint} +

+ )} +
+
+ + {/* Example Prompts */} +
+

Example Prompts

+
+ {selectedIntegration.examplePrompts.map((prompt, index) => ( + + ))} +
+
+ Click any prompt to copy + + Go to Tasks + + +
+
+
+
+
+ )} +
+ ); +} diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts new file mode 100644 index 000000000..434e4a0a0 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts @@ -0,0 +1,137 @@ +import { Integration } from '../integrations'; + +export const cloudIntegrations: Integration[] = [ + { + id: 'aws', + name: 'AWS Security Hub', + domain: 'aws.amazon.com', + description: 'AWS security findings and compliance checks', + category: 'Cloud Security', + popular: true, + examplePrompts: [ + 'Check for critical findings in AWS Security Hub', + 'Verify all S3 buckets have encryption enabled', + 'List EC2 instances with public IPs', + ], + setupHint: 'Requires AWS credentials with SecurityHub access', + }, + { + id: 'gcp', + name: 'GCP Security', + domain: 'cloud.google.com', + description: 'Google Cloud security posture monitoring', + category: 'Cloud Security', + popular: true, + examplePrompts: [ + 'Get GCP Security Command Center findings', + 'Verify Cloud Storage buckets are private', + 'Check IAM users with owner role', + ], + setupHint: 'Requires service account with Security Center access', + }, + { + id: 'azure', + name: 'Azure Security', + domain: 'azure.microsoft.com', + description: 'Azure security center and compliance monitoring', + category: 'Cloud Security', + popular: true, + examplePrompts: [ + 'Get Azure Security Center recommendations', + 'Check if VMs have disk encryption', + 'List storage accounts without network restrictions', + ], + setupHint: 'Requires Azure Security Reader role', + }, + { + id: 'cloudflare', + name: 'Cloudflare', + domain: 'cloudflare.com', + description: 'DNS security, DDoS protection, and firewall rules', + category: 'Cloud Security', + examplePrompts: [ + 'Check Cloudflare firewall rules', + 'Verify SSL/TLS settings for all domains', + 'Get WAF security events', + ], + setupHint: 'Requires Cloudflare API token', + }, + { + id: 'digitalocean', + name: 'DigitalOcean', + domain: 'digitalocean.com', + description: 'Cloud infrastructure and droplet management', + category: 'Cloud Security', + examplePrompts: [ + 'List all DigitalOcean droplets', + 'Check firewall configurations', + 'Verify backup settings', + ], + setupHint: 'Requires DigitalOcean API token', + }, + { + id: 'heroku', + name: 'Heroku', + domain: 'heroku.com', + description: 'Cloud platform application deployment', + category: 'Cloud Security', + examplePrompts: [ + 'List all Heroku apps and dynos', + 'Check SSL certificate status', + 'Verify environment variables security', + ], + setupHint: 'Requires Heroku API key', + }, + { + id: 'vercel', + name: 'Vercel', + domain: 'vercel.com', + description: 'Frontend cloud platform', + category: 'Cloud Security', + examplePrompts: [ + 'List all Vercel deployments', + 'Check environment variable security', + 'Verify domain SSL settings', + ], + setupHint: 'Requires Vercel API token', + }, + { + id: 'netlify', + name: 'Netlify', + domain: 'netlify.com', + description: 'Web hosting and automation platform', + category: 'Cloud Security', + examplePrompts: [ + 'Get all Netlify sites', + 'Check deploy hooks and webhooks', + 'Verify access controls', + ], + setupHint: 'Requires Netlify API token', + }, + { + id: 'terraform-cloud', + name: 'Terraform Cloud', + domain: 'terraform.io', + description: 'Infrastructure as code management', + category: 'Cloud Security', + examplePrompts: [ + 'Check Terraform Cloud workspace configurations', + 'List recent infrastructure changes', + 'Verify state file security', + ], + setupHint: 'Requires Terraform Cloud API token', + }, + { + id: 'pulumi', + name: 'Pulumi', + domain: 'pulumi.com', + description: 'Modern infrastructure as code', + category: 'Cloud Security', + examplePrompts: [ + 'Get Pulumi stack configurations', + 'Check recent deployments', + 'Verify secret management', + ], + setupHint: 'Requires Pulumi access token', + }, +]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts new file mode 100644 index 000000000..9dc9d45bb --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts @@ -0,0 +1,244 @@ +import { Integration } from '../integrations'; + +export const developmentIntegrations: Integration[] = [ + { + id: 'github', + name: 'GitHub', + domain: 'github.com', + description: 'Repository security, Dependabot, branch protection', + category: 'Development', + popular: true, + examplePrompts: [ + 'Check if Dependabot is enabled on all repos', + 'Verify branch protection on main branches', + 'List repositories with security alerts', + ], + setupHint: 'Requires GitHub token or GitHub App', + }, + { + id: 'gitlab', + name: 'GitLab', + domain: 'gitlab.com', + description: 'GitLab security scanning and code compliance', + category: 'Development', + popular: true, + examplePrompts: [ + 'Check SAST scanning configuration in GitLab', + 'List projects with open vulnerabilities', + 'Verify merge approval requirements', + ], + setupHint: 'Requires GitLab API token', + }, + { + id: 'bitbucket', + name: 'Bitbucket', + domain: 'bitbucket.org', + description: 'Git repository hosting and collaboration', + category: 'Development', + examplePrompts: [ + 'List all Bitbucket repositories', + 'Check branch permissions', + 'Verify required reviewers', + ], + setupHint: 'Requires Bitbucket app password', + }, + { + id: 'snyk', + name: 'Snyk', + domain: 'snyk.io', + description: 'Developer security and vulnerability scanning', + category: 'Development', + popular: true, + examplePrompts: [ + 'Get Snyk vulnerability scan results', + 'List critical security issues', + 'Check dependency vulnerabilities', + ], + setupHint: 'Requires Snyk API token', + }, + { + id: 'sonarqube', + name: 'SonarQube', + domain: 'sonarqube.org', + description: 'Code quality and security analysis', + category: 'Development', + examplePrompts: [ + 'Get SonarQube code quality metrics', + 'List security hotspots', + 'Check code coverage', + ], + setupHint: 'Requires SonarQube token', + }, + { + id: 'jfrog', + name: 'JFrog Artifactory', + domain: 'jfrog.com', + description: 'Universal artifact repository manager', + category: 'Development', + examplePrompts: [ + 'List artifacts in JFrog', + 'Check for vulnerable dependencies', + 'Verify artifact security scanning', + ], + setupHint: 'Requires JFrog API key', + }, + { + id: 'npm', + name: 'npm', + domain: 'npmjs.com', + description: 'Node package management and auditing', + category: 'Development', + examplePrompts: [ + 'Check npm package vulnerabilities', + 'List published packages', + 'Verify package access controls', + ], + setupHint: 'Requires npm access token', + }, + { + id: 'docker-hub', + name: 'Docker Hub', + domain: 'docker.com', + description: 'Container image registry', + category: 'Development', + examplePrompts: [ + 'List Docker images', + 'Check for image vulnerabilities', + 'Verify image scanning policies', + ], + setupHint: 'Requires Docker Hub access token', + }, + { + id: 'circleci', + name: 'CircleCI', + domain: 'circleci.com', + description: 'Continuous integration and delivery', + category: 'Development', + examplePrompts: [ + 'Check CircleCI pipeline configurations', + 'List recent builds and failures', + 'Verify security contexts', + ], + setupHint: 'Requires CircleCI API token', + }, + { + id: 'jenkins', + name: 'Jenkins', + domain: 'jenkins.io', + description: 'Open source automation server', + category: 'Development', + examplePrompts: [ + 'List Jenkins jobs and status', + 'Check plugin versions', + 'Verify security configurations', + ], + setupHint: 'Requires Jenkins API token', + }, + { + id: 'travis-ci', + name: 'Travis CI', + domain: 'travis-ci.com', + description: 'Continuous integration platform', + category: 'Development', + examplePrompts: [ + 'Get Travis CI build status', + 'Check repository configurations', + 'List recent test results', + ], + setupHint: 'Requires Travis CI API token', + }, + { + id: 'pagerduty', + name: 'PagerDuty', + domain: 'pagerduty.com', + description: 'Incident response and on-call management', + category: 'Development', + examplePrompts: [ + 'Get recent PagerDuty incidents', + 'Check on-call schedules', + 'Verify escalation policies', + ], + setupHint: 'Requires PagerDuty API key', + }, + { + id: 'opsgenie', + name: 'Opsgenie', + domain: 'atlassian.com', + description: 'Alert and on-call management', + category: 'Development', + examplePrompts: [ + 'Get Opsgenie alert history', + 'Check on-call rotations', + 'Verify notification rules', + ], + setupHint: 'Requires Opsgenie API key', + }, + { + id: 'jira', + name: 'Jira', + domain: 'atlassian.com', + description: 'Issue tracking and project management', + category: 'Development', + popular: true, + examplePrompts: [ + 'List all open security tickets in Jira', + 'Check sprint progress', + 'Verify issue workflows', + ], + setupHint: 'Requires Jira API token', + }, + { + id: 'linear', + name: 'Linear', + domain: 'linear.app', + description: 'Modern issue tracking', + category: 'Development', + popular: true, + examplePrompts: [ + 'Get Linear issues for our team', + 'Check project status', + 'List security-related issues', + ], + setupHint: 'Requires Linear API key', + }, + { + id: 'asana', + name: 'Asana', + domain: 'asana.com', + description: 'Work management platform', + category: 'Development', + examplePrompts: [ + 'Get Asana tasks and projects', + 'Check task completion rates', + 'Verify project timelines', + ], + setupHint: 'Requires Asana API token', + }, + { + id: 'monday', + name: 'Monday.com', + domain: 'monday.com', + description: 'Work operating system', + category: 'Development', + examplePrompts: [ + 'Get Monday.com boards and items', + 'Check workflow automation', + 'Verify task assignments', + ], + setupHint: 'Requires Monday.com API token', + }, + { + id: 'clubhouse', + name: 'Shortcut', + domain: 'shortcut.com', + description: 'Project management for software teams', + category: 'Development', + examplePrompts: [ + 'List Shortcut stories and epics', + 'Check iteration progress', + 'Verify story workflows', + ], + setupHint: 'Requires Shortcut API token', + }, +]; + diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts new file mode 100644 index 000000000..2974c59bd --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts @@ -0,0 +1,190 @@ +import { Integration } from '../integrations'; + +export const hrIntegrations: Integration[] = [ + { + id: 'bamboohr', + name: 'BambooHR', + domain: 'bamboohr.com', + description: 'Employee records and onboarding/offboarding tracking', + category: 'HR & People', + popular: true, + examplePrompts: [ + 'Get list of all active employees from BambooHR', + 'Check which employees started in the last 30 days', + 'Verify background check completion for new hires', + ], + setupHint: 'Requires BambooHR API key', + }, + { + id: 'workday', + name: 'Workday', + domain: 'workday.com', + description: 'Enterprise HR and employee compliance tracking', + category: 'HR & People', + popular: true, + examplePrompts: [ + 'Pull security training completion dates from Workday', + 'Check terminated employees in the last 7 days', + 'Verify policy acknowledgment for all staff', + ], + setupHint: 'Requires Workday integration credentials', + }, + { + id: 'rippling', + name: 'Rippling', + domain: 'rippling.com', + description: 'Unified HR, IT, and device management', + category: 'HR & People', + popular: true, + examplePrompts: [ + 'Check device assignments for all employees', + 'Verify security training completion', + 'List pending offboarding tasks', + ], + setupHint: 'Requires Rippling API credentials', + }, + { + id: 'gusto', + name: 'Gusto', + domain: 'gusto.com', + description: 'Payroll, benefits, and HR management', + category: 'HR & People', + examplePrompts: [ + 'Get employee roster from Gusto', + 'Check new hire onboarding status', + 'Verify employee data completeness', + ], + setupHint: 'Requires Gusto API token', + }, + { + id: 'adp', + name: 'ADP', + domain: 'adp.com', + description: 'Payroll and workforce management', + category: 'HR & People', + examplePrompts: [ + 'Pull employee data from ADP', + 'Check terminated employees', + 'Verify employment records', + ], + setupHint: 'Requires ADP API credentials', + }, + { + id: 'namely', + name: 'Namely', + domain: 'namely.com', + description: 'HR platform for mid-sized companies', + category: 'HR & People', + examplePrompts: [ + 'Get active employee list from Namely', + 'Check onboarding completion', + 'Verify time-off policies', + ], + setupHint: 'Requires Namely API access', + }, + { + id: 'paylocity', + name: 'Paylocity', + domain: 'paylocity.com', + description: 'Cloud-based payroll and HCM software', + category: 'HR & People', + examplePrompts: [ + 'Pull employee directory from Paylocity', + 'Check new hire paperwork completion', + 'Verify benefits enrollment', + ], + setupHint: 'Requires Paylocity API credentials', + }, + { + id: 'personio', + name: 'Personio', + domain: 'personio.de', + description: 'HR management and recruiting platform', + category: 'HR & People', + examplePrompts: [ + 'Get employee data from Personio', + 'Check absence tracking', + 'Verify employee documents', + ], + setupHint: 'Requires Personio API token', + }, + { + id: 'hibob', + name: 'HiBob', + domain: 'hibob.com', + description: 'Modern HR platform for dynamic companies', + category: 'HR & People', + examplePrompts: [ + 'Pull employee information from Bob', + 'Check onboarding workflows', + 'Verify employee satisfaction surveys', + ], + setupHint: 'Requires Bob API credentials', + }, + { + id: 'zenefits', + name: 'Zenefits', + domain: 'zenefits.com', + description: 'HR, benefits, and payroll platform', + category: 'HR & People', + examplePrompts: [ + 'Get employee roster from Zenefits', + 'Check benefits enrollment status', + 'Verify onboarding checklists', + ], + setupHint: 'Requires Zenefits API access', + }, + { + id: 'deel', + name: 'Deel', + domain: 'deel.com', + description: 'Global HR and payroll for remote teams', + category: 'HR & People', + examplePrompts: [ + 'Get contractor and employee list from Deel', + 'Check compliance documentation', + 'Verify payment records', + ], + setupHint: 'Requires Deel API token', + }, + { + id: 'justworks', + name: 'Justworks', + domain: 'justworks.com', + description: 'Payroll, benefits, and HR platform', + category: 'HR & People', + examplePrompts: [ + 'Pull employee data from Justworks', + 'Check benefits administration', + 'Verify compliance documents', + ], + setupHint: 'Requires Justworks API credentials', + }, + { + id: 'breathehr', + name: 'BreatheHR', + domain: 'breathehr.com', + description: 'Simple HR management software', + category: 'HR & People', + examplePrompts: [ + 'Get employee directory from BreatheHR', + 'Check leave balances', + 'Verify employee reviews', + ], + setupHint: 'Requires BreatheHR API key', + }, + { + id: 'factorial', + name: 'Factorial', + domain: 'factorialhr.com', + description: 'All-in-one HR software', + category: 'HR & People', + examplePrompts: [ + 'Pull employee data from Factorial', + 'Check document signatures', + 'Verify time tracking', + ], + setupHint: 'Requires Factorial API token', + }, +]; + diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/identity.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/identity.ts new file mode 100644 index 000000000..707f9fb09 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/identity.ts @@ -0,0 +1,487 @@ +import { Integration } from '../integrations'; + +export const identityIntegrations: Integration[] = [ + { + id: 'okta', + name: 'Okta', + domain: 'okta.com', + description: 'Identity and access management, SSO, MFA enforcement', + category: 'Identity & Access', + popular: true, + examplePrompts: [ + 'Check if MFA is enforced for all users in Okta', + 'List all Okta users without MFA enabled', + 'Verify SSO is configured for our applications', + ], + setupHint: 'Requires Okta API token with read permissions', + }, + { + id: 'azure-ad', + name: 'Azure AD', + domain: 'microsoft.com', + description: 'Microsoft identity platform and conditional access', + category: 'Identity & Access', + popular: true, + examplePrompts: [ + 'Check conditional access policies in Azure AD', + 'List all guest users in our Azure tenant', + 'Verify all users have MFA registered', + ], + setupHint: 'Requires Azure AD app with Directory.Read.All', + }, + { + id: 'google-workspace', + name: 'Google Workspace', + domain: 'workspace.google.com', + description: 'Google Workspace admin and security settings', + category: 'Identity & Access', + popular: true, + examplePrompts: [ + 'Check 2FA enforcement in Google Workspace', + 'List all external users with Drive access', + 'Verify admin users and permissions', + ], + setupHint: 'Requires service account with Admin SDK access', + }, + { + id: 'auth0', + name: 'Auth0', + domain: 'auth0.com', + description: 'Authentication and authorization platform', + category: 'Identity & Access', + examplePrompts: [ + 'Check Auth0 MFA policies', + 'List all applications and their authentication rules', + 'Verify password policies meet requirements', + ], + setupHint: 'Requires Auth0 Management API token', + }, + { + id: 'onelogin', + name: 'OneLogin', + domain: 'onelogin.com', + description: 'Cloud-based identity and access management', + category: 'Identity & Access', + examplePrompts: [ + 'Check OneLogin SSO configuration', + 'List users without MFA', + 'Verify role assignments', + ], + setupHint: 'Requires OneLogin API credentials', + }, + { + id: 'jumpcloud', + name: 'JumpCloud', + domain: 'jumpcloud.com', + description: 'Directory-as-a-service and device management', + category: 'Identity & Access', + examplePrompts: [ + 'Check JumpCloud user directory', + 'Verify device compliance policies', + 'List admin users and permissions', + ], + setupHint: 'Requires JumpCloud API key', + }, + { + id: 'duo', + name: 'Duo Security', + domain: 'duo.com', + description: 'Two-factor authentication and access security', + category: 'Identity & Access', + examplePrompts: [ + 'Check Duo MFA enrollment status', + 'List users without Duo registration', + 'Verify Duo authentication logs', + ], + setupHint: 'Requires Duo Admin API credentials', + }, + { + id: 'ping-identity', + name: 'Ping Identity', + domain: 'pingidentity.com', + description: 'Enterprise identity and access management', + category: 'Identity & Access', + examplePrompts: [ + 'Check Ping Identity SSO configuration', + 'List all federated applications', + 'Verify access policies', + ], + setupHint: 'Requires PingOne API credentials', + }, + { + id: 'sailpoint', + name: 'SailPoint', + domain: 'sailpoint.com', + description: 'Identity governance and administration', + category: 'Identity & Access', + examplePrompts: [ + 'Get SailPoint identity governance reports', + 'Check access certifications', + 'Verify role assignments', + ], + setupHint: 'Requires SailPoint IdentityIQ API access', + }, + { + id: 'cyberark', + name: 'CyberArk', + domain: 'cyberark.com', + description: 'Privileged access management', + category: 'Identity & Access', + examplePrompts: [ + 'Check CyberArk vault access', + 'List privileged accounts', + 'Verify session recordings', + ], + setupHint: 'Requires CyberArk API credentials', + }, + { + id: 'beyond-trust', + name: 'BeyondTrust', + domain: 'beyondtrust.com', + description: 'Privileged access and identity management', + category: 'Identity & Access', + examplePrompts: [ + 'Get BeyondTrust privileged accounts', + 'Check password rotation policies', + 'Verify session monitoring', + ], + setupHint: 'Requires BeyondTrust API token', + }, + { + id: 'thycotic', + name: 'Delinea', + domain: 'delinea.com', + description: 'Privileged access management (formerly Thycotic)', + category: 'Identity & Access', + examplePrompts: [ + 'Check Delinea secret server access', + 'List privileged account usage', + 'Verify password policies', + ], + setupHint: 'Requires Delinea API credentials', + }, + { + id: 'centrify', + name: 'Centrify', + domain: 'centrify.com', + description: 'Identity and access management platform', + category: 'Identity & Access', + examplePrompts: [ + 'Get Centrify user access', + 'Check privilege elevation policies', + 'Verify MFA configuration', + ], + setupHint: 'Requires Centrify API access', + }, + { + id: 'forgerock', + name: 'ForgeRock', + domain: 'forgerock.com', + description: 'Digital identity platform', + category: 'Identity & Access', + examplePrompts: [ + 'Check ForgeRock identity configurations', + 'List user authentication methods', + 'Verify access policies', + ], + setupHint: 'Requires ForgeRock API credentials', + }, + { + id: 'rsa-securid', + name: 'RSA SecurID', + domain: 'rsa.com', + description: 'Multi-factor authentication', + category: 'Identity & Access', + examplePrompts: [ + 'Check RSA SecurID enrollment', + 'List token assignments', + 'Verify authentication policies', + ], + setupHint: 'Requires RSA API access', + }, + { + id: 'cisco-duo', + name: 'Cisco Duo', + domain: 'duo.com', + description: 'Multi-factor authentication and device trust', + category: 'Identity & Access', + examplePrompts: [ + 'Get Duo Security enrollment status', + 'Check device trust policies', + 'Verify authentication logs', + ], + setupHint: 'Requires Duo Admin API', + }, + { + id: 'google-cloud-identity', + name: 'Google Cloud Identity', + domain: 'cloud.google.com', + description: 'Cloud identity and access management', + category: 'Identity & Access', + examplePrompts: [ + 'Check Cloud Identity user groups', + 'List device management status', + 'Verify access policies', + ], + setupHint: 'Requires Google Cloud Identity API access', + }, + { + id: 'aws-iam', + name: 'AWS IAM', + domain: 'aws.amazon.com', + description: 'AWS identity and access management', + category: 'Identity & Access', + popular: true, + examplePrompts: [ + 'List all AWS IAM users and roles', + 'Check for IAM users without MFA', + 'Verify least privilege access policies', + ], + setupHint: 'Requires AWS credentials with IAM read access', + }, + { + id: 'aws-sso', + name: 'AWS SSO', + domain: 'aws.amazon.com', + description: 'AWS Single Sign-On', + category: 'Identity & Access', + examplePrompts: [ + 'Check AWS SSO user assignments', + 'List permission sets', + 'Verify account access', + ], + setupHint: 'Requires AWS SSO admin access', + }, + { + id: 'gcp-iam', + name: 'GCP IAM', + domain: 'cloud.google.com', + description: 'Google Cloud identity and access management', + category: 'Identity & Access', + examplePrompts: [ + 'List GCP IAM members and roles', + 'Check service account permissions', + 'Verify least privilege policies', + ], + setupHint: 'Requires GCP IAM API access', + }, + { + id: 'azure-rbac', + name: 'Azure RBAC', + domain: 'azure.microsoft.com', + description: 'Azure role-based access control', + category: 'Identity & Access', + examplePrompts: [ + 'List Azure role assignments', + 'Check custom role definitions', + 'Verify subscription access', + ], + setupHint: 'Requires Azure RBAC Reader role', + }, + { + id: 'ldap', + name: 'LDAP', + domain: 'openldap.org', + description: 'Lightweight Directory Access Protocol', + category: 'Identity & Access', + examplePrompts: [ + 'Query LDAP directory for users', + 'Check group memberships', + 'Verify organizational units', + ], + setupHint: 'Requires LDAP bind credentials', + }, + { + id: 'active-directory', + name: 'Active Directory', + domain: 'microsoft.com', + description: 'Windows Active Directory services', + category: 'Identity & Access', + popular: true, + examplePrompts: [ + 'Get Active Directory user accounts', + 'Check group policies', + 'Verify domain controller settings', + ], + setupHint: 'Requires AD admin credentials', + }, + { + id: 'keycloak', + name: 'Keycloak', + domain: 'keycloak.org', + description: 'Open source identity and access management', + category: 'Identity & Access', + examplePrompts: [ + 'Check Keycloak realm configurations', + 'List client applications', + 'Verify authentication flows', + ], + setupHint: 'Requires Keycloak admin API access', + }, + { + id: 'gluu', + name: 'Gluu', + domain: 'gluu.org', + description: 'Open source IAM platform', + category: 'Identity & Access', + examplePrompts: [ + 'Get Gluu server configuration', + 'Check authentication methods', + 'Verify user federation', + ], + setupHint: 'Requires Gluu API credentials', + }, + { + id: 'freeipa', + name: 'FreeIPA', + domain: 'freeipa.org', + description: 'Identity management for Linux/Unix', + category: 'Identity & Access', + examplePrompts: [ + 'Query FreeIPA user directory', + 'Check host-based access control', + 'Verify sudo rules', + ], + setupHint: 'Requires FreeIPA admin credentials', + }, + { + id: 'secret-server', + name: 'Secret Server', + domain: 'delinea.com', + description: 'Privileged password management', + category: 'Identity & Access', + examplePrompts: [ + 'Get Secret Server vault status', + 'Check password rotation schedules', + 'Verify access permissions', + ], + setupHint: 'Requires Secret Server API token', + }, + { + id: 'aws-secrets-manager', + name: 'AWS Secrets Manager', + domain: 'aws.amazon.com', + description: 'Secrets and credentials management', + category: 'Identity & Access', + examplePrompts: [ + 'List all secrets in AWS Secrets Manager', + 'Check secret rotation status', + 'Verify access policies', + ], + setupHint: 'Requires AWS credentials with Secrets Manager access', + }, + { + id: 'azure-key-vault', + name: 'Azure Key Vault', + domain: 'azure.microsoft.com', + description: 'Cloud secrets and key management', + category: 'Identity & Access', + examplePrompts: [ + 'List Azure Key Vault secrets', + 'Check access policies', + 'Verify encryption keys', + ], + setupHint: 'Requires Azure Key Vault access', + }, + { + id: 'gcp-secret-manager', + name: 'GCP Secret Manager', + domain: 'cloud.google.com', + description: 'Google Cloud secrets management', + category: 'Identity & Access', + examplePrompts: ['List GCP secrets', 'Check secret versions', 'Verify IAM access policies'], + setupHint: 'Requires GCP Secret Manager API access', + }, + { + id: 'hashicorp-vault', + name: 'HashiCorp Vault', + domain: 'vaultproject.io', + description: 'Secrets and encryption management', + category: 'Identity & Access', + popular: true, + examplePrompts: [ + 'Get Vault seal status', + 'Check secrets engine configuration', + 'Verify access policies', + ], + setupHint: 'Requires Vault token', + }, + { + id: 'twingate', + name: 'Twingate', + domain: 'twingate.com', + description: 'Zero Trust network access', + category: 'Identity & Access', + examplePrompts: [ + 'Check Twingate user access', + 'List network resources', + 'Verify access policies', + ], + setupHint: 'Requires Twingate API key', + }, + { + id: 'cloudflare-zero-trust', + name: 'Cloudflare Zero Trust', + domain: 'cloudflare.com', + description: 'Zero Trust access control', + category: 'Identity & Access', + examplePrompts: [ + 'Check Cloudflare Access policies', + 'List protected applications', + 'Verify authentication methods', + ], + setupHint: 'Requires Cloudflare API token', + }, + { + id: 'zscaler-zia', + name: 'Zscaler', + domain: 'zscaler.com', + description: 'Cloud security and Zero Trust', + category: 'Identity & Access', + examplePrompts: [ + 'Get Zscaler security policies', + 'Check user access logs', + 'Verify firewall rules', + ], + setupHint: 'Requires Zscaler API credentials', + }, + { + id: 'perimeter81', + name: 'Perimeter 81', + domain: 'perimeter81.com', + description: 'Zero Trust secure network', + category: 'Identity & Access', + examplePrompts: [ + 'Check Perimeter 81 network access', + 'List user VPN status', + 'Verify access policies', + ], + setupHint: 'Requires Perimeter 81 API key', + }, + { + id: 'pritunl', + name: 'Pritunl', + domain: 'pritunl.com', + description: 'Enterprise VPN server', + category: 'Identity & Access', + examplePrompts: [ + 'List Pritunl VPN users', + 'Check server configurations', + 'Verify access routes', + ], + setupHint: 'Requires Pritunl API token', + }, + { + id: 'openvpn', + name: 'OpenVPN', + domain: 'openvpn.net', + description: 'Open source VPN solution', + category: 'Identity & Access', + examplePrompts: [ + 'Check OpenVPN user connections', + 'List active sessions', + 'Verify server configurations', + ], + setupHint: 'Requires OpenVPN Access Server API', + }, +]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts new file mode 100644 index 000000000..cfdce2469 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts @@ -0,0 +1,56 @@ +/** + * Integration definitions for the integrations directory + * + * SCALING STRATEGY: + * - Integrations organized by category in separate files + * - Each category file stays < 500 lines for LLM-friendliness + * - Import and merge here for single source of truth + * - Easy to add new integrations category-by-category + */ + +import { identityIntegrations } from './categories/identity'; +import { hrIntegrations } from './categories/hr'; +import { cloudIntegrations } from './categories/cloud'; +import { developmentIntegrations } from './categories/development'; + +export interface Integration { + id: string; + name: string; + domain: string; + description: string; + category: IntegrationCategory; + examplePrompts: string[]; + setupHint?: string; + popular?: boolean; +} + +export type IntegrationCategory = + | 'Identity & Access' + | 'HR & People' + | 'Cloud Security' + | 'Development' + | 'Communication' + | 'Monitoring' + | 'Infrastructure'; + +/** + * All integrations - merged from category files + * Total integrations will grow as we add more categories + */ +export const INTEGRATIONS: Integration[] = [ + ...identityIntegrations, + ...hrIntegrations, + ...cloudIntegrations, + ...developmentIntegrations, + // More categories will be added: communication, monitoring, compliance, infrastructure +]; + +export const CATEGORIES: IntegrationCategory[] = [ + 'Identity & Access', + 'HR & People', + 'Cloud Security', + 'Development', + 'Communication', + 'Monitoring', + 'Infrastructure', +]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/layout.tsx b/apps/app/src/app/(app)/[orgId]/integrations/layout.tsx new file mode 100644 index 000000000..e11597e51 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/layout.tsx @@ -0,0 +1,3 @@ +export default function IntegrationsLayout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/apps/app/src/app/(app)/[orgId]/integrations/page.tsx b/apps/app/src/app/(app)/[orgId]/integrations/page.tsx new file mode 100644 index 000000000..3cf7fe5d1 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/page.tsx @@ -0,0 +1,24 @@ +import { IntegrationsGrid } from './components/IntegrationsGrid'; + +export default function IntegrationsPage() { + return ( +
+
+ {/* Header */} +
+
+

Integrations

+ +
+

+ Connect to any system through the AI agent. This directory shows common patterns—the + agent can integrate with anything that has an API or web interface. +

+
+ + {/* Integrations Grid */} + +
+
+ ); +} diff --git a/apps/app/src/components/main-menu.tsx b/apps/app/src/components/main-menu.tsx index b12349669..a165522dd 100644 --- a/apps/app/src/components/main-menu.tsx +++ b/apps/app/src/components/main-menu.tsx @@ -13,6 +13,7 @@ import { ShieldEllipsis, Store, Users, + Zap, } from 'lucide-react'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; @@ -111,6 +112,14 @@ export function MainMenu({ icon: Store, protected: false, }, + { + id: 'integrations', + path: '/:organizationId/integrations', + name: 'Integrations', + disabled: false, + icon: Zap, + protected: false, + }, { id: 'tests', path: '/:organizationId/cloud-tests', From aa18e08ea8f1e220d809f1a0353791085628fc67 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Oct 2025 11:51:42 -0400 Subject: [PATCH 2/2] [dev] [Marfuen] mariano/ll-2 (#1685) * chore(integrations): more integrations --------- Co-authored-by: Mariano Fuentes --- .../integrations/data/categories/cloud.ts | 220 +++++ .../data/categories/communication.ts | 393 +++++++++ .../data/categories/development.ts | 337 +++++++- .../integrations/data/categories/hr.ts | 315 +++++++- .../data/categories/infrastructure.ts | 752 ++++++++++++++++++ .../data/categories/monitoring.ts | 365 +++++++++ .../[orgId]/integrations/data/integrations.ts | 11 +- 7 files changed, 2388 insertions(+), 5 deletions(-) create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/communication.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/infrastructure.ts create mode 100644 apps/app/src/app/(app)/[orgId]/integrations/data/categories/monitoring.ts diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts index 434e4a0a0..7f8fb7dee 100644 --- a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/cloud.ts @@ -134,4 +134,224 @@ export const cloudIntegrations: Integration[] = [ ], setupHint: 'Requires Pulumi access token', }, + { + id: 'aws-cloudtrail', + name: 'AWS CloudTrail', + domain: 'aws.amazon.com', + description: 'AWS API activity logging', + category: 'Cloud Security', + popular: true, + examplePrompts: [ + 'Query CloudTrail for admin actions', + 'Check recent API calls', + 'Verify trail configurations', + ], + setupHint: 'Requires AWS credentials with CloudTrail access', + }, + { + id: 'aws-config', + name: 'AWS Config', + domain: 'aws.amazon.com', + description: 'AWS resource configuration tracking', + category: 'Cloud Security', + examplePrompts: [ + 'Get AWS Config compliance status', + 'Check resource configurations', + 'Verify config rules', + ], + setupHint: 'Requires AWS Config API access', + }, + { + id: 'aws-guardduty', + name: 'AWS GuardDuty', + domain: 'aws.amazon.com', + description: 'AWS threat detection service', + category: 'Cloud Security', + examplePrompts: [ + 'Get GuardDuty findings', + 'Check threat intelligence', + 'Verify detector status', + ], + setupHint: 'Requires AWS GuardDuty access', + }, + { + id: 'aws-inspector', + name: 'AWS Inspector', + domain: 'aws.amazon.com', + description: 'Automated security assessment', + category: 'Cloud Security', + examplePrompts: ['Get Inspector assessment runs', 'Check findings', 'Verify scan coverage'], + setupHint: 'Requires AWS Inspector API access', + }, + { + id: 'aws-macie', + name: 'AWS Macie', + domain: 'aws.amazon.com', + description: 'Data security and privacy service', + category: 'Cloud Security', + examplePrompts: [ + 'Get Macie sensitive data findings', + 'Check S3 bucket security', + 'Verify data classification', + ], + setupHint: 'Requires AWS Macie access', + }, + { + id: 'gcp-cloud-armor', + name: 'GCP Cloud Armor', + domain: 'cloud.google.com', + description: 'DDoS protection and WAF', + category: 'Cloud Security', + examplePrompts: [ + 'Get Cloud Armor security policies', + 'Check threat intelligence', + 'Verify rate limiting rules', + ], + setupHint: 'Requires GCP Compute API access', + }, + { + id: 'gcp-access-transparency', + name: 'GCP Access Transparency', + domain: 'cloud.google.com', + description: 'Google Cloud access logging', + category: 'Cloud Security', + examplePrompts: [ + 'Get Access Transparency logs', + 'Check admin access events', + 'Verify transparency scope', + ], + setupHint: 'Requires GCP Logging API access', + }, + { + id: 'azure-defender', + name: 'Microsoft Defender for Cloud', + domain: 'azure.microsoft.com', + description: 'Cloud workload protection', + category: 'Cloud Security', + popular: true, + examplePrompts: [ + 'Get Defender for Cloud alerts', + 'Check security recommendations', + 'Verify protection coverage', + ], + setupHint: 'Requires Azure Security Center access', + }, + { + id: 'azure-sentinel', + name: 'Microsoft Sentinel', + domain: 'azure.microsoft.com', + description: 'Cloud-native SIEM', + category: 'Cloud Security', + examplePrompts: [ + 'Query Sentinel for security incidents', + 'Check hunting queries', + 'Verify data connectors', + ], + setupHint: 'Requires Azure Sentinel API access', + }, + { + id: 'azure-policy', + name: 'Azure Policy', + domain: 'azure.microsoft.com', + description: 'Azure governance and compliance', + category: 'Cloud Security', + examplePrompts: [ + 'Get Azure Policy compliance state', + 'Check policy assignments', + 'Verify initiative definitions', + ], + setupHint: 'Requires Azure Policy Reader role', + }, + { + id: 'alibaba-cloud', + name: 'Alibaba Cloud', + domain: 'alibabacloud.com', + description: 'Cloud computing services', + category: 'Cloud Security', + examplePrompts: [ + 'Get Alibaba Cloud security alerts', + 'Check resource configurations', + 'Verify access controls', + ], + setupHint: 'Requires Alibaba Cloud API credentials', + }, + { + id: 'oracle-cloud', + name: 'Oracle Cloud', + domain: 'oracle.com', + description: 'Oracle cloud infrastructure', + category: 'Cloud Security', + examplePrompts: [ + 'Get Oracle Cloud security findings', + 'Check compartment policies', + 'Verify network security', + ], + setupHint: 'Requires Oracle Cloud API access', + }, + { + id: 'ibm-cloud', + name: 'IBM Cloud', + domain: 'ibm.com', + description: 'IBM cloud services and security', + category: 'Cloud Security', + examplePrompts: [ + 'Get IBM Cloud security events', + 'Check resource configurations', + 'Verify access policies', + ], + setupHint: 'Requires IBM Cloud API key', + }, + { + id: 'linode', + name: 'Linode', + domain: 'linode.com', + description: 'Cloud infrastructure provider', + category: 'Cloud Security', + examplePrompts: [ + 'List Linode instances', + 'Check firewall rules', + 'Verify backup configurations', + ], + setupHint: 'Requires Linode API token', + }, + { + id: 'vultr', + name: 'Vultr', + domain: 'vultr.com', + description: 'Cloud compute platform', + category: 'Cloud Security', + examplePrompts: ['Get Vultr server list', 'Check firewall groups', 'Verify SSH key management'], + setupHint: 'Requires Vultr API key', + }, + { + id: 'scaleway', + name: 'Scaleway', + domain: 'scaleway.com', + description: 'European cloud provider', + category: 'Cloud Security', + examplePrompts: ['List Scaleway instances', 'Check security groups', 'Verify IAM policies'], + setupHint: 'Requires Scaleway API token', + }, + { + id: 'ovhcloud', + name: 'OVHcloud', + domain: 'ovhcloud.com', + description: 'European cloud infrastructure', + category: 'Cloud Security', + examplePrompts: [ + 'Get OVHcloud resource inventory', + 'Check network configurations', + 'Verify access controls', + ], + setupHint: 'Requires OVHcloud API credentials', + }, + { + id: 'hetzner', + name: 'Hetzner Cloud', + domain: 'hetzner.com', + description: 'European cloud hosting', + category: 'Cloud Security', + examplePrompts: ['List Hetzner Cloud servers', 'Check firewall rules', 'Verify SSH key usage'], + setupHint: 'Requires Hetzner Cloud API token', + }, ]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/communication.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/communication.ts new file mode 100644 index 000000000..10041cc3f --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/communication.ts @@ -0,0 +1,393 @@ +import { Integration } from '../integrations'; + +export const communicationIntegrations: Integration[] = [ + { + id: 'slack', + name: 'Slack', + domain: 'slack.com', + description: 'Team communication and compliance notifications', + category: 'Communication', + popular: true, + examplePrompts: [ + 'Send security alert to #security channel in Slack', + 'Notify team when a compliance check fails', + 'Post daily compliance summary to Slack', + ], + setupHint: 'Requires Slack bot token or webhook', + }, + { + id: 'microsoft-teams', + name: 'Microsoft Teams', + domain: 'teams.microsoft.com', + description: 'Enterprise messaging and collaboration', + category: 'Communication', + popular: true, + examplePrompts: [ + 'Send compliance alerts to Teams channel', + 'Post security updates to Teams', + 'Notify team of policy changes', + ], + setupHint: 'Requires Microsoft Teams webhook or bot', + }, + { + id: 'discord', + name: 'Discord', + domain: 'discord.com', + description: 'Community and team communication', + category: 'Communication', + examplePrompts: [ + 'Send alerts to Discord channel', + 'Post security notifications', + 'Notify team of compliance events', + ], + setupHint: 'Requires Discord webhook or bot token', + }, + { + id: 'zoom', + name: 'Zoom', + domain: 'zoom.us', + description: 'Video conferencing and webinars', + category: 'Communication', + examplePrompts: [ + 'List Zoom meeting security settings', + 'Check waiting room enforcement', + 'Verify recording policies', + ], + setupHint: 'Requires Zoom API credentials', + }, + { + id: 'google-meet', + name: 'Google Meet', + domain: 'meet.google.com', + description: 'Video conferencing platform', + category: 'Communication', + examplePrompts: [ + 'Check Google Meet security settings', + 'List meeting recordings', + 'Verify external participant policies', + ], + setupHint: 'Requires Google Workspace API access', + }, + { + id: 'webex', + name: 'Cisco Webex', + domain: 'webex.com', + description: 'Video conferencing and collaboration', + category: 'Communication', + examplePrompts: [ + 'Get Webex security settings', + 'Check meeting policies', + 'Verify recording controls', + ], + setupHint: 'Requires Webex API token', + }, + { + id: 'mattermost', + name: 'Mattermost', + domain: 'mattermost.com', + description: 'Open source team collaboration', + category: 'Communication', + examplePrompts: [ + 'Check Mattermost team access', + 'List channels and permissions', + 'Verify data retention policies', + ], + setupHint: 'Requires Mattermost API token', + }, + { + id: 'rocket-chat', + name: 'Rocket.Chat', + domain: 'rocket.chat', + description: 'Open source team chat platform', + category: 'Communication', + examplePrompts: [ + 'Get Rocket.Chat user list', + 'Check channel permissions', + 'Verify file sharing policies', + ], + setupHint: 'Requires Rocket.Chat API credentials', + }, + { + id: 'telegram', + name: 'Telegram', + domain: 'telegram.org', + description: 'Messaging platform for teams', + category: 'Communication', + examplePrompts: [ + 'Send alerts to Telegram channel', + 'Post security notifications', + 'Monitor bot interactions', + ], + setupHint: 'Requires Telegram bot token', + }, + { + id: 'twilio', + name: 'Twilio', + domain: 'twilio.com', + description: 'SMS and communication APIs', + category: 'Communication', + examplePrompts: [ + 'Send SMS alerts via Twilio', + 'Check message delivery status', + 'Verify phone number verification', + ], + setupHint: 'Requires Twilio account SID and auth token', + }, + { + id: 'sendgrid', + name: 'SendGrid', + domain: 'sendgrid.com', + description: 'Email delivery and marketing platform', + category: 'Communication', + examplePrompts: [ + 'Send email notifications via SendGrid', + 'Check email delivery rates', + 'Verify email authentication', + ], + setupHint: 'Requires SendGrid API key', + }, + { + id: 'mailgun', + name: 'Mailgun', + domain: 'mailgun.com', + description: 'Transactional email service', + category: 'Communication', + examplePrompts: [ + 'Send compliance emails via Mailgun', + 'Check email delivery logs', + 'Verify DKIM/SPF settings', + ], + setupHint: 'Requires Mailgun API key', + }, + { + id: 'postmark', + name: 'Postmark', + domain: 'postmarkapp.com', + description: 'Email delivery for applications', + category: 'Communication', + examplePrompts: [ + 'Send notifications via Postmark', + 'Check email bounce rates', + 'Verify sender signatures', + ], + setupHint: 'Requires Postmark server token', + }, + { + id: 'intercom', + name: 'Intercom', + domain: 'intercom.com', + description: 'Customer messaging platform', + category: 'Communication', + examplePrompts: [ + 'Get Intercom conversation data', + 'Check user attributes', + 'Verify inbox settings', + ], + setupHint: 'Requires Intercom access token', + }, + { + id: 'zendesk', + name: 'Zendesk', + domain: 'zendesk.com', + description: 'Customer support and ticketing', + category: 'Communication', + examplePrompts: [ + 'Get Zendesk ticket statistics', + 'Check support agent access', + 'Verify security settings', + ], + setupHint: 'Requires Zendesk API token', + }, + { + id: 'freshdesk', + name: 'Freshdesk', + domain: 'freshdesk.com', + description: 'Customer support software', + category: 'Communication', + examplePrompts: [ + 'List Freshdesk tickets', + 'Check agent permissions', + 'Verify workflow automations', + ], + setupHint: 'Requires Freshdesk API key', + }, + { + id: 'front', + name: 'Front', + domain: 'front.com', + description: 'Team inbox and collaboration', + category: 'Communication', + examplePrompts: [ + 'Get Front inbox analytics', + 'Check team member access', + 'Verify email routing rules', + ], + setupHint: 'Requires Front API token', + }, + { + id: 'helpscout', + name: 'Help Scout', + domain: 'helpscout.com', + description: 'Customer support and help desk', + category: 'Communication', + examplePrompts: [ + 'Get Help Scout mailbox data', + 'Check conversation metrics', + 'Verify team member access', + ], + setupHint: 'Requires Help Scout API token', + }, + { + id: 'drift', + name: 'Drift', + domain: 'drift.com', + description: 'Conversational marketing platform', + category: 'Communication', + examplePrompts: [ + 'Get Drift conversation data', + 'Check bot performance', + 'Verify team availability', + ], + setupHint: 'Requires Drift API token', + }, + { + id: 'crisp', + name: 'Crisp', + domain: 'crisp.chat', + description: 'Customer messaging platform', + category: 'Communication', + examplePrompts: [ + 'Get Crisp conversation metrics', + 'Check operator availability', + 'Verify chatbot configurations', + ], + setupHint: 'Requires Crisp API credentials', + }, + { + id: 'livechat', + name: 'LiveChat', + domain: 'livechat.com', + description: 'Customer service software', + category: 'Communication', + examplePrompts: [ + 'Get LiveChat conversation data', + 'Check agent performance', + 'Verify chat routing', + ], + setupHint: 'Requires LiveChat API token', + }, + { + id: 'tawk', + name: 'Tawk.to', + domain: 'tawk.to', + description: 'Free live chat software', + category: 'Communication', + examplePrompts: ['Get Tawk.to chat history', 'Check agent status', 'Verify visitor tracking'], + setupHint: 'Requires Tawk.to API key', + }, + { + id: 'olark', + name: 'Olark', + domain: 'olark.com', + description: 'Live chat for sales and support', + category: 'Communication', + examplePrompts: [ + 'Get Olark chat transcripts', + 'Check operator availability', + 'Verify chat settings', + ], + setupHint: 'Requires Olark API credentials', + }, + { + id: 'gong', + name: 'Gong', + domain: 'gong.io', + description: 'Revenue intelligence platform', + category: 'Communication', + examplePrompts: ['Get Gong call analytics', 'Check deal insights', 'Verify call recordings'], + setupHint: 'Requires Gong API key', + }, + { + id: 'chorus', + name: 'Chorus.ai', + domain: 'chorus.ai', + description: 'Conversation intelligence', + category: 'Communication', + examplePrompts: [ + 'Get Chorus conversation insights', + 'Check call summaries', + 'Verify recording policies', + ], + setupHint: 'Requires Chorus API token', + }, + { + id: 'dialpad', + name: 'Dialpad', + domain: 'dialpad.com', + description: 'Business phone and messaging', + category: 'Communication', + examplePrompts: [ + 'Get Dialpad call logs', + 'Check voicemail transcriptions', + 'Verify call routing', + ], + setupHint: 'Requires Dialpad API credentials', + }, + { + id: 'ringcentral', + name: 'RingCentral', + domain: 'ringcentral.com', + description: 'Cloud communications platform', + category: 'Communication', + examplePrompts: [ + 'Get RingCentral call logs', + 'Check message history', + 'Verify user extensions', + ], + setupHint: 'Requires RingCentral API access', + }, + { + id: '8x8', + name: '8x8', + domain: '8x8.com', + description: 'Cloud contact center and voice', + category: 'Communication', + examplePrompts: ['Get 8x8 call analytics', 'Check queue statistics', 'Verify routing rules'], + setupHint: 'Requires 8x8 API credentials', + }, + { + id: 'aircall', + name: 'Aircall', + domain: 'aircall.io', + description: 'Cloud-based phone system', + category: 'Communication', + examplePrompts: [ + 'Get Aircall call data', + 'Check number configurations', + 'Verify user assignments', + ], + setupHint: 'Requires Aircall API token', + }, + { + id: 'vonage', + name: 'Vonage', + domain: 'vonage.com', + description: 'Communications APIs', + category: 'Communication', + examplePrompts: ['Get Vonage messaging data', 'Check call logs', 'Verify number assignments'], + setupHint: 'Requires Vonage API credentials', + }, + { + id: 'plivo', + name: 'Plivo', + domain: 'plivo.com', + description: 'Cloud communications platform', + category: 'Communication', + examplePrompts: [ + 'Get Plivo message logs', + 'Check call records', + 'Verify number configurations', + ], + setupHint: 'Requires Plivo auth credentials', + }, +]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts index 9dc9d45bb..c8445db49 100644 --- a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/development.ts @@ -240,5 +240,340 @@ export const developmentIntegrations: Integration[] = [ ], setupHint: 'Requires Shortcut API token', }, + { + id: 'veracode', + name: 'Veracode', + domain: 'veracode.com', + description: 'Application security testing', + category: 'Development', + popular: true, + examplePrompts: [ + 'Get Veracode scan results', + 'Check application security flaws', + 'Verify remediation status', + ], + setupHint: 'Requires Veracode API credentials', + }, + { + id: 'checkmarx', + name: 'Checkmarx', + domain: 'checkmarx.com', + description: 'Application security testing', + category: 'Development', + examplePrompts: [ + 'Get Checkmarx SAST results', + 'Check code vulnerabilities', + 'Verify scan policies', + ], + setupHint: 'Requires Checkmarx API access', + }, + { + id: 'fortify', + name: 'Micro Focus Fortify', + domain: 'microfocus.com', + description: 'Static application security testing', + category: 'Development', + examplePrompts: [ + 'Get Fortify scan results', + 'Check security issues', + 'Verify remediation progress', + ], + setupHint: 'Requires Fortify API token', + }, + { + id: 'whitesource', + name: 'Mend (WhiteSource)', + domain: 'mend.io', + description: 'Open source security and compliance', + category: 'Development', + examplePrompts: [ + 'Get Mend vulnerability reports', + 'Check license compliance', + 'Verify dependency security', + ], + setupHint: 'Requires Mend API key', + }, + { + id: 'black-duck', + name: 'Black Duck', + domain: 'blackducksoftware.com', + description: 'Open source security management', + category: 'Development', + examplePrompts: [ + 'Get Black Duck scan results', + 'Check open source vulnerabilities', + 'Verify license compliance', + ], + setupHint: 'Requires Black Duck API token', + }, + { + id: 'coverity', + name: 'Coverity', + domain: 'synopsys.com', + description: 'Static code analysis', + category: 'Development', + examplePrompts: [ + 'Get Coverity defect data', + 'Check code quality metrics', + 'Verify scan coverage', + ], + setupHint: 'Requires Coverity API credentials', + }, + { + id: 'sonarcloud', + name: 'SonarCloud', + domain: 'sonarcloud.io', + description: 'Cloud-based code quality', + category: 'Development', + examplePrompts: [ + 'Get SonarCloud analysis results', + 'Check security hotspots', + 'Verify code coverage', + ], + setupHint: 'Requires SonarCloud token', + }, + { + id: 'codacy', + name: 'Codacy', + domain: 'codacy.com', + description: 'Automated code review', + category: 'Development', + examplePrompts: [ + 'Get Codacy code quality data', + 'Check security patterns', + 'Verify code standards', + ], + setupHint: 'Requires Codacy API token', + }, + { + id: 'codeclimate', + name: 'Code Climate', + domain: 'codeclimate.com', + description: 'Code quality and test coverage', + category: 'Development', + examplePrompts: [ + 'Get Code Climate metrics', + 'Check maintainability scores', + 'Verify test coverage', + ], + setupHint: 'Requires Code Climate API token', + }, + { + id: 'nexus', + name: 'Sonatype Nexus', + domain: 'sonatype.com', + description: 'Repository manager and security', + category: 'Development', + examplePrompts: [ + 'Get Nexus repository data', + 'Check component vulnerabilities', + 'Verify firewall policies', + ], + setupHint: 'Requires Nexus API credentials', + }, + { + id: 'octopus-deploy', + name: 'Octopus Deploy', + domain: 'octopus.com', + description: 'Deployment automation', + category: 'Development', + examplePrompts: [ + 'Get Octopus deployment history', + 'Check release status', + 'Verify environment configurations', + ], + setupHint: 'Requires Octopus API key', + }, + { + id: 'spinnaker', + name: 'Spinnaker', + domain: 'spinnaker.io', + description: 'Multi-cloud continuous delivery', + category: 'Development', + examplePrompts: [ + 'Get Spinnaker pipeline executions', + 'Check deployment status', + 'Verify application configurations', + ], + setupHint: 'Requires Spinnaker API access', + }, + { + id: 'argocd', + name: 'Argo CD', + domain: 'argoproj.io', + description: 'GitOps continuous delivery', + category: 'Development', + examplePrompts: [ + 'Get Argo CD application status', + 'Check sync state', + 'Verify deployment history', + ], + setupHint: 'Requires Argo CD API token', + }, + { + id: 'flux', + name: 'Flux', + domain: 'fluxcd.io', + description: 'GitOps for Kubernetes', + category: 'Development', + examplePrompts: [ + 'Get Flux reconciliation status', + 'Check git repository sync', + 'Verify Helm releases', + ], + setupHint: 'Requires Kubernetes API access', + }, + { + id: 'buildkite', + name: 'Buildkite', + domain: 'buildkite.com', + description: 'Fast and secure CI/CD', + category: 'Development', + examplePrompts: [ + 'Get Buildkite build status', + 'Check pipeline configurations', + 'Verify agent health', + ], + setupHint: 'Requires Buildkite API token', + }, + { + id: 'teamcity', + name: 'TeamCity', + domain: 'jetbrains.com', + description: 'CI/CD server by JetBrains', + category: 'Development', + examplePrompts: [ + 'Get TeamCity build configurations', + 'Check build history', + 'Verify agent status', + ], + setupHint: 'Requires TeamCity API token', + }, + { + id: 'bamboo', + name: 'Bamboo', + domain: 'atlassian.com', + description: 'Continuous integration by Atlassian', + category: 'Development', + examplePrompts: ['Get Bamboo build plans', 'Check deployment projects', 'Verify build results'], + setupHint: 'Requires Bamboo API token', + }, + { + id: 'azure-devops', + name: 'Azure DevOps', + domain: 'dev.azure.com', + description: 'Microsoft DevOps platform', + category: 'Development', + popular: true, + examplePrompts: [ + 'Get Azure DevOps pipelines', + 'Check build status', + 'Verify repository policies', + ], + setupHint: 'Requires Azure DevOps PAT', + }, + { + id: 'aws-codepipeline', + name: 'AWS CodePipeline', + domain: 'aws.amazon.com', + description: 'Continuous delivery service', + category: 'Development', + examplePrompts: [ + 'Get CodePipeline execution status', + 'Check pipeline stages', + 'Verify deployment actions', + ], + setupHint: 'Requires AWS CodePipeline access', + }, + { + id: 'google-cloud-build', + name: 'Google Cloud Build', + domain: 'cloud.google.com', + description: 'Serverless CI/CD platform', + category: 'Development', + examplePrompts: [ + 'Get Cloud Build history', + 'Check build triggers', + 'Verify build configurations', + ], + setupHint: 'Requires GCP Cloud Build API access', + }, + { + id: 'harness', + name: 'Harness', + domain: 'harness.io', + description: 'Continuous delivery platform', + category: 'Development', + examplePrompts: [ + 'Get Harness deployment data', + 'Check pipeline executions', + 'Verify service configurations', + ], + setupHint: 'Requires Harness API key', + }, + { + id: 'codefresh', + name: 'Codefresh', + domain: 'codefresh.io', + description: 'GitOps automation platform', + category: 'Development', + examplePrompts: [ + 'Get Codefresh pipeline runs', + 'Check Docker image builds', + 'Verify environment deployments', + ], + setupHint: 'Requires Codefresh API token', + }, + { + id: 'drone', + name: 'Drone CI', + domain: 'drone.io', + description: 'Container-native CI/CD', + category: 'Development', + examplePrompts: [ + 'Get Drone build history', + 'Check repository activations', + 'Verify pipeline configurations', + ], + setupHint: 'Requires Drone API token', + }, + { + id: 'semaphore', + name: 'Semaphore CI', + domain: 'semaphoreci.com', + description: 'Hosted CI/CD service', + category: 'Development', + examplePrompts: [ + 'Get Semaphore workflow runs', + 'Check deployment status', + 'Verify pipeline configurations', + ], + setupHint: 'Requires Semaphore API token', + }, + { + id: 'buddy', + name: 'Buddy', + domain: 'buddy.works', + description: 'Fast CI/CD automation', + category: 'Development', + examplePrompts: [ + 'Get Buddy pipeline executions', + 'Check action status', + 'Verify deployment logs', + ], + setupHint: 'Requires Buddy API token', + }, + { + id: 'codeship', + name: 'Codeship', + domain: 'codeship.com', + description: 'Continuous integration platform', + category: 'Development', + examplePrompts: [ + 'Get Codeship build data', + 'Check deployment pipelines', + 'Verify test results', + ], + setupHint: 'Requires Codeship API key', + }, ]; - diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts index 2974c59bd..1d6e7df45 100644 --- a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/hr.ts @@ -186,5 +186,318 @@ export const hrIntegrations: Integration[] = [ ], setupHint: 'Requires Factorial API token', }, + { + id: 'lattice', + name: 'Lattice', + domain: 'lattice.com', + description: 'Performance management and engagement', + category: 'HR & People', + examplePrompts: [ + 'Get Lattice review cycles', + 'Check goal completion rates', + 'Verify 1-on-1 completion', + ], + setupHint: 'Requires Lattice API token', + }, + { + id: 'culture-amp', + name: 'Culture Amp', + domain: 'cultureamp.com', + description: 'Employee engagement and performance', + category: 'HR & People', + examplePrompts: [ + 'Get Culture Amp survey results', + 'Check engagement scores', + 'Verify feedback completion', + ], + setupHint: 'Requires Culture Amp API credentials', + }, + { + id: 'peakon', + name: 'Workday Peakon', + domain: 'peakon.com', + description: 'Employee engagement platform', + category: 'HR & People', + examplePrompts: [ + 'Get Peakon engagement data', + 'Check survey participation', + 'Verify sentiment trends', + ], + setupHint: 'Requires Peakon API access', + }, + { + id: '15five', + name: '15Five', + domain: '15five.com', + description: 'Performance management software', + category: 'HR & People', + examplePrompts: [ + 'Get 15Five check-in data', + 'Check objective progress', + 'Verify review completion', + ], + setupHint: 'Requires 15Five API token', + }, + { + id: 'betterworks', + name: 'BetterWorks', + domain: 'betterworks.com', + description: 'OKR and performance management', + category: 'HR & People', + examplePrompts: [ + 'Get BetterWorks OKR progress', + 'Check goal alignment', + 'Verify performance reviews', + ], + setupHint: 'Requires BetterWorks API access', + }, + { + id: 'reflektive', + name: 'Reflektive', + domain: 'reflektive.com', + description: 'Performance management and engagement', + category: 'HR & People', + examplePrompts: [ + 'Get Reflektive review data', + 'Check real-time feedback', + 'Verify goal tracking', + ], + setupHint: 'Requires Reflektive API credentials', + }, + { + id: 'small-improvements', + name: 'Small Improvements', + domain: 'small-improvements.com', + description: 'Performance and 360-degree feedback', + category: 'HR & People', + examplePrompts: [ + 'Get Small Improvements review cycles', + 'Check feedback completion', + 'Verify objective progress', + ], + setupHint: 'Requires Small Improvements API token', + }, + { + id: 'greenhouse', + name: 'Greenhouse', + domain: 'greenhouse.io', + description: 'Applicant tracking system', + category: 'HR & People', + popular: true, + examplePrompts: [ + 'Get Greenhouse candidate pipeline', + 'Check interview completion', + 'Verify offer approvals', + ], + setupHint: 'Requires Greenhouse Harvest API key', + }, + { + id: 'lever', + name: 'Lever', + domain: 'lever.co', + description: 'Recruiting and applicant tracking', + category: 'HR & People', + examplePrompts: [ + 'Get Lever candidate data', + 'Check hiring pipeline status', + 'Verify interview feedback', + ], + setupHint: 'Requires Lever API key', + }, + { + id: 'workable', + name: 'Workable', + domain: 'workable.com', + description: 'Recruiting software', + category: 'HR & People', + examplePrompts: [ + 'Get Workable job postings', + 'Check candidate applications', + 'Verify hiring team access', + ], + setupHint: 'Requires Workable API token', + }, + { + id: 'jobvite', + name: 'Jobvite', + domain: 'jobvite.com', + description: 'Talent acquisition platform', + category: 'HR & People', + examplePrompts: [ + 'Get Jobvite requisitions', + 'Check candidate status', + 'Verify sourcing metrics', + ], + setupHint: 'Requires Jobvite API credentials', + }, + { + id: 'smartrecruiters', + name: 'SmartRecruiters', + domain: 'smartrecruiters.com', + description: 'Talent acquisition suite', + category: 'HR & People', + examplePrompts: [ + 'Get SmartRecruiters job data', + 'Check candidate workflows', + 'Verify hiring analytics', + ], + setupHint: 'Requires SmartRecruiters API key', + }, + { + id: 'icims', + name: 'iCIMS', + domain: 'icims.com', + description: 'Talent acquisition platform', + category: 'HR & People', + examplePrompts: [ + 'Get iCIMS applicant data', + 'Check requisition status', + 'Verify workflow completion', + ], + setupHint: 'Requires iCIMS API credentials', + }, + { + id: 'cornerstone', + name: 'Cornerstone OnDemand', + domain: 'cornerstoneondemand.com', + description: 'Learning and talent management', + category: 'HR & People', + examplePrompts: [ + 'Get Cornerstone training completion', + 'Check learning assignments', + 'Verify compliance training', + ], + setupHint: 'Requires Cornerstone API access', + }, + { + id: 'successfactors', + name: 'SAP SuccessFactors', + domain: 'successfactors.com', + description: 'HR management suite', + category: 'HR & People', + examplePrompts: [ + 'Get SuccessFactors employee data', + 'Check performance reviews', + 'Verify learning completion', + ], + setupHint: 'Requires SAP SuccessFactors API', + }, + { + id: 'ultipro', + name: 'UKG Pro', + domain: 'ukg.com', + description: 'HR, payroll, and workforce management', + category: 'HR & People', + examplePrompts: [ + 'Get UKG Pro employee roster', + 'Check payroll data', + 'Verify time and attendance', + ], + setupHint: 'Requires UKG Pro API credentials', + }, + { + id: 'dayforce', + name: 'Ceridian Dayforce', + domain: 'dayforce.com', + description: 'Cloud HCM platform', + category: 'HR & People', + examplePrompts: [ + 'Get Dayforce employee information', + 'Check payroll processing', + 'Verify benefits administration', + ], + setupHint: 'Requires Dayforce API credentials', + }, + { + id: 'oracle-hcm', + name: 'Oracle HCM Cloud', + domain: 'oracle.com', + description: 'Enterprise human capital management', + category: 'HR & People', + examplePrompts: [ + 'Get Oracle HCM employee data', + 'Check workforce analytics', + 'Verify talent management', + ], + setupHint: 'Requires Oracle Cloud API access', + }, + { + id: 'knowbe4', + name: 'KnowBe4', + domain: 'knowbe4.com', + description: 'Security awareness training', + category: 'HR & People', + popular: true, + examplePrompts: [ + 'Get KnowBe4 training completion rates', + 'Check phishing simulation results', + 'Verify employee security scores', + ], + setupHint: 'Requires KnowBe4 API key', + }, + { + id: 'cybrary', + name: 'Cybrary', + domain: 'cybrary.it', + description: 'Cybersecurity training platform', + category: 'HR & People', + examplePrompts: [ + 'Get Cybrary course completion', + 'Check user enrollments', + 'Verify certification status', + ], + setupHint: 'Requires Cybrary API access', + }, + { + id: 'udemy-business', + name: 'Udemy Business', + domain: 'udemy.com', + description: 'Corporate learning platform', + category: 'HR & People', + examplePrompts: [ + 'Get Udemy Business course completions', + 'Check user engagement', + 'Verify learning paths', + ], + setupHint: 'Requires Udemy Business API', + }, + { + id: 'linkedin-learning', + name: 'LinkedIn Learning', + domain: 'linkedin.com', + description: 'Professional development platform', + category: 'HR & People', + examplePrompts: [ + 'Get LinkedIn Learning completions', + 'Check assigned learning', + 'Verify skill development', + ], + setupHint: 'Requires LinkedIn Learning API', + }, + { + id: 'docebo', + name: 'Docebo', + domain: 'docebo.com', + description: 'Learning management system', + category: 'HR & People', + examplePrompts: [ + 'Get Docebo course enrollments', + 'Check completion rates', + 'Verify compliance training', + ], + setupHint: 'Requires Docebo API credentials', + }, + { + id: 'lessonly', + name: 'Lessonly', + domain: 'lessonly.com', + description: 'Training and enablement software', + category: 'HR & People', + examplePrompts: [ + 'Get Lessonly lesson completions', + 'Check learner progress', + 'Verify assessment scores', + ], + setupHint: 'Requires Lessonly API token', + }, ]; - diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/infrastructure.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/infrastructure.ts new file mode 100644 index 000000000..3e3941def --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/infrastructure.ts @@ -0,0 +1,752 @@ +import { Integration } from '../integrations'; + +export const infrastructureIntegrations: Integration[] = [ + // Device & Endpoint Management + { + id: 'jamf', + name: 'Jamf', + domain: 'jamf.com', + description: 'macOS/iOS device management and compliance', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check device encryption status in Jamf', + 'List devices without OS updates', + 'Verify MDM profile deployment', + ], + setupHint: 'Requires Jamf Pro API credentials', + }, + { + id: 'intune', + name: 'Microsoft Intune', + domain: 'microsoft.com', + description: 'Endpoint management and security', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check Intune device compliance', + 'List managed devices', + 'Verify conditional access policies', + ], + setupHint: 'Requires Microsoft Graph API access', + }, + { + id: 'workspace-one', + name: 'VMware Workspace ONE', + domain: 'vmware.com', + description: 'Unified endpoint management', + category: 'Infrastructure', + examplePrompts: [ + 'Get Workspace ONE device inventory', + 'Check compliance policies', + 'Verify app catalog', + ], + setupHint: 'Requires Workspace ONE API credentials', + }, + { + id: 'kandji', + name: 'Kandji', + domain: 'kandji.io', + description: 'Apple device management platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Kandji device inventory', + 'Check compliance status', + 'Verify app deployments', + ], + setupHint: 'Requires Kandji API token', + }, + { + id: 'mosyle', + name: 'Mosyle', + domain: 'mosyle.com', + description: 'Apple device management', + category: 'Infrastructure', + examplePrompts: [ + 'Check Mosyle device compliance', + 'List enrolled devices', + 'Verify security policies', + ], + setupHint: 'Requires Mosyle API key', + }, + { + id: 'hexnode', + name: 'Hexnode', + domain: 'hexnode.com', + description: 'Unified endpoint management', + category: 'Infrastructure', + examplePrompts: ['Get Hexnode device list', 'Check policy compliance', 'Verify app management'], + setupHint: 'Requires Hexnode API credentials', + }, + { + id: 'meraki', + name: 'Cisco Meraki', + domain: 'meraki.cisco.com', + description: 'Cloud-managed IT infrastructure', + category: 'Infrastructure', + examplePrompts: [ + 'Get Meraki network device status', + 'Check access point configurations', + 'Verify network security', + ], + setupHint: 'Requires Meraki API key', + }, + { + id: 'fleet', + name: 'Fleet', + domain: 'fleetdm.com', + description: 'Open source device management (osquery)', + category: 'Infrastructure', + examplePrompts: [ + 'Query Fleet for device inventory', + 'Check software installations', + 'Verify security configurations', + ], + setupHint: 'Requires Fleet API token', + }, + { + id: 'kolide', + name: 'Kolide', + domain: 'kolide.com', + description: 'Endpoint security and user privacy', + category: 'Infrastructure', + examplePrompts: [ + 'Get Kolide device security status', + 'Check compliance issues', + 'Verify software updates', + ], + setupHint: 'Requires Kolide API key', + }, + + // Endpoint Security (EDR/XDR) + { + id: 'crowdstrike', + name: 'CrowdStrike', + domain: 'crowdstrike.com', + description: 'Endpoint detection and response (EDR)', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check CrowdStrike agent deployment', + 'Get recent security detections', + 'Verify endpoint protection status', + ], + setupHint: 'Requires CrowdStrike API credentials', + }, + { + id: 'sentinelone', + name: 'SentinelOne', + domain: 'sentinelone.com', + description: 'Autonomous endpoint protection', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check SentinelOne agent status', + 'Get threat detections', + 'Verify policy configurations', + ], + setupHint: 'Requires SentinelOne API token', + }, + { + id: 'carbon-black', + name: 'VMware Carbon Black', + domain: 'carbonblack.com', + description: 'Cloud-native endpoint protection', + category: 'Infrastructure', + examplePrompts: [ + 'Get Carbon Black sensor status', + 'Check recent alerts', + 'Verify policy enforcement', + ], + setupHint: 'Requires Carbon Black API credentials', + }, + { + id: 'malwarebytes', + name: 'Malwarebytes', + domain: 'malwarebytes.com', + description: 'Endpoint protection and remediation', + category: 'Infrastructure', + examplePrompts: [ + 'Check Malwarebytes deployment status', + 'Get recent threat detections', + 'Verify scanning schedules', + ], + setupHint: 'Requires Malwarebytes API access', + }, + { + id: 'sophos', + name: 'Sophos', + domain: 'sophos.com', + description: 'Endpoint and network security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Sophos protection status', + 'Check recent threats', + 'Verify policy compliance', + ], + setupHint: 'Requires Sophos Central API credentials', + }, + { + id: 'trend-micro', + name: 'Trend Micro', + domain: 'trendmicro.com', + description: 'Endpoint and cloud security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Trend Micro security status', + 'Check threat detections', + 'Verify protection policies', + ], + setupHint: 'Requires Trend Micro API key', + }, + { + id: 'symantec', + name: 'Broadcom Symantec', + domain: 'broadcom.com', + description: 'Endpoint protection platform', + category: 'Infrastructure', + examplePrompts: [ + 'Check Symantec endpoint status', + 'Get virus definitions', + 'Verify security policies', + ], + setupHint: 'Requires Symantec API access', + }, + { + id: 'mcafee', + name: 'McAfee/Trellix', + domain: 'trellix.com', + description: 'Endpoint security and threat prevention', + category: 'Infrastructure', + examplePrompts: [ + 'Get McAfee protection status', + 'Check recent threats', + 'Verify policy deployment', + ], + setupHint: 'Requires McAfee ePO API credentials', + }, + { + id: 'cylance', + name: 'BlackBerry Cylance', + domain: 'blackberry.com', + description: 'AI-powered endpoint security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Cylance agent status', + 'Check threat predictions', + 'Verify protection policies', + ], + setupHint: 'Requires Cylance API credentials', + }, + { + id: 'cortex-xdr', + name: 'Palo Alto Cortex XDR', + domain: 'paloaltonetworks.com', + description: 'Extended detection and response', + category: 'Infrastructure', + examplePrompts: [ + 'Get Cortex XDR incidents', + 'Check endpoint status', + 'Verify prevention policies', + ], + setupHint: 'Requires Cortex XDR API key', + }, + { + id: 'microsoft-defender', + name: 'Microsoft Defender', + domain: 'microsoft.com', + description: 'Endpoint protection and threat intelligence', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check Defender ATP status', + 'Get security recommendations', + 'Verify threat protection', + ], + setupHint: 'Requires Microsoft Defender API access', + }, + + // Password & Secrets Management + { + id: '1password', + name: '1Password', + domain: '1password.com', + description: 'Password and secrets management', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check if all employees have 1Password', + 'Verify vault access policies', + 'List shared credentials', + ], + setupHint: 'Requires 1Password service account', + }, + { + id: 'lastpass', + name: 'LastPass', + domain: 'lastpass.com', + description: 'Enterprise password management', + category: 'Infrastructure', + examplePrompts: [ + 'Get LastPass user enrollment status', + 'Check shared folder policies', + 'Verify MFA enforcement', + ], + setupHint: 'Requires LastPass Enterprise API', + }, + { + id: 'bitwarden', + name: 'Bitwarden', + domain: 'bitwarden.com', + description: 'Open source password management', + category: 'Infrastructure', + examplePrompts: [ + 'Check Bitwarden organization members', + 'Verify vault sharing policies', + 'List collections and access', + ], + setupHint: 'Requires Bitwarden organization API', + }, + { + id: 'dashlane', + name: 'Dashlane', + domain: 'dashlane.com', + description: 'Password manager for businesses', + category: 'Infrastructure', + examplePrompts: [ + 'Get Dashlane user enrollment', + 'Check password health scores', + 'Verify sharing policies', + ], + setupHint: 'Requires Dashlane API credentials', + }, + { + id: 'keeper', + name: 'Keeper Security', + domain: 'keepersecurity.com', + description: 'Password and secrets management', + category: 'Infrastructure', + examplePrompts: [ + 'Check Keeper user enrollment', + 'Verify vault policies', + 'List shared records', + ], + setupHint: 'Requires Keeper API credentials', + }, + { + id: 'passwordstate', + name: 'Passwordstate', + domain: 'clickstudios.com.au', + description: 'On-premise password management', + category: 'Infrastructure', + examplePrompts: [ + 'Get Passwordstate password lists', + 'Check access permissions', + 'Verify audit logs', + ], + setupHint: 'Requires Passwordstate API key', + }, + { + id: 'pleasant-password', + name: 'Pleasant Password Server', + domain: 'pleasantpasswords.com', + description: 'Enterprise password management', + category: 'Infrastructure', + examplePrompts: [ + 'Get Pleasant Password entries', + 'Check user access', + 'Verify password policies', + ], + setupHint: 'Requires Pleasant Password API access', + }, + + // Network & Infrastructure + { + id: 'cloudflare-cdn', + name: 'Cloudflare CDN', + domain: 'cloudflare.com', + description: 'DNS, CDN, and DDoS protection', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Check Cloudflare firewall rules', + 'Verify SSL/TLS settings', + 'Get WAF security events', + ], + setupHint: 'Requires Cloudflare API token', + }, + { + id: 'fastly', + name: 'Fastly', + domain: 'fastly.com', + description: 'Edge cloud platform and CDN', + category: 'Infrastructure', + examplePrompts: ['Get Fastly service configurations', 'Check WAF rules', 'Verify TLS settings'], + setupHint: 'Requires Fastly API token', + }, + { + id: 'akamai', + name: 'Akamai', + domain: 'akamai.com', + description: 'CDN and cloud security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Akamai property configurations', + 'Check security policies', + 'Verify edge redirects', + ], + setupHint: 'Requires Akamai API credentials', + }, + { + id: 'palo-alto', + name: 'Palo Alto Networks', + domain: 'paloaltonetworks.com', + description: 'Next-generation firewall and security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Palo Alto firewall rules', + 'Check threat prevention status', + 'Verify security policies', + ], + setupHint: 'Requires PAN-OS API key', + }, + { + id: 'fortinet', + name: 'Fortinet', + domain: 'fortinet.com', + description: 'Network security and firewall', + category: 'Infrastructure', + examplePrompts: [ + 'Get FortiGate security policies', + 'Check VPN configurations', + 'Verify threat protection', + ], + setupHint: 'Requires FortiGate API token', + }, + { + id: 'cisco-firepower', + name: 'Cisco Firepower', + domain: 'cisco.com', + description: 'Next-generation firewall', + category: 'Infrastructure', + examplePrompts: [ + 'Get Firepower access policies', + 'Check intrusion prevention', + 'Verify security intelligence', + ], + setupHint: 'Requires Firepower API credentials', + }, + { + id: 'checkpoint', + name: 'Check Point', + domain: 'checkpoint.com', + description: 'Cybersecurity solutions and firewall', + category: 'Infrastructure', + examplePrompts: [ + 'Get Check Point security policies', + 'Check threat prevention', + 'Verify firewall rules', + ], + setupHint: 'Requires Check Point API access', + }, + { + id: 'tailscale', + name: 'Tailscale', + domain: 'tailscale.com', + description: 'Zero-config VPN and secure network', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'List Tailscale network nodes', + 'Check device connectivity', + 'Verify ACL rules', + ], + setupHint: 'Requires Tailscale API key', + }, + { + id: 'zerotier', + name: 'ZeroTier', + domain: 'zerotier.com', + description: 'Software-defined networking', + category: 'Infrastructure', + examplePrompts: ['Get ZeroTier network members', 'Check network rules', 'Verify authorization'], + setupHint: 'Requires ZeroTier API token', + }, + { + id: 'kubernetes', + name: 'Kubernetes', + domain: 'kubernetes.io', + description: 'Container orchestration platform', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'List Kubernetes pods and deployments', + 'Check security policies', + 'Verify RBAC configurations', + ], + setupHint: 'Requires Kubernetes API access', + }, + { + id: 'docker', + name: 'Docker', + domain: 'docker.com', + description: 'Container platform and registry', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'List Docker containers', + 'Check image vulnerabilities', + 'Verify security scanning', + ], + setupHint: 'Requires Docker API access', + }, + { + id: 'rancher', + name: 'Rancher', + domain: 'rancher.com', + description: 'Kubernetes management platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Rancher cluster status', + 'Check project permissions', + 'Verify security policies', + ], + setupHint: 'Requires Rancher API token', + }, + { + id: 'openshift', + name: 'Red Hat OpenShift', + domain: 'redhat.com', + description: 'Enterprise Kubernetes platform', + category: 'Infrastructure', + examplePrompts: [ + 'List OpenShift projects and pods', + 'Check security context constraints', + 'Verify role bindings', + ], + setupHint: 'Requires OpenShift API access', + }, + { + id: 'ansible', + name: 'Ansible', + domain: 'ansible.com', + description: 'IT automation and configuration management', + category: 'Infrastructure', + examplePrompts: [ + 'Get Ansible playbook executions', + 'Check inventory hosts', + 'Verify automation jobs', + ], + setupHint: 'Requires Ansible Tower/AWX API', + }, + { + id: 'puppet', + name: 'Puppet', + domain: 'puppet.com', + description: 'Infrastructure automation', + category: 'Infrastructure', + examplePrompts: [ + 'Get Puppet node status', + 'Check configuration compliance', + 'Verify catalog compilations', + ], + setupHint: 'Requires Puppet API token', + }, + { + id: 'chef', + name: 'Chef', + domain: 'chef.io', + description: 'Infrastructure automation platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Chef node configurations', + 'Check cookbook versions', + 'Verify compliance scans', + ], + setupHint: 'Requires Chef Automate API', + }, + { + id: 'saltstack', + name: 'SaltStack', + domain: 'saltproject.io', + description: 'Event-driven IT automation', + category: 'Infrastructure', + examplePrompts: [ + 'Get Salt minion status', + 'Check state applications', + 'Verify configuration management', + ], + setupHint: 'Requires Salt API credentials', + }, + { + id: 'qualys', + name: 'Qualys', + domain: 'qualys.com', + description: 'Vulnerability management and scanning', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Get Qualys vulnerability scan results', + 'Check asset inventory', + 'Verify patch compliance', + ], + setupHint: 'Requires Qualys API credentials', + }, + { + id: 'tenable', + name: 'Tenable', + domain: 'tenable.com', + description: 'Vulnerability management (Nessus)', + category: 'Infrastructure', + popular: true, + examplePrompts: [ + 'Get Tenable.io vulnerability data', + 'Check asset discovery', + 'Verify scan schedules', + ], + setupHint: 'Requires Tenable API keys', + }, + { + id: 'rapid7-nexpose', + name: 'Rapid7 Nexpose', + domain: 'rapid7.com', + description: 'Vulnerability management', + category: 'Infrastructure', + examplePrompts: [ + 'Get Nexpose scan results', + 'Check vulnerability remediation', + 'Verify asset groups', + ], + setupHint: 'Requires Nexpose API credentials', + }, + { + id: 'openvas', + name: 'OpenVAS', + domain: 'openvas.org', + description: 'Open source vulnerability scanner', + category: 'Infrastructure', + examplePrompts: [ + 'Get OpenVAS scan reports', + 'Check detected vulnerabilities', + 'Verify target configurations', + ], + setupHint: 'Requires OpenVAS API access', + }, + { + id: 'wiz', + name: 'Wiz', + domain: 'wiz.io', + description: 'Cloud security platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Wiz security findings', + 'Check cloud misconfigurations', + 'Verify vulnerability status', + ], + setupHint: 'Requires Wiz API credentials', + }, + { + id: 'orca-security', + name: 'Orca Security', + domain: 'orca.security', + description: 'Agentless cloud security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Orca security alerts', + 'Check cloud asset inventory', + 'Verify compliance posture', + ], + setupHint: 'Requires Orca API token', + }, + { + id: 'lacework', + name: 'Lacework', + domain: 'lacework.com', + description: 'Cloud security platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Lacework security events', + 'Check compliance violations', + 'Verify policy configurations', + ], + setupHint: 'Requires Lacework API credentials', + }, + { + id: 'prisma-cloud', + name: 'Prisma Cloud', + domain: 'paloaltonetworks.com', + description: 'Cloud-native security platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Prisma Cloud alerts', + 'Check compliance posture', + 'Verify security policies', + ], + setupHint: 'Requires Prisma Cloud API access', + }, + { + id: 'aqua-security', + name: 'Aqua Security', + domain: 'aquasec.com', + description: 'Cloud-native security platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get Aqua security findings', + 'Check container vulnerabilities', + 'Verify runtime policies', + ], + setupHint: 'Requires Aqua API credentials', + }, + { + id: 'sysdig', + name: 'Sysdig', + domain: 'sysdig.com', + description: 'Container and cloud security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Sysdig security events', + 'Check compliance violations', + 'Verify runtime protection', + ], + setupHint: 'Requires Sysdig Secure API token', + }, + { + id: 'twistlock', + name: 'Prisma Cloud Compute', + domain: 'paloaltonetworks.com', + description: 'Container security (formerly Twistlock)', + category: 'Infrastructure', + examplePrompts: [ + 'Get container vulnerability scans', + 'Check runtime defenses', + 'Verify compliance checks', + ], + setupHint: 'Requires Prisma Cloud Compute API', + }, + { + id: 'stackrox', + name: 'StackRox', + domain: 'stackrox.io', + description: 'Kubernetes security platform', + category: 'Infrastructure', + examplePrompts: [ + 'Get StackRox security violations', + 'Check deployment policies', + 'Verify network segmentation', + ], + setupHint: 'Requires StackRox API token', + }, + { + id: 'falco', + name: 'Falco', + domain: 'falco.org', + description: 'Cloud-native runtime security', + category: 'Infrastructure', + examplePrompts: [ + 'Get Falco security alerts', + 'Check runtime anomalies', + 'Verify detection rules', + ], + setupHint: 'Requires Falco API access', + }, +]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/categories/monitoring.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/monitoring.ts new file mode 100644 index 000000000..156656e93 --- /dev/null +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/categories/monitoring.ts @@ -0,0 +1,365 @@ +import { Integration } from '../integrations'; + +export const monitoringIntegrations: Integration[] = [ + // SIEM & Security Monitoring + { + id: 'splunk', + name: 'Splunk', + domain: 'splunk.com', + description: 'SIEM and security event correlation', + category: 'Monitoring', + popular: true, + examplePrompts: [ + 'Query Splunk for failed auth events', + 'Get security incident timeline', + 'Search audit logs for admin actions', + ], + setupHint: 'Requires Splunk API token', + }, + { + id: 'datadog', + name: 'Datadog', + domain: 'datadoghq.com', + description: 'Infrastructure monitoring and security events', + category: 'Monitoring', + popular: true, + examplePrompts: [ + 'Check for security events in Datadog', + 'Get failed login attempts from logs', + 'Monitor infrastructure compliance metrics', + ], + setupHint: 'Requires Datadog API and app keys', + }, + { + id: 'new-relic', + name: 'New Relic', + domain: 'newrelic.com', + description: 'Application performance and security monitoring', + category: 'Monitoring', + popular: true, + examplePrompts: [ + 'Get New Relic security insights', + 'Check application error rates', + 'Monitor transaction anomalies', + ], + setupHint: 'Requires New Relic API key', + }, + { + id: 'sumologic', + name: 'Sumo Logic', + domain: 'sumologic.com', + description: 'Cloud SIEM and log analytics', + category: 'Monitoring', + examplePrompts: [ + 'Query Sumo Logic for security events', + 'Check log ingestion status', + 'Verify alert configurations', + ], + setupHint: 'Requires Sumo Logic access credentials', + }, + { + id: 'elastic-siem', + name: 'Elastic Security', + domain: 'elastic.co', + description: 'SIEM and security analytics', + category: 'Monitoring', + examplePrompts: [ + 'Query Elasticsearch for security logs', + 'Check detection rules', + 'Get recent security alerts', + ], + setupHint: 'Requires Elasticsearch API credentials', + }, + { + id: 'graylog', + name: 'Graylog', + domain: 'graylog.org', + description: 'Log management and analysis', + category: 'Monitoring', + examplePrompts: [ + 'Query Graylog for security events', + 'Check log streams', + 'Verify alert conditions', + ], + setupHint: 'Requires Graylog API token', + }, + { + id: 'logrhythm', + name: 'LogRhythm', + domain: 'logrhythm.com', + description: 'Security intelligence and analytics', + category: 'Monitoring', + examplePrompts: [ + 'Get LogRhythm security alarms', + 'Check case management', + 'Verify threat detection rules', + ], + setupHint: 'Requires LogRhythm API access', + }, + { + id: 'rapid7', + name: 'Rapid7 InsightIDR', + domain: 'rapid7.com', + description: 'Incident detection and response', + category: 'Monitoring', + examplePrompts: [ + 'Get Rapid7 security investigations', + 'Check recent detections', + 'Verify log sources', + ], + setupHint: 'Requires Rapid7 API key', + }, + { + id: 'exabeam', + name: 'Exabeam', + domain: 'exabeam.com', + description: 'Security analytics and SIEM', + category: 'Monitoring', + examplePrompts: [ + 'Get Exabeam user behavior analytics', + 'Check security incidents', + 'Verify data ingestion', + ], + setupHint: 'Requires Exabeam API credentials', + }, + { + id: 'securonix', + name: 'Securonix', + domain: 'securonix.com', + description: 'Next-gen SIEM platform', + category: 'Monitoring', + examplePrompts: ['Get Securonix threat detections', 'Check risk scores', 'Verify data sources'], + setupHint: 'Requires Securonix API access', + }, + + // APM & Infrastructure Monitoring + { + id: 'sentry', + name: 'Sentry', + domain: 'sentry.io', + description: 'Error tracking and performance monitoring', + category: 'Monitoring', + popular: true, + examplePrompts: [ + 'Get Sentry error reports', + 'Check application performance', + 'List recent issues', + ], + setupHint: 'Requires Sentry auth token', + }, + { + id: 'grafana', + name: 'Grafana', + domain: 'grafana.com', + description: 'Metrics visualization and monitoring', + category: 'Monitoring', + examplePrompts: ['Get Grafana dashboard data', 'Check alert rules', 'Verify data sources'], + setupHint: 'Requires Grafana API key', + }, + { + id: 'prometheus', + name: 'Prometheus', + domain: 'prometheus.io', + description: 'Systems monitoring and alerting', + category: 'Monitoring', + examplePrompts: [ + 'Query Prometheus metrics', + 'Check alert manager status', + 'Verify scrape targets', + ], + setupHint: 'Requires Prometheus API access', + }, + { + id: 'nagios', + name: 'Nagios', + domain: 'nagios.org', + description: 'Infrastructure monitoring', + category: 'Monitoring', + examplePrompts: [ + 'Get Nagios host and service status', + 'Check alert notifications', + 'Verify monitoring coverage', + ], + setupHint: 'Requires Nagios API access', + }, + { + id: 'zabbix', + name: 'Zabbix', + domain: 'zabbix.com', + description: 'Enterprise monitoring solution', + category: 'Monitoring', + examplePrompts: [ + 'Get Zabbix monitoring data', + 'Check host availability', + 'Verify trigger configurations', + ], + setupHint: 'Requires Zabbix API credentials', + }, + { + id: 'appdynamics', + name: 'AppDynamics', + domain: 'appdynamics.com', + description: 'Application performance monitoring', + category: 'Monitoring', + examplePrompts: [ + 'Get AppDynamics performance metrics', + 'Check application health', + 'Verify business transactions', + ], + setupHint: 'Requires AppDynamics API key', + }, + { + id: 'dynatrace', + name: 'Dynatrace', + domain: 'dynatrace.com', + description: 'Software intelligence platform', + category: 'Monitoring', + examplePrompts: [ + 'Get Dynatrace monitoring data', + 'Check application dependencies', + 'Verify problem detection', + ], + setupHint: 'Requires Dynatrace API token', + }, + { + id: 'elastic-apm', + name: 'Elastic APM', + domain: 'elastic.co', + description: 'Application performance monitoring', + category: 'Monitoring', + examplePrompts: [ + 'Get Elastic APM traces', + 'Check service performance', + 'Verify error tracking', + ], + setupHint: 'Requires Elasticsearch credentials', + }, + { + id: 'loggly', + name: 'Loggly', + domain: 'loggly.com', + description: 'Cloud-based log management', + category: 'Monitoring', + examplePrompts: [ + 'Query Loggly for application logs', + 'Check log retention', + 'Verify alert rules', + ], + setupHint: 'Requires Loggly API token', + }, + { + id: 'papertrail', + name: 'Papertrail', + domain: 'papertrailapp.com', + description: 'Cloud-hosted log management', + category: 'Monitoring', + examplePrompts: ['Search Papertrail logs', 'Check system events', 'Verify log sources'], + setupHint: 'Requires Papertrail API token', + }, + { + id: 'honeycomb', + name: 'Honeycomb', + domain: 'honeycomb.io', + description: 'Observability platform', + category: 'Monitoring', + examplePrompts: [ + 'Query Honeycomb for traces', + 'Check service latency', + 'Verify query performance', + ], + setupHint: 'Requires Honeycomb API key', + }, + { + id: 'lightstep', + name: 'ServiceNow Cloud Observability', + domain: 'lightstep.com', + description: 'Distributed tracing and observability', + category: 'Monitoring', + examplePrompts: [ + 'Get LightStep trace data', + 'Check service dependencies', + 'Verify performance metrics', + ], + setupHint: 'Requires LightStep API token', + }, + { + id: 'cloudwatch', + name: 'AWS CloudWatch', + domain: 'aws.amazon.com', + description: 'AWS monitoring and observability', + category: 'Monitoring', + popular: true, + examplePrompts: ['Get CloudWatch metrics', 'Check alarm status', 'Query CloudWatch Logs'], + setupHint: 'Requires AWS credentials with CloudWatch access', + }, + { + id: 'stackdriver', + name: 'Google Cloud Monitoring', + domain: 'cloud.google.com', + description: 'GCP monitoring and logging', + category: 'Monitoring', + examplePrompts: ['Get Cloud Monitoring metrics', 'Check uptime checks', 'Query Cloud Logging'], + setupHint: 'Requires GCP Monitoring API access', + }, + { + id: 'azure-monitor', + name: 'Azure Monitor', + domain: 'azure.microsoft.com', + description: 'Azure monitoring and diagnostics', + category: 'Monitoring', + examplePrompts: ['Get Azure Monitor metrics', 'Check activity logs', 'Verify alert rules'], + setupHint: 'Requires Azure Monitor access', + }, + { + id: 'pingdom', + name: 'Pingdom', + domain: 'pingdom.com', + description: 'Website and application monitoring', + category: 'Monitoring', + examplePrompts: [ + 'Get Pingdom uptime status', + 'Check response time metrics', + 'Verify monitoring checks', + ], + setupHint: 'Requires Pingdom API token', + }, + { + id: 'uptimerobot', + name: 'UptimeRobot', + domain: 'uptimerobot.com', + description: 'Website uptime monitoring', + category: 'Monitoring', + examplePrompts: [ + 'Get UptimeRobot monitor status', + 'Check downtime incidents', + 'Verify alert contacts', + ], + setupHint: 'Requires UptimeRobot API key', + }, + { + id: 'statuspage', + name: 'Statuspage', + domain: 'statuspage.io', + description: 'Status page and incident communication', + category: 'Monitoring', + examplePrompts: [ + 'Get Statuspage component status', + 'Check recent incidents', + 'Verify subscriber notifications', + ], + setupHint: 'Requires Statuspage API key', + }, + { + id: 'better-uptime', + name: 'Better Uptime', + domain: 'betteruptime.com', + description: 'Infrastructure monitoring and on-call', + category: 'Monitoring', + examplePrompts: [ + 'Get Better Uptime monitor status', + 'Check on-call schedules', + 'Verify incident responses', + ], + setupHint: 'Requires Better Uptime API token', + }, +]; diff --git a/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts b/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts index cfdce2469..b8897191e 100644 --- a/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts +++ b/apps/app/src/app/(app)/[orgId]/integrations/data/integrations.ts @@ -8,10 +8,13 @@ * - Easy to add new integrations category-by-category */ -import { identityIntegrations } from './categories/identity'; -import { hrIntegrations } from './categories/hr'; import { cloudIntegrations } from './categories/cloud'; +import { communicationIntegrations } from './categories/communication'; import { developmentIntegrations } from './categories/development'; +import { hrIntegrations } from './categories/hr'; +import { identityIntegrations } from './categories/identity'; +import { infrastructureIntegrations } from './categories/infrastructure'; +import { monitoringIntegrations } from './categories/monitoring'; export interface Integration { id: string; @@ -42,7 +45,9 @@ export const INTEGRATIONS: Integration[] = [ ...hrIntegrations, ...cloudIntegrations, ...developmentIntegrations, - // More categories will be added: communication, monitoring, compliance, infrastructure + ...communicationIntegrations, + ...monitoringIntegrations, + ...infrastructureIntegrations, ]; export const CATEGORIES: IntegrationCategory[] = [