n8n-nodes-databar 0.1.3 → 0.2.0
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/README.md +56 -146
- package/dist/nodes/Databar/Databar.node.d.ts +10 -3
- package/dist/nodes/Databar/Databar.node.js +432 -498
- package/package.json +2 -4
package/README.md
CHANGED
|
@@ -2,46 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
This is an n8n community node that lets you use [Databar.ai](https://databar.ai) in your n8n workflows.
|
|
4
4
|
|
|
5
|
-
Databar.ai provides powerful data enrichment capabilities for your automation workflows
|
|
5
|
+
Databar.ai provides powerful data enrichment and table management capabilities for your automation workflows — enrich contacts, companies, and more with data from multiple providers, and manage structured data in Databar tables.
|
|
6
6
|
|
|
7
7
|
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
8
8
|
|
|
9
9
|
[Installation](#installation) · [Configuration](#configuration) · [Operations](#operations) · [Examples](#usage-examples) · [Support](#support)
|
|
10
10
|
|
|
11
|
-
## ✨ Features
|
|
12
|
-
|
|
13
|
-
- **🔍 Smart Enrichment Selection**: Browse and search all available enrichments with descriptions, data sources, and pricing displayed in-app
|
|
14
|
-
- **📝 Flexible Parameter Input**: Choose between guided individual fields or raw JSON - adapts automatically to your enrichment's requirements
|
|
15
|
-
- **⏱️ Automatic Async Handling**: Built-in polling for async operations - no manual status checking needed
|
|
16
|
-
- **🌊 Waterfall Support**: Chain multiple data providers with automatic fallback
|
|
17
|
-
- **🎯 Type-Safe**: Full TypeScript implementation with proper validation
|
|
18
|
-
|
|
19
11
|
## Installation
|
|
20
12
|
|
|
21
13
|
### Community Nodes (Recommended)
|
|
22
14
|
|
|
23
|
-
Follow this guide in your n8n instance:
|
|
24
|
-
|
|
25
15
|
**For n8n Cloud:**
|
|
26
|
-
1. Go to **Settings
|
|
16
|
+
1. Go to **Settings > Community Nodes**
|
|
27
17
|
2. Select **Install**
|
|
28
18
|
3. Enter `n8n-nodes-databar`
|
|
29
19
|
4. Agree to the risks of using community nodes
|
|
30
20
|
5. Select **Install**
|
|
31
21
|
|
|
32
22
|
**For Self-Hosted n8n:**
|
|
33
|
-
1. Go to **Settings
|
|
23
|
+
1. Go to **Settings > Community Nodes**
|
|
34
24
|
2. Select **Install**
|
|
35
25
|
3. Enter `n8n-nodes-databar`
|
|
36
26
|
4. Select **Install**
|
|
37
27
|
5. Restart your n8n instance
|
|
38
28
|
|
|
39
|
-
After installation, the Databar node will appear in your node panel.
|
|
40
|
-
|
|
41
29
|
### npm Installation
|
|
42
30
|
|
|
43
|
-
Alternatively, install via npm:
|
|
44
|
-
|
|
45
31
|
```bash
|
|
46
32
|
npm install n8n-nodes-databar
|
|
47
33
|
```
|
|
@@ -60,12 +46,12 @@ You need a Databar.ai account and API key:
|
|
|
60
46
|
|
|
61
47
|
### Setting up Credentials
|
|
62
48
|
|
|
63
|
-
1. In n8n, go to **Credentials
|
|
49
|
+
1. In n8n, go to **Credentials > New**
|
|
64
50
|
2. Search for **Databar API**
|
|
65
51
|
3. Enter your API Key
|
|
66
52
|
4. Click **Save**
|
|
67
53
|
|
|
68
|
-
The credentials
|
|
54
|
+
The credentials are tested automatically to ensure they work.
|
|
69
55
|
|
|
70
56
|
## Operations
|
|
71
57
|
|
|
@@ -74,129 +60,59 @@ The credentials will be tested automatically to ensure they work.
|
|
|
74
60
|
|
|
75
61
|
### Enrichment
|
|
76
62
|
- **Run**: Execute a single enrichment task
|
|
77
|
-
- Browse enrichments from a searchable dropdown
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
|
|
63
|
+
- Browse enrichments from a searchable dropdown with descriptions and pricing
|
|
64
|
+
- Dynamic parameter form generated from enrichment requirements
|
|
65
|
+
- Automatic polling for results (configurable interval and timeout)
|
|
66
|
+
|
|
67
|
+
### Table
|
|
68
|
+
- **Insert Rows**: Insert one or more rows into a Databar table
|
|
69
|
+
- Select table from a searchable dropdown
|
|
70
|
+
- Dynamic column form generated from the table schema
|
|
71
|
+
- Options for deduplication and auto-creating new columns
|
|
72
|
+
- **Upsert Rows**: Update existing rows by key, or insert new ones if no match is found
|
|
73
|
+
- Select match column and value
|
|
74
|
+
- Dynamic column form for fields to update
|
|
82
75
|
|
|
83
76
|
### Waterfall
|
|
84
|
-
- **List**: Browse all available waterfalls
|
|
85
|
-
- **Get**: Get details about a specific waterfall
|
|
86
77
|
- **Run**: Execute a waterfall with multiple data providers
|
|
87
|
-
- Select which providers to use
|
|
78
|
+
- Select which data providers to use
|
|
79
|
+
- Dynamic parameter form generated from waterfall requirements
|
|
88
80
|
- Automatic fallback between providers
|
|
89
81
|
- Configurable polling and timeouts
|
|
90
82
|
|
|
91
|
-
## Key Features Explained
|
|
92
|
-
|
|
93
|
-
### Dynamic Enrichment Selection
|
|
94
|
-
|
|
95
|
-
Instead of needing to know enrichment IDs, browse all available enrichments in a searchable dropdown with full details:
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
Email Validator
|
|
99
|
-
↳ Verify if an email address is valid and deliverable | ZeroBounce · 0.01 Credits
|
|
100
|
-
|
|
101
|
-
Get people data from email
|
|
102
|
-
↳ Returns a person's name, location, social media... | Clearbit · 0.10 Credits
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Smart Parameter Input
|
|
106
|
-
|
|
107
|
-
**Guided Fields Mode (Recommended)**
|
|
108
|
-
|
|
109
|
-
The node automatically generates individual input fields for each parameter:
|
|
110
|
-
- Labeled fields with proper types (text, number, boolean)
|
|
111
|
-
- Required vs optional indicators
|
|
112
|
-
- Built-in descriptions
|
|
113
|
-
- Type validation
|
|
114
|
-
|
|
115
|
-
**Raw JSON Mode**
|
|
116
|
-
|
|
117
|
-
For power users and dynamic workflows:
|
|
118
|
-
- Enter parameters as JSON object
|
|
119
|
-
- Use n8n expressions
|
|
120
|
-
- Full control over input format
|
|
121
|
-
|
|
122
|
-
**Example:**
|
|
123
|
-
```
|
|
124
|
-
Guided Fields:
|
|
125
|
-
Email: john@example.com ✓ (Required)
|
|
126
|
-
First Name: John (Optional)
|
|
127
|
-
|
|
128
|
-
Raw JSON:
|
|
129
|
-
{
|
|
130
|
-
"email": "john@example.com",
|
|
131
|
-
"first_name": "John"
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Automatic Async Handling
|
|
136
|
-
|
|
137
|
-
Enrichment and waterfall operations are asynchronous. This node handles it automatically:
|
|
138
|
-
|
|
139
|
-
**With "Wait for Completion" enabled (default):**
|
|
140
|
-
- Submits the task
|
|
141
|
-
- Polls every 3 seconds
|
|
142
|
-
- Returns completed results
|
|
143
|
-
- Clear error messages on failure
|
|
144
|
-
|
|
145
|
-
**With "Wait for Completion" disabled:**
|
|
146
|
-
- Returns `task_id` immediately
|
|
147
|
-
- Check status later with another node
|
|
148
|
-
|
|
149
|
-
**Configuration:**
|
|
150
|
-
- **Poll Interval**: Seconds between checks (default: 3)
|
|
151
|
-
- **Timeout**: Maximum wait time (default: 300 seconds)
|
|
152
|
-
|
|
153
83
|
## Usage Examples
|
|
154
84
|
|
|
155
|
-
### Example 1:
|
|
85
|
+
### Example 1: Enrich a Contact
|
|
156
86
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
5. Enter email address in the Email field
|
|
163
|
-
6. Execute → Returns enriched contact data
|
|
164
|
-
```
|
|
87
|
+
1. Add a Databar node to your workflow
|
|
88
|
+
2. Select Resource: **Enrichment**, Operation: **Run**
|
|
89
|
+
3. Select an enrichment from the dropdown (e.g., "Get people data from email")
|
|
90
|
+
4. Fill in the required parameters (e.g., email address)
|
|
91
|
+
5. Execute — returns enriched contact data
|
|
165
92
|
|
|
166
93
|
### Example 2: Waterfall with Multiple Providers
|
|
167
94
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
6. Select data providers to use
|
|
175
|
-
7. Execute → Returns data from first successful provider
|
|
176
|
-
```
|
|
95
|
+
1. Add a Databar node
|
|
96
|
+
2. Resource: **Waterfall**, Operation: **Run**
|
|
97
|
+
3. Select your waterfall from the dropdown
|
|
98
|
+
4. Fill in the parameters (e.g., company domain)
|
|
99
|
+
5. Select data providers to use
|
|
100
|
+
6. Execute — returns data from the first successful provider
|
|
177
101
|
|
|
178
|
-
### Example 3:
|
|
102
|
+
### Example 3: Insert Data into a Table
|
|
179
103
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
5. Enter array of records:
|
|
186
|
-
[
|
|
187
|
-
{"email": "john@example.com"},
|
|
188
|
-
{"email": "jane@company.com"}
|
|
189
|
-
]
|
|
190
|
-
6. Execute → Returns all enriched records
|
|
191
|
-
```
|
|
104
|
+
1. Add a Databar node
|
|
105
|
+
2. Resource: **Table**, Operation: **Insert Rows**
|
|
106
|
+
3. Select a table from the dropdown
|
|
107
|
+
4. Fill in column values using the generated form
|
|
108
|
+
5. Execute — row is inserted into the table
|
|
192
109
|
|
|
193
|
-
### Example 4: Integration
|
|
110
|
+
### Example 4: Workflow Integration
|
|
194
111
|
|
|
195
112
|
```
|
|
196
|
-
Webhook
|
|
113
|
+
Webhook > Databar (Enrich) > Filter > Send Email
|
|
197
114
|
|
|
198
|
-
|
|
199
|
-
1. Webhook receives new lead
|
|
115
|
+
1. Webhook receives a new lead
|
|
200
116
|
2. Databar enriches with company data
|
|
201
117
|
3. Filter checks if company size > 100
|
|
202
118
|
4. Send personalized email to qualified leads
|
|
@@ -218,26 +134,18 @@ If you see authentication errors:
|
|
|
218
134
|
- Check that your Databar account is active
|
|
219
135
|
- Ensure you have sufficient credits
|
|
220
136
|
|
|
221
|
-
### Enrichment Dropdown Empty
|
|
222
|
-
|
|
223
|
-
If enrichments don't load in the dropdown:
|
|
224
|
-
- Check your internet connection
|
|
225
|
-
- Verify API key has proper permissions
|
|
226
|
-
- Use "By ID" mode as a fallback to enter enrichment ID manually
|
|
227
|
-
|
|
228
137
|
### Task Timeout
|
|
229
138
|
|
|
230
|
-
If enrichment tasks timeout:
|
|
231
|
-
- Increase timeout in Additional Options
|
|
232
|
-
- Check if the enrichment requires more time
|
|
139
|
+
If enrichment or waterfall tasks timeout:
|
|
140
|
+
- Increase the timeout in Additional Options
|
|
233
141
|
- Consider disabling "Wait for Completion" and checking status separately
|
|
234
142
|
|
|
235
143
|
## Resources
|
|
236
144
|
|
|
237
|
-
- [Databar.ai](https://databar.ai)
|
|
238
|
-
- [Databar API Documentation](https://databar.ai/docs/api)
|
|
239
|
-
- [n8n Documentation](https://docs.n8n.io/)
|
|
240
|
-
- [GitHub Repository](https://github.com/databar-ai/n8n-nodes-databar)
|
|
145
|
+
- [Databar.ai](https://databar.ai) — Main website
|
|
146
|
+
- [Databar API Documentation](https://databar.ai/docs/api) — API reference
|
|
147
|
+
- [n8n Documentation](https://docs.n8n.io/) — n8n platform docs
|
|
148
|
+
- [GitHub Repository](https://github.com/databar-ai/n8n-nodes-databar) — Source code
|
|
241
149
|
|
|
242
150
|
## Support
|
|
243
151
|
|
|
@@ -250,18 +158,24 @@ If enrichment tasks timeout:
|
|
|
250
158
|
|
|
251
159
|
## Version History
|
|
252
160
|
|
|
161
|
+
### 0.2.0
|
|
162
|
+
- Added Table resource with Insert Rows and Upsert Rows operations
|
|
163
|
+
- Dynamic column forms via resource mapper for table and all operations
|
|
164
|
+
- Simplified UX: removed selection mode dropdowns, parameter mode switchers
|
|
165
|
+
- Hidden Bulk Run (available in a future release)
|
|
166
|
+
- Removed waterfall List and Get operations (embedded in Run)
|
|
167
|
+
- Filtered enrichment-generated columns from table field forms
|
|
168
|
+
- Cleaned up emoji and stale references per n8n guidelines
|
|
169
|
+
|
|
253
170
|
### 0.1.1
|
|
254
|
-
- Improved documentation
|
|
171
|
+
- Improved documentation
|
|
255
172
|
- Removed internal development scaffolding
|
|
256
|
-
- Cleaner installation and setup instructions
|
|
257
|
-
- Added CONTRIBUTING.md for developers
|
|
258
173
|
|
|
259
174
|
### 0.1.0
|
|
260
175
|
- Initial release
|
|
261
176
|
- Dynamic enrichment and waterfall selection
|
|
262
177
|
- Guided fields and JSON input modes
|
|
263
178
|
- Automatic async task polling
|
|
264
|
-
- Full Databar.ai API coverage
|
|
265
179
|
|
|
266
180
|
## Contributing
|
|
267
181
|
|
|
@@ -270,7 +184,3 @@ Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
270
184
|
## License
|
|
271
185
|
|
|
272
186
|
[MIT](LICENSE)
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
Built with ❤️ for the n8n and Databar.ai communities
|
|
@@ -19,9 +19,8 @@
|
|
|
19
19
|
* Resources & Operations:
|
|
20
20
|
* - User: Get account info
|
|
21
21
|
* - Enrichment: Run, Bulk Run (with async polling)
|
|
22
|
-
* -
|
|
23
|
-
*
|
|
24
|
-
* Note: Table operations are temporarily hidden but can be re-enabled in the code
|
|
22
|
+
* - Table: Insert Rows, Upsert Rows
|
|
23
|
+
* - Waterfall: Run (with async polling)
|
|
25
24
|
*/
|
|
26
25
|
import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodePropertyOptions, INodeType, INodeTypeDescription, IDataObject, ResourceMapperFields } from 'n8n-workflow';
|
|
27
26
|
export declare class Databar implements INodeType {
|
|
@@ -46,6 +45,8 @@ export declare class Databar implements INodeType {
|
|
|
46
45
|
getEnrichments(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
47
46
|
getWaterfalls(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
48
47
|
getWaterfallEnrichments(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
48
|
+
getTables(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
49
|
+
getTableColumns(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
49
50
|
/**
|
|
50
51
|
* Get parameter template for selected enrichment
|
|
51
52
|
*
|
|
@@ -62,6 +63,12 @@ export declare class Databar implements INodeType {
|
|
|
62
63
|
getWaterfallTemplate(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
63
64
|
};
|
|
64
65
|
resourceMapping: {
|
|
66
|
+
/**
|
|
67
|
+
* Get table column definitions for the resource mapper.
|
|
68
|
+
* Fetches columns from the API and maps them to ResourceMapperField entries
|
|
69
|
+
* so n8n renders a per-column form UI.
|
|
70
|
+
*/
|
|
71
|
+
getTableFields(this: ILoadOptionsFunctions): Promise<ResourceMapperFields>;
|
|
65
72
|
/**
|
|
66
73
|
* Get enrichment fields for resource mapper
|
|
67
74
|
*
|