@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 +21 -0
- package/README.md +109 -0
- package/dist/credentials/AppSheetApi.credentials.d.ts +6 -0
- package/dist/credentials/AppSheetApi.credentials.js +25 -0
- package/dist/nodes/AppSheet/AIAgentAppSheet.node.d.ts +5 -0
- package/dist/nodes/AppSheet/AIAgentAppSheet.node.js +1123 -0
- package/dist/nodes/AppSheet/AppSheet.node.d.ts +5 -0
- package/dist/nodes/AppSheet/AppSheet.node.js +1123 -0
- package/dist/nodes/AppSheet/AppSheet.node.json +7 -0
- package/dist/nodes/AppSheet/appsheet.png +0 -0
- package/package.json +52 -0
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,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
|
+
}
|