yourgui commited on
Commit
9ff1f13
·
verified ·
1 Parent(s): c92831d

ok now how can i actually create an integration where vai connects to my gpt, email to rube.app, etc

Browse files
Files changed (4) hide show
  1. agents.html +2 -4
  2. dashboard.html +1 -1
  3. index.html +1 -1
  4. integrations.html +335 -0
agents.html CHANGED
@@ -61,15 +61,13 @@
61
  <img src="https://static.photos/technology/200x200/42" alt="VAI Logo" class="w-10 h-10 rounded-lg">
62
  <h1 class="text-2xl font-bold text-primary-500">VAI</h1>
63
  </div>
64
-
65
  <nav class="hidden md:flex space-x-6">
66
  <a href="index.html" class="hover:text-primary-500 transition">Home</a>
67
  <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
68
  <a href="agents.html" class="text-primary-500 hover:text-primary-400 transition">Agents</a>
69
- <a href="#" class="hover:text-primary-500 transition">Integrations</a>
70
  </nav>
71
-
72
- <div class="flex items-center space-x-4">
73
  <button class="p-2 rounded-full bg-dark-800 hover:bg-dark-700 transition">
74
  <i data-feather="settings"></i>
75
  </button>
 
61
  <img src="https://static.photos/technology/200x200/42" alt="VAI Logo" class="w-10 h-10 rounded-lg">
62
  <h1 class="text-2xl font-bold text-primary-500">VAI</h1>
63
  </div>
 
64
  <nav class="hidden md:flex space-x-6">
65
  <a href="index.html" class="hover:text-primary-500 transition">Home</a>
66
  <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
67
  <a href="agents.html" class="text-primary-500 hover:text-primary-400 transition">Agents</a>
68
+ <a href="integrations.html" class="hover:text-primary-500 transition">Integrations</a>
69
  </nav>
70
+ <div class="flex items-center space-x-4">
 
71
  <button class="p-2 rounded-full bg-dark-800 hover:bg-dark-700 transition">
72
  <i data-feather="settings"></i>
73
  </button>
dashboard.html CHANGED
@@ -80,7 +80,7 @@
80
  <nav class="hidden md:flex space-x-6">
81
  <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
82
  <a href="agents.html" class="hover:text-primary-500 transition">Agents</a>
83
- <a href="#" class="hover:text-primary-500 transition">Integrations</a>
84
  <a href="#" class="hover:text-primary-500 transition">Community</a>
85
  </nav>
86
  <div class="flex items-center space-x-4">
 
80
  <nav class="hidden md:flex space-x-6">
81
  <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
82
  <a href="agents.html" class="hover:text-primary-500 transition">Agents</a>
83
+ <a href="integrations.html" class="hover:text-primary-500 transition">Integrations</a>
84
  <a href="#" class="hover:text-primary-500 transition">Community</a>
85
  </nav>
86
  <div class="flex items-center space-x-4">
