@vitaliy.ustymenko/n8n-node-appsheet 0.6.1

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) 2024 Mohammed Rifad
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,109 @@
1
+ # n8n-node-appsheet
2
+
3
+ Forked from https://github.com/rifadm817/n8n-nodes-rifad-appsheet
4
+
5
+ Welcome to **n8n-node-appsheet** – AppSheet integration nodes for n8n.
6
+
7
+ ## Improvements and additions
8
+
9
+ - Modernized UI inputs with Records key/value editors for Create, Find, Update, Delete, Invoke
10
+ - Options panel with Locale, Location, Timezone, User Settings, Run as User Email, and Action Properties
11
+ - New **If Exists** operation with multiple operators, type handling, and selector support
12
+ - New **Upsert Records (Bulk)** operation with batch size and dry-run mode
13
+ - Returned `exists`, `count`, and `records` for If Exists
14
+ - Updated icon and improved packaging (ship only required files)
15
+
16
+ ## Features
17
+
18
+ - **Create Record:** Add one or more new records to an AppSheet table.
19
+ - **Read Records:** Retrieve records using a selector expression or by specifying key fields.
20
+ - **Update Record:** Update existing records by providing key fields and the new field values.
21
+ - **Delete Record:** Delete records by specifying key fields.
22
+ - **Invoke Action:** Invoke a custom AppSheet action on one or more rows.
23
+ - **If Exists:** Check if a record exists based on conditions, and return matching rows.
24
+ - **Upsert Records:** Create or update multiple records with batching and dry-run.
25
+
26
+ ## Examples
27
+
28
+ ### Find record by key
29
+
30
+ Operation: **Find Record**
31
+
32
+ Records:
33
+ ```
34
+ Key: event_id
35
+ Value: 1793a645b9c5659ee10ebf578e388bb7
36
+ ```
37
+
38
+ ### Find using selector
39
+
40
+ Operation: **Find Record**
41
+
42
+ Selector:
43
+ ```
44
+ FILTER(hibob_webhooks_events, [event_id] = "1793a645b9c5659ee10ebf578e388bb7")
45
+ ```
46
+
47
+ ### If Exists with conditions
48
+
49
+ Operation: **If Exists**
50
+
51
+ Conditions:
52
+ - Field: event_id
53
+ - Operator: Contains
54
+ - Value Type: String
55
+ - Value: 1793a6
56
+
57
+ ### Bulk Upsert
58
+
59
+ Operation: **Upsert Records**
60
+
61
+ Records (2 items):
62
+ ```
63
+ Fields:
64
+ Key: Email
65
+ Value: user@example.com
66
+ Key: Name
67
+ Value: John
68
+ ```
69
+ ```
70
+ Fields:
71
+ Key: Email
72
+ Value: jane@example.com
73
+ Key: Name
74
+ Value: Jane
75
+ ```
76
+
77
+ Key Fields:
78
+ ```
79
+ Field Name: Email
80
+ ```
81
+
82
+ Batch Size: 100
83
+ Dry Run: true
84
+
85
+ ## Install on n8n Cloud
86
+
87
+ If you use the cloud version of n8n (n8n.io), installing our node is a piece of cake. Follow these steps:
88
+
89
+ 1. **Log in to Your n8n.io Account:**
90
+ Open your browser and log in at [n8n.io](https://n8n.io).
91
+
92
+ 2. **Navigate to Settings:**
93
+ In the n8n editor, click your Profile → Settings icon.
94
+
95
+ 3. **Go to Community Nodes:**
96
+ Select **Community Nodes** from the Settings menu. You’ll be able to search for and install custom nodes there.
97
+
98
+ 4. **Search for `n8n-nodes-rifad-appsheet`:**
99
+ Type the package name in the search bar. When it appears, click **Install**.
100
+
101
+ 5. **Add the AppSheet Node to Your Workflow:**
102
+ Once installed, add the AppSheet node to your workflow, configure it with your AppSheet API credentials, and start automating without hardcoding API calls.
103
+
104
+ ## Usage
105
+
106
+ Simply configure the node with your AppSheet API credentials and choose an operation (create, read, update, delete, or invoke). Each operation requires you to provide the necessary parameters as JSON. For example, to add a record, supply a JSON array of objects (each object representing a record with the required key fields).
107
+
108
+
109
+ Happy Automating!
@@ -0,0 +1,6 @@
1
+ import { ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class AppSheetApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ properties: INodeProperties[];
6
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppSheetApi = void 0;
4
+ class AppSheetApi {
5
+ constructor() {
6
+ this.name = 'appSheetApi';
7
+ this.displayName = 'AppSheet API';
8
+ this.properties = [
9
+ {
10
+ displayName: 'API Key',
11
+ name: 'apiKey',
12
+ type: 'string',
13
+ typeOptions: { password: true },
14
+ default: '',
15
+ },
16
+ {
17
+ displayName: 'App ID',
18
+ name: 'appId',
19
+ type: 'string',
20
+ default: '',
21
+ },
22
+ ];
23
+ }
24
+ }
25
+ exports.AppSheetApi = AppSheetApi;
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class AIAgentAppSheet implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }