n8n-nodes-cribops 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 CloudBedrock
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,319 @@
1
+ # n8n-nodes-cribops
2
+
3
+ This is an n8n community node. It lets you use Cribops in your n8n workflows.
4
+
5
+ Cribops is the platform where teams build, deploy, and scale AI-powered automation agents for customer service, support, and business operations.
6
+
7
+ > **Note**: This integration requires an active subscription with [Cribops.com](https://cribops.com). Sign up for an account to obtain your API credentials.
8
+
9
+ ## Features
10
+
11
+ - **Scalable Automation**: Build resilient workflows with AI agents that handle customer interactions at scale
12
+ - **AWS Service Integration**: Leverage AWS SQS queues and SNS topics for enterprise-grade message processing
13
+ - **Real-time Communication**: HTTP webhooks enable instant bidirectional messaging between n8n and Cribops agents
14
+ - **Smart Agent Routing**: Dynamic agent selection ensures messages reach the right automation specialist
15
+ - **Context Preservation**: Maintains full conversation history across complex multi-step workflows
16
+ - **Enterprise Security**: Dual authentication with API tokens and AWS credentials for secure cloud operations
17
+ - **File Processing**: Handle documents, images, and attachments through S3 presigned URLs
18
+ - **Event-Driven Triggers**: Filter and respond to specific event types for targeted automation
19
+
20
+ ## Nodes Included
21
+
22
+ ### 1. Cribops Node
23
+ Execute operations on Cribops automation agents:
24
+ - **Send Messages**: Dispatch requests to AI agents with file attachments and metadata
25
+ - **Manage Conversations**: Reply to ongoing conversations while maintaining full context
26
+ - **Agent Operations**: List available agents, retrieve agent details, and route dynamically
27
+ - **Real-time Status**: Send typing indicators to show processing activity
28
+ - **Custom Properties**: Attach metadata for workflow-specific data handling
29
+
30
+ ### 2. Cribops Trigger Node
31
+ Receive and process events from Cribops automation platform:
32
+ - **Webhook Reception**: Instantly receive messages from users and agents
33
+ - **Smart Filtering**: Process only relevant events (user messages, agent responses, attachments)
34
+ - **Secure Validation**: Verify webhook authenticity with secret tokens
35
+ - **Data Enrichment**: Automatically include routing information for seamless replies
36
+ - **Queue Integration**: Future support for AWS SQS polling for guaranteed message delivery
37
+ - **Topic Subscriptions**: Future support for AWS SNS for event broadcasting
38
+
39
+ ## Installation
40
+
41
+ ### Prerequisites
42
+ - Node.js >= 20.15
43
+ - n8n >= 1.0.0
44
+ - Active Cribops subscription (visit [cribops.com](https://cribops.com) to sign up)
45
+ - Cribops API access token (available in your Cribops dashboard)
46
+
47
+ ### Via npm (Recommended)
48
+ ```bash
49
+ npm install n8n-nodes-cribops
50
+ ```
51
+
52
+ ### Via n8n GUI (For verified community nodes)
53
+ 1. Go to **Settings** → **Community Nodes**
54
+ 2. Click **Install a Community Node**
55
+ 3. Enter: `n8n-nodes-cribops`
56
+ 4. Click **Install**
57
+
58
+ ### Manual Installation
59
+ ```bash
60
+ # Clone the repository
61
+ git clone https://github.com/CloudBedrock/n8n-nodes-cribops.git
62
+ cd n8n-nodes-cribops
63
+
64
+ # Install dependencies
65
+ npm install
66
+
67
+ # Build the package
68
+ npm run build
69
+
70
+ # Link globally for testing
71
+ npm link
72
+ ```
73
+
74
+ ## Configuration
75
+
76
+ ### 1. Cribops API Credentials
77
+ Create a new credential in n8n:
78
+ - **Credential Type**: Cribops API
79
+ - **API Token**: Your Cribops API token (Required)
80
+ - **Base URL**: Your Cribops instance URL (e.g., `https://api.cribops.com`)
81
+ - **Account ID**: (Optional) Account ID for AWS service integration
82
+ - **Account Secret**: (Optional) Secret key for AWS service integration
83
+ - **Region**: (Optional) AWS region for cloud services (default: us-east-1)
84
+
85
+ ### 2. Agent Selection
86
+ The nodes automatically populate available agents from your Cribops instance. Select the appropriate agent from the dropdown when configuring each node.
87
+
88
+ ## Usage Examples
89
+
90
+ ### Customer Support Automation
91
+ ```
92
+ [Cribops Trigger] → [Sentiment Analysis] → [Route to Agent] → [Cribops Response]
93
+ ```
94
+ Automatically analyze customer sentiment and route to specialized AI agents based on urgency and topic.
95
+
96
+ ### Document Processing Pipeline
97
+ ```
98
+ [Cribops Trigger] → [Extract Attachment] → [OCR/Parse] → [Database] → [Cribops Response]
99
+ ```
100
+ Process incoming documents, extract data, store in database, and respond with confirmation.
101
+
102
+ ### Multi-Channel Integration
103
+ ```
104
+ [Slack] → [Format Message] → [Cribops Agent] → [Process] → [Email/SMS/Slack]
105
+ ```
106
+ Receive requests from any channel, process with Cribops agents, and respond across multiple platforms.
107
+
108
+ ### Escalation Workflow
109
+ ```
110
+ [Cribops Trigger] → [Check Complexity] → [If Complex] → [Human Review] → [Cribops Response]
111
+ ```
112
+ Automatically escalate complex requests while handling routine inquiries with AI agents.
113
+
114
+ ## API Integration
115
+
116
+ ### Cribops Platform Endpoints
117
+ - `GET /api/v1/agents` - Agent selection and retrieval
118
+ - `GET /api/v1/agents/{agent_id}` - Get specific agent details
119
+ - `POST /webhooks/agents/{agent_id}/message` - HTTP webhook endpoint
120
+ - `POST /api/v1/agents/{agent_id}/files` - File uploads
121
+ - `POST /api/v1/agents/{agent_id}/typing` - Send typing indicators
122
+ - Response webhook URL provided in incoming messages for replies
123
+ - AWS SQS queue endpoints (when configured with AWS credentials)
124
+ - AWS SNS topic endpoints (when configured with AWS credentials)
125
+
126
+ ### Message Formats
127
+
128
+ #### Incoming User Message
129
+ ```json
130
+ {
131
+ "conversation_id": "uuid-v4",
132
+ "content": "Hello, I need help with...",
133
+ "message_id": "uuid-v4",
134
+ "user_id": "uuid-v4",
135
+ "organization_id": "uuid-v4",
136
+ "timestamp": "2025-01-10T16:00:00Z",
137
+ "response_webhook": "https://api.cribops.com/webhooks/response/uuid-v4",
138
+ "type": "user_message",
139
+ "attachments": [
140
+ {
141
+ "type": "image",
142
+ "url": "https://s3.amazonaws.com/...",
143
+ "filename": "screenshot.png",
144
+ "size": 1024000,
145
+ "mime_type": "image/png"
146
+ }
147
+ ]
148
+ }
149
+ ```
150
+
151
+ #### Outgoing Agent Response
152
+ ```json
153
+ {
154
+ "conversation_id": "uuid-v4",
155
+ "content": "I can help you with that...",
156
+ "message_id": "external-id-123",
157
+ "timestamp": "2025-01-10T16:01:00Z",
158
+ "attachments": [
159
+ {
160
+ "type": "file",
161
+ "url": "https://s3.amazonaws.com/...",
162
+ "filename": "report.pdf",
163
+ "size": 2048000,
164
+ "mime_type": "application/pdf"
165
+ }
166
+ ]
167
+ }
168
+ ```
169
+
170
+ ## Development
171
+
172
+ ### Setup
173
+ ```bash
174
+ # Clone repository
175
+ git clone https://github.com/CloudBedrock/n8n-nodes-cribops.git
176
+ cd n8n-nodes-cribops
177
+
178
+ # Install dependencies
179
+ npm install
180
+
181
+ # Start development mode
182
+ npm run dev
183
+ ```
184
+
185
+ ### Building
186
+ ```bash
187
+ # Build TypeScript and icons
188
+ npm run build
189
+
190
+ # Lint code
191
+ npm run lint
192
+
193
+ # Format code
194
+ npm run format
195
+ ```
196
+
197
+ ### Testing
198
+ ```bash
199
+ # Run tests
200
+ npm run test
201
+
202
+ # Test with local n8n instance
203
+ npm link
204
+ npm link n8n-nodes-cribops
205
+ N8N_CUSTOM_EXTENSIONS=n8n-nodes-cribops n8n start
206
+ ```
207
+
208
+ ## Configuration Examples
209
+
210
+ ### Environment Variables
211
+ ```bash
212
+ # For local development
213
+ export CRIBOPS_API_URL=http://localhost:4000
214
+
215
+ # AWS configuration (optional)
216
+ export AWS_REGION=us-east-1
217
+ export AWS_ACCESS_KEY_ID=your_access_key
218
+ export AWS_SECRET_ACCESS_KEY=your_secret_key
219
+
220
+ # For n8n configuration
221
+ export N8N_CUSTOM_EXTENSIONS=n8n-nodes-cribops
222
+ export N8N_NODES_INCLUDE=n8n-nodes-cribops
223
+ ```
224
+
225
+ ### Docker Configuration
226
+ ```dockerfile
227
+ FROM n8nio/n8n:latest
228
+
229
+ # Install the community node
230
+ RUN npm install -g n8n-nodes-cribops
231
+
232
+ # Set environment variables
233
+ ENV N8N_CUSTOM_EXTENSIONS=n8n-nodes-cribops
234
+ ```
235
+
236
+ ## Troubleshooting
237
+
238
+ ### Common Issues
239
+
240
+ #### Node Not Appearing in n8n
241
+ 1. Ensure the package is properly installed
242
+ 2. Check that `N8N_CUSTOM_EXTENSIONS` is set correctly
243
+ 3. Restart n8n after installation
244
+
245
+ #### Webhook Connection Issues
246
+ 1. Verify webhook URL is correctly configured
247
+ 2. Check bearer token authentication
248
+ 3. Ensure Cribops platform can reach your n8n instance
249
+
250
+ #### File Upload Problems
251
+ 1. Verify S3 configuration in Cribops platform
252
+ 2. Check file size limits
253
+ 3. Ensure proper MIME type handling
254
+
255
+ ### Debug Mode
256
+ Enable debug logging in n8n:
257
+ ```bash
258
+ export N8N_LOG_LEVEL=debug
259
+ n8n start
260
+ ```
261
+
262
+ ## Contributing
263
+
264
+ 1. Fork the repository
265
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
266
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
267
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
268
+ 5. Open a Pull Request
269
+
270
+ ### Development Guidelines
271
+ - Follow TypeScript best practices
272
+ - Add tests for new functionality
273
+ - Update documentation as needed
274
+ - Follow n8n community node guidelines
275
+
276
+ ## License
277
+
278
+ This n8n community node is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
279
+
280
+ **Important License Clarification:**
281
+ - The MIT license applies **only** to this n8n node integration code
282
+ - Cribops platform, services, and AI agents are licensed separately by CloudBedrock
283
+ - Use of Cribops services requires an active subscription and acceptance of Cribops Terms of Service
284
+ - CloudBedrock proprietary components and APIs remain under CloudBedrock's commercial license
285
+ - This open-source node is a client interface and does not grant any license to use Cribops services beyond your subscription terms
286
+
287
+ ## Support
288
+
289
+ - **Documentation**: [GitHub Wiki](https://github.com/CloudBedrock/n8n-nodes-cribops/wiki)
290
+ - **Issues**: [GitHub Issues](https://github.com/CloudBedrock/n8n-nodes-cribops/issues)
291
+ - **Community**: [n8n Community](https://community.n8n.io)
292
+ - **Cribops Platform**: [cribops.com](https://cribops.com)
293
+
294
+ ## Changelog
295
+
296
+ ### Version 0.1.5
297
+ - Initial release
298
+ - HTTP webhook support for sending and receiving messages
299
+ - File attachment handling with S3 presigned URLs
300
+ - Dynamic agent selection with search functionality
301
+ - Reply to conversation functionality with webhook context
302
+ - Typing indicator support
303
+ - Event type filtering for trigger node
304
+ - AWS credentials support for future SQS/SNS integration
305
+ - Secret token validation for webhooks
306
+ - Message metadata support
307
+
308
+ ## Related Projects
309
+
310
+ - [n8n](https://github.com/n8n-io/n8n) - Workflow automation platform
311
+ - [Cribops AI](https://cribops.com) - AI agent platform
312
+
313
+ ---
314
+
315
+ **Note**: This is a community-maintained package that requires an active Cribops subscription. For official support, please contact the Cribops AI team at [cribops.com](https://cribops.com).
316
+
317
+ ## Disclaimer
318
+
319
+ This n8n node is provided as an open-source integration tool. CloudBedrock and Cribops are registered trademarks of CloudBedrock, Inc. The use of these trademarks in this project is for identification purposes only and does not imply endorsement.
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class CribopsApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CribopsApi = void 0;
4
+ class CribopsApi {
5
+ name = 'cribopsApi';
6
+ displayName = 'Cribops API';
7
+ documentationUrl = 'https://github.com/CloudBedrock/n8n-nodes-cribops/wiki';
8
+ properties = [
9
+ {
10
+ displayName: 'API Token',
11
+ name: 'apiToken',
12
+ type: 'string',
13
+ typeOptions: {
14
+ password: true,
15
+ },
16
+ default: '',
17
+ required: true,
18
+ description: 'The API token for authenticating with Cribops platform',
19
+ },
20
+ {
21
+ displayName: 'Base URL',
22
+ name: 'baseUrl',
23
+ type: 'string',
24
+ default: 'https://api.cribops.com',
25
+ required: true,
26
+ description: 'Base URL of the Cribops API',
27
+ },
28
+ {
29
+ displayName: 'Account ID',
30
+ name: 'accountId',
31
+ type: 'string',
32
+ default: '',
33
+ description: 'Account ID for cloud service integration',
34
+ },
35
+ {
36
+ displayName: 'Account Secret',
37
+ name: 'accountSecret',
38
+ type: 'string',
39
+ typeOptions: {
40
+ password: true,
41
+ },
42
+ default: '',
43
+ description: 'Account secret key for cloud service integration',
44
+ },
45
+ {
46
+ displayName: 'Region',
47
+ name: 'region',
48
+ type: 'string',
49
+ default: 'us-east-1',
50
+ description: 'Region for cloud service integration',
51
+ },
52
+ ];
53
+ authenticate = {
54
+ type: 'generic',
55
+ properties: {
56
+ headers: {
57
+ Authorization: '=Bearer {{$credentials.apiToken}}',
58
+ },
59
+ },
60
+ };
61
+ test = {
62
+ request: {
63
+ baseURL: '={{$credentials.baseUrl}}',
64
+ url: '/api/v1/agents',
65
+ method: 'GET',
66
+ },
67
+ };
68
+ }
69
+ exports.CribopsApi = CribopsApi;
@@ -0,0 +1,10 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription, ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
2
+ export declare class Cribops implements INodeType {
3
+ description: INodeTypeDescription;
4
+ methods: {
5
+ listSearch: {
6
+ searchAgents: (this: ILoadOptionsFunctions, filter?: string) => Promise<INodeListSearchResult>;
7
+ };
8
+ };
9
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
10
+ }