index.html CHANGED
@@ -111,7 +111,7 @@ secondary: {
111
  <nav class="hidden md:flex space-x-6">
112
  <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
113
  <a href="agents.html" class="hover:text-primary-500 transition">Agents</a>
114
- <a href="#" class="hover:text-primary-500 transition">Integrations</a>
115
  <a href="#" class="hover:text-primary-500 transition">Community</a>
116
  </nav>
117
  <div class="flex items-center space-x-4">
 
111
  <nav class="hidden md:flex space-x-6">
112
  <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
113
  <a href="agents.html" class="hover:text-primary-500 transition">Agents</a>
114
+ <a href="integrations.html" class="hover:text-primary-500 transition">Integrations</a>
115
  <a href="#" class="hover:text-primary-500 transition">Community</a>
116
  </nav>
117
  <div class="flex items-center space-x-4">
integrations.html ADDED
@@ -0,0 +1,335 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Integrations | VAI</title>
7
+ <link rel="icon" type="image/x-icon" href="https://static.photos/technology/200x200/42">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://unpkg.com/feather-icons"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
11
+ <style>
12
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
13
+
14
+ .glass-panel {
15
+ backdrop-filter: blur(16px);
16
+ background: rgba(16, 21, 27, 0.7);
17
+ border: 1px solid rgba(255, 255, 255, 0.08);
18
+ }
19
+
20
+ .integration-card {
21
+ transition: all 0.3s ease;
22
+ }
23
+
24
+ .integration-card:hover {
25
+ transform: translateY(-5px);
26
+ box-shadow: 0 10px 25px -5px rgba(63, 242, 140, 0.1);
27
+ }
28
+
29
+ .connected-badge {
30
+ animation: pulse 2s infinite;
31
+ }
32
+
33
+ @keyframes pulse {
34
+ 0% { box-shadow: 0 0 0 0 rgba(63, 242, 140, 0.4); }
35
+ 70% { box-shadow: 0 0 0 10px rgba(63, 242, 140, 0); }
36
+ 100% { box-shadow: 0 0 0 0 rgba(63, 242, 140, 0); }
37
+ }
38
+ </style>
39
+ </head>
40
+ <body class="bg-dark-900 text-gray-200 font-sans min-h-screen overflow-x-hidden" id="vanta-bg">
41
+ <script>
42
+ VANTA.GLOBE({
43
+ el: "#vanta-bg",
44
+ mouseControls: true,
45
+ touchControls: true,
46
+ gyroControls: false,
47
+ minHeight: 200.00,
48
+ minWidth: 200.00,
49
+ scale: 1.00,
50
+ scaleMobile: 1.00,
51
+ color: "#3FF28C",
52
+ backgroundColor: "#10151B",
53
+ size: 0.8
54
+ })
55
+ </script>
56
+
57
+ <div class="container mx-auto px-4 py-8 max-w-7xl">
58
+ <!-- Header -->
59
+ <header class="flex justify-between items-center mb-12">
60
+ <div class="flex items-center space-x-2">
61
+ <img src="https://static.photos/technology/200x200/42" alt="VAI Logo" class="w-10 h-10 rounded-lg">
62
+ <h1 class="text-2xl font-bold text-primary-500">VAI</h1>
63
+ </div>
64
+
65
+ <nav class="hidden md:flex space-x-6">
66
+ <a href="index.html" class="hover:text-primary-500 transition">Home</a>
67
+ <a href="dashboard.html" class="hover:text-primary-500 transition">Dashboard</a>
68
+ <a href="agents.html" class="hover:text-primary-500 transition">Agents</a>
69
+ <a href="integrations.html" class="text-primary-500 hover:text-primary-400 transition">Integrations</a>
70
+ </nav>
71
+
72
+ <div class="flex items-center space-x-4">
73
+ <button class="p-2 rounded-full bg-dark-800 hover:bg-dark-700 transition">
74
+ <i data-feather="settings"></i>
75
+ </button>
76
+ <button class="px-4 py-2 bg-primary-500 hover:bg-primary-600 text-dark-900 rounded-lg font-medium transition">
77
+ <i data-feather="plus" class="mr-2"></i> New Agent
78
+ </button>
79
+ </div>
80
+ </header>
81
+
82
+ <!-- Integrations Management -->
83
+ <section class="mb-8">
84
+ <div class="flex justify-between items-center mb-8">
85
+ <div>
86
+ <h2 class="text-3xl font-bold mb-2">Connected Services</h2>
87
+ <p class="text-gray-400">Connect your favorite tools to automate workflows</p>
88
+ </div>
89
+ <div class="relative">
90
+ <input type="text" placeholder="Search integrations..." class="bg-dark-800 border border-gray-700 rounded-lg px-4 py-2 pl-10 focus:outline-none focus:ring-1 focus:ring-primary-500">
91
+ <i data-feather="search" class="absolute left-3 top-2.5 text-gray-500"></i>
92
+ </div>
93
+ </div>
94
+
95
+ <!-- Connected Integrations -->
96
+ <div class="mb-12">
97
+ <h3 class="text-xl font-bold mb-6">Your Active Connections</h3>
98
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
99
+ <!-- GPT Connection -->
100
+ <div class="integration-card glass-panel rounded-xl p-6 border border-green-400/20 hover:border-green-400/40 transition">
101
+ <div class="flex justify-between items-start mb-4">
102
+ <div class="flex items-center space-x-3">
103
+ <img src="https://static.photos/technology/200x200/42" alt="GPT" class="w-12 h-12 rounded-lg">
104
+ <div>
105
+ <h3 class="font-bold">GPT-4</h3>
106
+ <span class="text-xs text-green-400 flex items-center">
107
+ <span class="w-2 h-2 rounded-full bg-green-400 mr-1 connected-badge"></span>
108
+ Connected
109
+ </span>
110
+ </div>
111
+ </div>
112
+ <div class="dropdown relative">
113
+ <button class="text-gray-400 hover:text-green-400">
114
+ <i data-feather="more-vertical"></i>
115
+ </button>
116
+ </div>
117
+ </div>
118
+ <p class="text-sm text-gray-300 mb-4">AI model for text generation and analysis</p>
119
+ <div class="flex justify-between text-xs text-gray-400">
120
+ <span>API calls: 142 today</span>
121
+ <span>Last used: 2 min ago</span>
122
+ </div>
123
+ </div>
124
+
125
+ <!-- Email Connection -->
126
+ <div class="integration-card glass-panel rounded-xl p-6 border border-blue-400/20 hover:border-blue-400/40 transition">
127
+ <div class="flex justify-between items-start mb-4">
128
+ <div class="flex items-center space-x-3">
129
+ <img src="https://upload.wikimedia.org/wikipedia/commons/7/7e/Gmail_icon_%282020%29.svg" alt="Gmail" class="w-12 h-12 rounded-lg">
130
+ <div>
131
+ <h3 class="font-bold">Gmail</h3>
132
+ <span class="text-xs text-blue-400 flex items-center">
133
+ <span class="w-2 h-2 rounded-full bg-blue-400 mr-1 connected-badge"></span>
134
+ Connected
135
+ </span>
136
+ </div>
137
+ </div>
138
+ <div class="dropdown relative">
139
+ <button class="text-gray-400 hover:text-blue-400">
140
+ <i data-feather="more-vertical"></i>
141
+ </button>
142
+ </div>
143
+ </div>
144
+ <p class="text-sm text-gray-300 mb-4">Email processing and automation</p>
145
+ <div class="flex justify-between text-xs text-gray-400">
146
+ <span>Processed: 24 emails</span>
147
+ <span>Last sync: 5 min ago</span>
148
+ </div>
149
+ </div>
150
+
151
+ <!-- Rube.app Connection -->
152
+ <div class="integration-card glass-panel rounded-xl p-6 border border-purple-500/20 hover:border-purple-500/40 transition">
153
+ <div class="flex justify-between items-start mb-4">
154
+ <div class="flex items-center space-x-3">
155
+ <img src="https://static.photos/technology/200x200/43" alt="Rube.app" class="w-12 h-12 rounded-lg">
156
+ <div>
157
+ <h3 class="font-bold">Rube.app</h3>
158
+ <span class="text-xs text-purple-500 flex items-center">
159
+ <span class="w-2 h-2 rounded-full bg-purple-500 mr-1 connected-badge"></span>
160
+ Connected
161
+ </span>
162
+ </div>
163
+ </div>
164
+ <div class="dropdown relative">
165
+ <button class="text-gray-400 hover:text-purple-500">
166
+ <i data-feather="more-vertical"></i>
167
+ </button>
168
+ </div>
169
+ </div>
170
+ <p class="text-sm text-gray-300 mb-4">Workflow automation platform</p>
171
+ <div class="flex justify-between text-xs text-gray-400">
172
+ <span>Workflows: 3 active</span>
173
+ <span>Last run: 1 hour ago</span>
174
+ </div>
175
+ </div>
176
+ </div>
177
+ </div>
178
+
179
+ <!-- Available Integrations -->
180
+ <div>
181
+ <h3 class="text-xl font-bold mb-6">Available Integrations</h3>
182
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
183
+ <!-- Slack -->
184
+ <div class="integration-card glass-panel rounded-xl p-6 border border-gray-700 hover:border-primary-500/30 transition">
185
+ <div class="flex justify-between items-start mb-4">
186
+ <img src="https://upload.wikimedia.org/wikipedia/commons/d/d5/Slack_icon_2019.svg" alt="Slack" class="w-12 h-12 rounded-lg">
187
+ <span class="text-xs bg-gray-700 px-2 py-1 rounded">Popular</span>
188
+ </div>
189
+ <h3 class="font-bold mb-2">Slack</h3>
190
+ <p class="text-sm text-gray-300 mb-4">Team communication and notifications</p>
191
+ <button class="w-full px-4 py-2 bg-primary-500 hover:bg-primary-600 text-dark-900 rounded-lg font-medium transition">
192
+ Connect
193
+ </button>
194
+ </div>
195
+
196
+ <!-- Notion -->
197
+ <div class="integration-card glass-panel rounded-xl p-6 border border-gray-700 hover:border-primary-500/30 transition">
198
+ <div class="flex justify-between items-start mb-4">
199
+ <img src="https://upload.wikimedia.org/wikipedia/commons/4/45/Notion_app_logo.png" alt="Notion" class="w-12 h-12 rounded-lg">
200
+ </div>
201
+ <h3 class="font-bold mb-2">Notion</h3>
202
+ <p class="text-sm text-gray-300 mb-4">Knowledge management and databases</p>
203
+ <button class="w-full px-4 py-2 bg-primary-500 hover:bg-primary-600 text-dark-900 rounded-lg font-medium transition">
204
+ Connect
205
+ </button>
206
+ </div>
207
+
208
+ <!-- Zapier -->
209
+ <div class="integration-card glass-panel rounded-xl p-6 border border-gray-700 hover:border-primary-500/30 transition">
210
+ <div class="flex justify-between items-start mb-4">
211
+ <img src="https://static.photos/technology/200x200/44" alt="Zapier" class="w-12 h-12 rounded-lg">
212
+ </div>
213
+ <h3 class="font-bold mb-2">Zapier</h3>
214
+ <p class="text-sm text-gray-300 mb-4">Connect with 5000+ apps</p>
215
+ <button class="w-full px-4 py-2 bg-primary-500 hover:bg-primary-600 text-dark-900 rounded-lg font-medium transition">
216
+ Connect
217
+ </button>
218
+ </div>
219
+
220
+ <!-- Make -->
221
+ <div class="integration-card glass-panel rounded-xl p-6 border border-gray-700 hover:border-primary-500/30 transition">
222
+ <div class="flex justify-between items-start mb-4">
223
+ <img src="https://static.photos/technology/200x200/45" alt="Make" class="w-12 h-12 rounded-lg">
224
+ </div>
225
+ <h3 class="font-bold mb-2">Make</h3>
226
+ <p class="text-sm text-gray-300 mb-4">Advanced automation scenarios</p>
227
+ <button class="w-full px-4 py-2 bg-primary-500 hover:bg-primary-600 text-dark-900 rounded-lg font-medium transition">
228
+ Connect
229
+ </button>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ </section>
234
+
235
+ <!-- Custom API Section -->
236
+ <section class="glass-panel rounded-2xl p-8 mb-8">
237
+ <h3 class="text-2xl font-bold mb-4">Custom API Integration</h3>
238
+ <p class="text-gray-400 mb-6">Connect to any service with a REST API</p>
239
+
240
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
241
+ <div>
242
+ <h4 class="font-medium mb-3">API Configuration</h4>
243
+ <div class="space-y-4">
244
+ <div>
245
+ <label class="block text-sm text-gray-400 mb-1">API Name</label>
246
+ <input type="text" class="w-full bg-dark-800 border border-gray-700 rounded-lg px-4 py-2 focus:outline-none focus:ring-1 focus:ring-primary-500" placeholder="My Custom API">
247
+ </div>
248
+ <div>
249
+ <label class="block text-sm text-gray-400 mb-1">Base URL</label>
250
+ <input type="text" class="w-full bg-dark-800 border border-gray-700 rounded-lg px-4 py-2 focus:outline-none focus:ring-1 focus:ring-primary-500" placeholder="https://api.example.com/v1">
251
+ </div>
252
+ <div>
253
+ <label class="block text-sm text-gray-400 mb-1">Authentication</label>
254
+ <select class="w-full bg-dark-800 border border-gray-700 rounded-lg px-4 py-2 focus:outline-none focus:ring-1 focus:ring-primary-500">
255
+ <option>API Key</option>
256
+ <option>OAuth 2.0</option>
257
+ <option>Bearer Token</option>
258
+ <option>Basic Auth</option>
259
+ </select>
260
+ </div>
261
+ </div>
262
+ </div>
263
+
264
+ <div>
265
+ <h4 class="font-medium mb-3">API Key</h4>
266
+ <div class="bg-dark-800 rounded-lg p-4 border border-gray-700 mb-4">
267
+ <div class="flex justify-between items-center mb-2">
268
+ <span class="text-sm text-gray-400">Key</span>
269
+ <button class="text-xs text-primary-500 hover:text-primary-400">
270
+ <i data-feather="eye" class="w-3 h-3 mr-1"></i> Show
271
+ </button>
272
+ </div>
273
+ <input type="password" value="sk_test_51MZ..." class="w-full bg-transparent border-none focus:outline-none font-mono text-sm">
274
+ </div>
275
+
276
+ <div class="flex space-x-4">
277
+ <button class="px-4 py-2 bg-primary-500 hover:bg-primary-600 text-dark-900 rounded-lg font-medium transition">
278
+ Test Connection
279
+ </button>
280
+ <button class="px-4 py-2 border border-gray-700 hover:bg-dark-800 rounded-lg transition">
281
+ Save Configuration
282
+ </button>
283
+ </div>
284
+ </div>
285
+ </div>
286
+ </section>
287
+
288
+ <!-- Footer -->
289
+ <footer class="border-t border-gray-800 pt-8 pb-12">
290
+ <div class="flex flex-col md:flex-row justify-between items-center">
291
+ <p class="text-gray-500 text-sm mb-4 md:mb-0">© 2023 VAI. All rights reserved.</p>
292
+ <div class="flex space-x-4">
293
+ <a href="#" class="text-gray-500 hover:text-primary-500 transition">
294
+ <i data-feather="twitter"></i>
295
+ </a>
296
+ <a href="#" class="text-gray-500 hover:text-primary-500 transition">
297
+ <i data-feather="linkedin"></i>
298
+ </a>
299
+ <a href="#" class="text-gray-500 hover:text-primary-500 transition">
300
+ <i data-feather="github"></i>
301
+ </a>
302
+ </div>
303
+ </div>
304
+ </footer>
305
+ </div>
306
+
307
+ <script>
308
+ feather.replace();
309
+
310
+ // Connection modal would go here
311
+ document.querySelectorAll('.integration-card button').forEach(button => {
312
+ button.addEventListener('click', function() {
313
+ const card = this.closest('.integration-card');
314
+ const serviceName = card.querySelector('h3').textContent;
315
+
316
+ // In a real app, this would open an OAuth flow or API key input
317
+ alert(`Connecting to ${serviceName}... This would initiate OAuth or show API key input.`);
318
+
319
+ // Simulate successful connection
320
+ setTimeout(() => {
321
+ const statusBadge = card.querySelector('.text-xs');
322
+ statusBadge.innerHTML = '<span class="w-2 h-2 rounded-full bg-green-400 mr-1 connected-badge"></span> Connected';
323
+ statusBadge.className = 'text-xs text-green-400 flex items-center';
324
+
325
+ const connectButton = card.querySelector('button');
326
+ if (connectButton) {
327
+ connectButton.textContent = 'Configure';
328
+ connectButton.className = 'w-full px-4 py-2 bg-gray-700 hover:bg-gray-600 text-white rounded-lg font-medium transition';
329
+ }
330
+ }, 1500);
331
+ });
332
+ });
333
+ </script>
334
+ </body>
335
+ </html>