@bonsae/node-red-salesforce 0.1.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 +126 -0
- package/examples/1-soql-query.json +103 -0
- package/examples/10-streaming-platform-events.json +73 -0
- package/examples/11-streaming-change-data-capture.json +73 -0
- package/examples/2-dml-create.json +106 -0
- package/examples/3-dml-read.json +83 -0
- package/examples/4-dml-update.json +83 -0
- package/examples/5-dml-delete.json +83 -0
- package/examples/6-describe.json +97 -0
- package/examples/7-apex-rest.json +99 -0
- package/examples/8-bulk-insert.json +63 -0
- package/examples/9-bulk-query.json +63 -0
- package/icons/salesforce-apex.png +0 -0
- package/icons/salesforce-bulk.png +0 -0
- package/icons/salesforce-connection.png +0 -0
- package/icons/salesforce-describe.png +0 -0
- package/icons/salesforce-dml.png +0 -0
- package/icons/salesforce-soql.png +0 -0
- package/icons/salesforce-streaming.png +0 -0
- package/index.d.ts +268 -0
- package/index.html +2 -0
- package/index.js +14 -0
- package/index.mjs +913 -0
- package/index.mjs.map +1 -0
- package/locales/de/index.html +226 -0
- package/locales/de/index.json +154 -0
- package/locales/en-US/index.html +226 -0
- package/locales/en-US/index.json +154 -0
- package/locales/es-ES/index.html +226 -0
- package/locales/es-ES/index.json +154 -0
- package/locales/fr/index.html +226 -0
- package/locales/fr/index.json +154 -0
- package/locales/ja/index.html +226 -0
- package/locales/ja/index.json +154 -0
- package/locales/ko/index.html +226 -0
- package/locales/ko/index.json +154 -0
- package/locales/pt-BR/index.html +226 -0
- package/locales/pt-BR/index.json +154 -0
- package/locales/ru/index.html +226 -0
- package/locales/ru/index.json +154 -0
- package/locales/zh-CN/index.html +226 -0
- package/locales/zh-CN/index.json +154 -0
- package/locales/zh-TW/index.html +226 -0
- package/locales/zh-TW/index.json +154 -0
- package/package.json +52 -0
- package/resources/index.CfTW8fjc.js +1 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<script type="text/html" data-help-name="salesforce-connection">
|
|
2
|
+
<p>Manages a connection to a Salesforce org using OAuth 2.0 with PKCE. Provides authentication and token management for other Salesforce nodes.</p>
|
|
3
|
+
<h3>Properties</h3>
|
|
4
|
+
<div style="overflow-x:auto">
|
|
5
|
+
<table width="100%" style="min-width:500px">
|
|
6
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
7
|
+
<tbody>
|
|
8
|
+
<tr><td>Login URL</td><td>loginUrl</td><td>string</td><td>Yes</td><td><code>"https://login.salesforce.com"</code></td><td></td></tr>
|
|
9
|
+
<tr><td>Client ID</td><td>clientId</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
10
|
+
<tr><td>API Version</td><td>apiVersion</td><td></td><td>Yes</td><td><code>"62.0"</code></td><td></td></tr>
|
|
11
|
+
<tr><td>Callback URL</td><td>callbackUrl</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
12
|
+
</tbody>
|
|
13
|
+
</table>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<h3>Credentials</h3>
|
|
17
|
+
<div style="overflow-x:auto">
|
|
18
|
+
<table width="100%" style="min-width:500px">
|
|
19
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
20
|
+
<tbody>
|
|
21
|
+
<tr><td>Access Token</td><td>accessToken</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
22
|
+
<tr><td>Refresh Token</td><td>refreshToken</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
23
|
+
<tr><td>Instance URL</td><td>instanceUrl</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
24
|
+
</tbody>
|
|
25
|
+
</table>
|
|
26
|
+
</div>
|
|
27
|
+
</script>
|
|
28
|
+
<script type="text/html" data-help-name="salesforce-soql">
|
|
29
|
+
<p>Executes a SOQL query against Salesforce and returns the matching records.</p>
|
|
30
|
+
<h3>Properties</h3>
|
|
31
|
+
<div style="overflow-x:auto">
|
|
32
|
+
<table width="100%" style="min-width:500px">
|
|
33
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
34
|
+
<tbody>
|
|
35
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
36
|
+
<tr><td>Query</td><td>query</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
37
|
+
</tbody>
|
|
38
|
+
</table>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<h3>Input</h3>
|
|
42
|
+
<div style="overflow-x:auto">
|
|
43
|
+
<table width="100%" style="min-width:500px">
|
|
44
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
45
|
+
<tbody>
|
|
46
|
+
<tr><td>Input payload</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
47
|
+
</tbody>
|
|
48
|
+
</table>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<h3>Output</h3>
|
|
52
|
+
<div style="overflow-x:auto">
|
|
53
|
+
<table width="100%" style="min-width:500px">
|
|
54
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
55
|
+
<tbody>
|
|
56
|
+
<tr><td>Query result records</td><td>payload</td><td>array</td><td>Yes</td><td></td></tr>
|
|
57
|
+
<tr><td>Total matching records</td><td>totalSize</td><td>number</td><td>Yes</td><td></td></tr>
|
|
58
|
+
<tr><td>Whether all records were fetched</td><td>done</td><td>boolean</td><td>Yes</td><td></td></tr>
|
|
59
|
+
</tbody>
|
|
60
|
+
</table>
|
|
61
|
+
</div>
|
|
62
|
+
</script>
|
|
63
|
+
<script type="text/html" data-help-name="salesforce-dml">
|
|
64
|
+
<p>Performs create, read, update, delete, or upsert operations on Salesforce SObjects.</p>
|
|
65
|
+
<h3>Properties</h3>
|
|
66
|
+
<div style="overflow-x:auto">
|
|
67
|
+
<table width="100%" style="min-width:500px">
|
|
68
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
69
|
+
<tbody>
|
|
70
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
71
|
+
<tr><td>Operation</td><td>operation</td><td></td><td>Yes</td><td><code>"create"</code></td><td></td></tr>
|
|
72
|
+
<tr><td>SObject Type</td><td>sObjectType</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
73
|
+
<tr><td></td><td>record</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
74
|
+
<tr><td>External ID Field</td><td>externalIdField</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
75
|
+
</tbody>
|
|
76
|
+
</table>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<h3>Input</h3>
|
|
80
|
+
<div style="overflow-x:auto">
|
|
81
|
+
<table width="100%" style="min-width:500px">
|
|
82
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
83
|
+
<tbody>
|
|
84
|
+
<tr><td>Record data or ID(s)</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
85
|
+
</tbody>
|
|
86
|
+
</table>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<h3>Output</h3>
|
|
90
|
+
<div style="overflow-x:auto">
|
|
91
|
+
<table width="100%" style="min-width:500px">
|
|
92
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
93
|
+
<tbody>
|
|
94
|
+
<tr><td>Operation result</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
95
|
+
</tbody>
|
|
96
|
+
</table>
|
|
97
|
+
</div>
|
|
98
|
+
</script>
|
|
99
|
+
<script type="text/html" data-help-name="salesforce-bulk">
|
|
100
|
+
<p>Performs bulk operations using the Salesforce Bulk API 2.0 for large data volumes.</p>
|
|
101
|
+
<h3>Properties</h3>
|
|
102
|
+
<div style="overflow-x:auto">
|
|
103
|
+
<table width="100%" style="min-width:500px">
|
|
104
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
105
|
+
<tbody>
|
|
106
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
107
|
+
<tr><td>Operation</td><td>operation</td><td></td><td>Yes</td><td><code>"insert"</code></td><td></td></tr>
|
|
108
|
+
<tr><td>SObject Type</td><td>sObjectType</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
109
|
+
<tr><td>External ID Field</td><td>externalIdField</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
110
|
+
<tr><td></td><td>assignmentRuleId</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
111
|
+
<tr><td></td><td>columnDelimiter</td><td></td><td>Yes</td><td><code>"COMMA"</code></td><td></td></tr>
|
|
112
|
+
<tr><td></td><td>lineEnding</td><td></td><td>Yes</td><td><code>"LF"</code></td><td></td></tr>
|
|
113
|
+
<tr><td></td><td>pollInterval</td><td>number [min: 1000]</td><td>Yes</td><td><code>5000</code></td><td></td></tr>
|
|
114
|
+
<tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>Yes</td><td><code>60000</code></td><td></td></tr>
|
|
115
|
+
<tr><td></td><td>emitJobCreated</td><td>boolean</td><td>Yes</td><td><code>false</code></td><td></td></tr>
|
|
116
|
+
<tr><td></td><td>outputs</td><td>number</td><td>Yes</td><td><code>2</code></td><td></td></tr>
|
|
117
|
+
</tbody>
|
|
118
|
+
</table>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<h3>Input</h3>
|
|
122
|
+
<div style="overflow-x:auto">
|
|
123
|
+
<table width="100%" style="min-width:500px">
|
|
124
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
125
|
+
<tbody>
|
|
126
|
+
<tr><td>Records array or SOQL query</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
127
|
+
</tbody>
|
|
128
|
+
</table>
|
|
129
|
+
</div>
|
|
130
|
+
</script>
|
|
131
|
+
<script type="text/html" data-help-name="salesforce-describe">
|
|
132
|
+
<p>Retrieves metadata for a Salesforce SObject including fields, relationships, and record types.</p>
|
|
133
|
+
<h3>Properties</h3>
|
|
134
|
+
<div style="overflow-x:auto">
|
|
135
|
+
<table width="100%" style="min-width:500px">
|
|
136
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
137
|
+
<tbody>
|
|
138
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
139
|
+
<tr><td>SObject Type</td><td>sObjectType</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
140
|
+
</tbody>
|
|
141
|
+
</table>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<h3>Input</h3>
|
|
145
|
+
<div style="overflow-x:auto">
|
|
146
|
+
<table width="100%" style="min-width:500px">
|
|
147
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
148
|
+
<tbody>
|
|
149
|
+
<tr><td>Input payload</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
150
|
+
</tbody>
|
|
151
|
+
</table>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<h3>Output</h3>
|
|
155
|
+
<div style="overflow-x:auto">
|
|
156
|
+
<table width="100%" style="min-width:500px">
|
|
157
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
158
|
+
<tbody>
|
|
159
|
+
<tr><td>SObject describe metadata</td><td>payload</td><td>object</td><td>Yes</td><td></td></tr>
|
|
160
|
+
</tbody>
|
|
161
|
+
</table>
|
|
162
|
+
</div>
|
|
163
|
+
</script>
|
|
164
|
+
<script type="text/html" data-help-name="salesforce-streaming">
|
|
165
|
+
<p>Subscribes to Salesforce Platform Events and Change Data Capture events using the Pub/Sub API (gRPC).</p>
|
|
166
|
+
<h3>Properties</h3>
|
|
167
|
+
<div style="overflow-x:auto">
|
|
168
|
+
<table width="100%" style="min-width:500px">
|
|
169
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
170
|
+
<tbody>
|
|
171
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
172
|
+
<tr><td>Channel</td><td>channelName</td><td>string</td><td>Yes</td><td><code>""</code></td><td></td></tr>
|
|
173
|
+
<tr><td>Subscribe From</td><td>subscribeType</td><td></td><td>Yes</td><td><code>"LATEST"</code></td><td></td></tr>
|
|
174
|
+
<tr><td>Replay ID</td><td>replayId</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
175
|
+
<tr><td>Batch Size</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>Yes</td><td><code>100</code></td><td></td></tr>
|
|
176
|
+
</tbody>
|
|
177
|
+
</table>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
<h3>Output</h3>
|
|
181
|
+
<div style="overflow-x:auto">
|
|
182
|
+
<table width="100%" style="min-width:500px">
|
|
183
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
184
|
+
<tbody>
|
|
185
|
+
<tr><td>Event payload</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
186
|
+
<tr><td>Event replay ID</td><td>replayId</td><td></td><td>Yes</td><td></td></tr>
|
|
187
|
+
<tr><td>Channel name</td><td>channel</td><td>string</td><td>Yes</td><td></td></tr>
|
|
188
|
+
<tr><td>Topic name</td><td>topic</td><td>string</td><td>Yes</td><td></td></tr>
|
|
189
|
+
</tbody>
|
|
190
|
+
</table>
|
|
191
|
+
</div>
|
|
192
|
+
</script>
|
|
193
|
+
<script type="text/html" data-help-name="salesforce-apex">
|
|
194
|
+
<p>Invokes a Salesforce Apex REST endpoint.</p>
|
|
195
|
+
<h3>Properties</h3>
|
|
196
|
+
<div style="overflow-x:auto">
|
|
197
|
+
<table width="100%" style="min-width:500px">
|
|
198
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th>Default</th><th style="width:35%">Description</th></tr></thead>
|
|
199
|
+
<tbody>
|
|
200
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Yes</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
201
|
+
<tr><td>Method</td><td>method</td><td></td><td>Yes</td><td><code>"POST"</code></td><td></td></tr>
|
|
202
|
+
<tr><td>Path</td><td>path</td><td>TypedInput</td><td>Yes</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
203
|
+
</tbody>
|
|
204
|
+
</table>
|
|
205
|
+
</div>
|
|
206
|
+
|
|
207
|
+
<h3>Input</h3>
|
|
208
|
+
<div style="overflow-x:auto">
|
|
209
|
+
<table width="100%" style="min-width:500px">
|
|
210
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
211
|
+
<tbody>
|
|
212
|
+
<tr><td>Request body</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
213
|
+
</tbody>
|
|
214
|
+
</table>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<h3>Output</h3>
|
|
218
|
+
<div style="overflow-x:auto">
|
|
219
|
+
<table width="100%" style="min-width:500px">
|
|
220
|
+
<thead><tr><th>Label</th><th>Property</th><th>Type</th><th>Required</th><th style="width:35%">Description</th></tr></thead>
|
|
221
|
+
<tbody>
|
|
222
|
+
<tr><td>Apex response</td><td>payload</td><td></td><td>Yes</td><td></td></tr>
|
|
223
|
+
</tbody>
|
|
224
|
+
</table>
|
|
225
|
+
</div>
|
|
226
|
+
</script>
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
{
|
|
2
|
+
"salesforce-apex": {
|
|
3
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
4
|
+
"label": "Apex",
|
|
5
|
+
"description": "Invokes a Salesforce Apex REST endpoint.",
|
|
6
|
+
"inputLabels": "Request",
|
|
7
|
+
"outputLabels": [
|
|
8
|
+
"Response"
|
|
9
|
+
],
|
|
10
|
+
"configs": {
|
|
11
|
+
"connection": "Connection",
|
|
12
|
+
"method": "Method",
|
|
13
|
+
"path": "Path"
|
|
14
|
+
},
|
|
15
|
+
"input": {
|
|
16
|
+
"payload": "Request body"
|
|
17
|
+
},
|
|
18
|
+
"outputs": [
|
|
19
|
+
{
|
|
20
|
+
"payload": "Apex response"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"salesforce-bulk": {
|
|
25
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
26
|
+
"label": "Bulk",
|
|
27
|
+
"description": "Performs bulk operations using the Salesforce Bulk API 2.0 for large data volumes.",
|
|
28
|
+
"inputLabels": "Records or query",
|
|
29
|
+
"outputLabels": [
|
|
30
|
+
"Record",
|
|
31
|
+
"Job Complete"
|
|
32
|
+
],
|
|
33
|
+
"configs": {
|
|
34
|
+
"connection": "Connection",
|
|
35
|
+
"operation": "Operation",
|
|
36
|
+
"sObjectType": "SObject Type",
|
|
37
|
+
"externalIdField": "External ID Field"
|
|
38
|
+
},
|
|
39
|
+
"input": {
|
|
40
|
+
"payload": "Records array or SOQL query"
|
|
41
|
+
},
|
|
42
|
+
"outputs": [
|
|
43
|
+
{
|
|
44
|
+
"payload": "Bulk operation results"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"salesforce-connection": {
|
|
49
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
50
|
+
"label": "Connection",
|
|
51
|
+
"description": "Manages a connection to a Salesforce org using OAuth 2.0 with PKCE. Provides authentication and token management for other Salesforce nodes.",
|
|
52
|
+
"configs": {
|
|
53
|
+
"loginUrl": "Login URL",
|
|
54
|
+
"clientId": "Client ID",
|
|
55
|
+
"apiVersion": "API Version",
|
|
56
|
+
"callbackUrl": "Callback URL"
|
|
57
|
+
},
|
|
58
|
+
"credentials": {
|
|
59
|
+
"accessToken": "Access Token",
|
|
60
|
+
"refreshToken": "Refresh Token",
|
|
61
|
+
"instanceUrl": "Instance URL"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"salesforce-describe": {
|
|
65
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
66
|
+
"label": "Describe",
|
|
67
|
+
"description": "Retrieves metadata for a Salesforce SObject including fields, relationships, and record types.",
|
|
68
|
+
"inputLabels": "SObject name",
|
|
69
|
+
"outputLabels": [
|
|
70
|
+
"SObject metadata"
|
|
71
|
+
],
|
|
72
|
+
"configs": {
|
|
73
|
+
"connection": "Connection",
|
|
74
|
+
"sObjectType": "SObject Type"
|
|
75
|
+
},
|
|
76
|
+
"input": {
|
|
77
|
+
"payload": "Input payload"
|
|
78
|
+
},
|
|
79
|
+
"outputs": [
|
|
80
|
+
{
|
|
81
|
+
"payload": "SObject describe metadata"
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"salesforce-dml": {
|
|
86
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
87
|
+
"label": "DML",
|
|
88
|
+
"description": "Performs create, read, update, delete, or upsert operations on Salesforce SObjects.",
|
|
89
|
+
"inputLabels": "Record data",
|
|
90
|
+
"outputLabels": [
|
|
91
|
+
"Operation result"
|
|
92
|
+
],
|
|
93
|
+
"configs": {
|
|
94
|
+
"connection": "Connection",
|
|
95
|
+
"operation": "Operation",
|
|
96
|
+
"sObjectType": "SObject Type",
|
|
97
|
+
"externalIdField": "External ID Field"
|
|
98
|
+
},
|
|
99
|
+
"input": {
|
|
100
|
+
"payload": "Record data or ID(s)"
|
|
101
|
+
},
|
|
102
|
+
"outputs": [
|
|
103
|
+
{
|
|
104
|
+
"payload": "Operation result"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"salesforce-soql": {
|
|
109
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
110
|
+
"label": "SOQL",
|
|
111
|
+
"description": "Executes a SOQL query against Salesforce and returns the matching records.",
|
|
112
|
+
"inputLabels": "Query input",
|
|
113
|
+
"outputLabels": [
|
|
114
|
+
"Query results"
|
|
115
|
+
],
|
|
116
|
+
"configs": {
|
|
117
|
+
"connection": "Connection",
|
|
118
|
+
"query": "Query"
|
|
119
|
+
},
|
|
120
|
+
"input": {
|
|
121
|
+
"payload": "Input payload"
|
|
122
|
+
},
|
|
123
|
+
"outputs": [
|
|
124
|
+
{
|
|
125
|
+
"payload": "Query result records",
|
|
126
|
+
"totalSize": "Total matching records",
|
|
127
|
+
"done": "Whether all records were fetched"
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"salesforce-streaming": {
|
|
132
|
+
"$schema": "https://unpkg.com/@bonsae/nrg/schemas/labels.schema.json",
|
|
133
|
+
"label": "Streaming",
|
|
134
|
+
"description": "Subscribes to Salesforce Platform Events and Change Data Capture events using the Pub/Sub API (gRPC).",
|
|
135
|
+
"outputLabels": [
|
|
136
|
+
"Event"
|
|
137
|
+
],
|
|
138
|
+
"configs": {
|
|
139
|
+
"connection": "Connection",
|
|
140
|
+
"channelName": "Channel",
|
|
141
|
+
"subscribeType": "Subscribe From",
|
|
142
|
+
"replayId": "Replay ID",
|
|
143
|
+
"numRequested": "Batch Size"
|
|
144
|
+
},
|
|
145
|
+
"outputs": [
|
|
146
|
+
{
|
|
147
|
+
"payload": "Event payload",
|
|
148
|
+
"replayId": "Event replay ID",
|
|
149
|
+
"channel": "Channel name",
|
|
150
|
+
"topic": "Topic name"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
<script type="text/html" data-help-name="salesforce-connection">
|
|
2
|
+
<p>Gestiona una conexión a una organización de Salesforce utilizando OAuth 2.0 con PKCE. Proporciona autenticación y gestión de tokens para otros nodos de Salesforce.</p>
|
|
3
|
+
<h3>Propiedades</h3>
|
|
4
|
+
<div style="overflow-x:auto">
|
|
5
|
+
<table width="100%" style="min-width:500px">
|
|
6
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
7
|
+
<tbody>
|
|
8
|
+
<tr><td>URL de inicio de sesión</td><td>loginUrl</td><td>string</td><td>Sí</td><td><code>"https://login.salesforce.com"</code></td><td></td></tr>
|
|
9
|
+
<tr><td>ID de cliente</td><td>clientId</td><td>string</td><td>Sí</td><td><code>""</code></td><td></td></tr>
|
|
10
|
+
<tr><td>Versión de API</td><td>apiVersion</td><td></td><td>Sí</td><td><code>"62.0"</code></td><td></td></tr>
|
|
11
|
+
<tr><td>URL de retorno</td><td>callbackUrl</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
12
|
+
</tbody>
|
|
13
|
+
</table>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<h3>Credenciales</h3>
|
|
17
|
+
<div style="overflow-x:auto">
|
|
18
|
+
<table width="100%" style="min-width:500px">
|
|
19
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
20
|
+
<tbody>
|
|
21
|
+
<tr><td>Token de acceso</td><td>accessToken</td><td>string</td><td>Sí</td><td><code>""</code></td><td></td></tr>
|
|
22
|
+
<tr><td>Token de actualización</td><td>refreshToken</td><td>string</td><td>Sí</td><td><code>""</code></td><td></td></tr>
|
|
23
|
+
<tr><td>URL de instancia</td><td>instanceUrl</td><td>string</td><td>Sí</td><td><code>""</code></td><td></td></tr>
|
|
24
|
+
</tbody>
|
|
25
|
+
</table>
|
|
26
|
+
</div>
|
|
27
|
+
</script>
|
|
28
|
+
<script type="text/html" data-help-name="salesforce-soql">
|
|
29
|
+
<p>Ejecuta una consulta SOQL contra Salesforce y devuelve los registros coincidentes.</p>
|
|
30
|
+
<h3>Propiedades</h3>
|
|
31
|
+
<div style="overflow-x:auto">
|
|
32
|
+
<table width="100%" style="min-width:500px">
|
|
33
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
34
|
+
<tbody>
|
|
35
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sí</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
36
|
+
<tr><td>Consulta</td><td>query</td><td>TypedInput</td><td>Sí</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
37
|
+
</tbody>
|
|
38
|
+
</table>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<h3>Entrada</h3>
|
|
42
|
+
<div style="overflow-x:auto">
|
|
43
|
+
<table width="100%" style="min-width:500px">
|
|
44
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
45
|
+
<tbody>
|
|
46
|
+
<tr><td>Carga útil de entrada</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
47
|
+
</tbody>
|
|
48
|
+
</table>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<h3>Salida</h3>
|
|
52
|
+
<div style="overflow-x:auto">
|
|
53
|
+
<table width="100%" style="min-width:500px">
|
|
54
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
55
|
+
<tbody>
|
|
56
|
+
<tr><td>Registros del resultado de la consulta</td><td>payload</td><td>array</td><td>Sí</td><td></td></tr>
|
|
57
|
+
<tr><td>Total de registros coincidentes</td><td>totalSize</td><td>number</td><td>Sí</td><td></td></tr>
|
|
58
|
+
<tr><td>Si se obtuvieron todos los registros</td><td>done</td><td>boolean</td><td>Sí</td><td></td></tr>
|
|
59
|
+
</tbody>
|
|
60
|
+
</table>
|
|
61
|
+
</div>
|
|
62
|
+
</script>
|
|
63
|
+
<script type="text/html" data-help-name="salesforce-dml">
|
|
64
|
+
<p>Realiza operaciones de crear, leer, actualizar, eliminar o upsert en SObjects de Salesforce.</p>
|
|
65
|
+
<h3>Propiedades</h3>
|
|
66
|
+
<div style="overflow-x:auto">
|
|
67
|
+
<table width="100%" style="min-width:500px">
|
|
68
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
69
|
+
<tbody>
|
|
70
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sí</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
71
|
+
<tr><td>Operación</td><td>operation</td><td></td><td>Sí</td><td><code>"create"</code></td><td></td></tr>
|
|
72
|
+
<tr><td>Tipo de SObject</td><td>sObjectType</td><td>TypedInput</td><td>Sí</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
73
|
+
<tr><td></td><td>record</td><td>TypedInput</td><td>Sí</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
74
|
+
<tr><td>Campo de ID externo</td><td>externalIdField</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
75
|
+
</tbody>
|
|
76
|
+
</table>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<h3>Entrada</h3>
|
|
80
|
+
<div style="overflow-x:auto">
|
|
81
|
+
<table width="100%" style="min-width:500px">
|
|
82
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
83
|
+
<tbody>
|
|
84
|
+
<tr><td>Datos del registro o ID(s)</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
85
|
+
</tbody>
|
|
86
|
+
</table>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<h3>Salida</h3>
|
|
90
|
+
<div style="overflow-x:auto">
|
|
91
|
+
<table width="100%" style="min-width:500px">
|
|
92
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
93
|
+
<tbody>
|
|
94
|
+
<tr><td>Resultado de la operación</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
95
|
+
</tbody>
|
|
96
|
+
</table>
|
|
97
|
+
</div>
|
|
98
|
+
</script>
|
|
99
|
+
<script type="text/html" data-help-name="salesforce-bulk">
|
|
100
|
+
<p>Realiza operaciones masivas utilizando la API Bulk 2.0 de Salesforce para grandes volúmenes de datos.</p>
|
|
101
|
+
<h3>Propiedades</h3>
|
|
102
|
+
<div style="overflow-x:auto">
|
|
103
|
+
<table width="100%" style="min-width:500px">
|
|
104
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
105
|
+
<tbody>
|
|
106
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sí</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
107
|
+
<tr><td>Operación</td><td>operation</td><td></td><td>Sí</td><td><code>"insert"</code></td><td></td></tr>
|
|
108
|
+
<tr><td>Tipo de SObject</td><td>sObjectType</td><td>TypedInput</td><td>Sí</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
109
|
+
<tr><td>Campo de ID externo</td><td>externalIdField</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
110
|
+
<tr><td></td><td>assignmentRuleId</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
111
|
+
<tr><td></td><td>columnDelimiter</td><td></td><td>Sí</td><td><code>"COMMA"</code></td><td></td></tr>
|
|
112
|
+
<tr><td></td><td>lineEnding</td><td></td><td>Sí</td><td><code>"LF"</code></td><td></td></tr>
|
|
113
|
+
<tr><td></td><td>pollInterval</td><td>number [min: 1000]</td><td>Sí</td><td><code>5000</code></td><td></td></tr>
|
|
114
|
+
<tr><td></td><td>pollTimeout</td><td>number [min: 5000]</td><td>Sí</td><td><code>60000</code></td><td></td></tr>
|
|
115
|
+
<tr><td></td><td>emitJobCreated</td><td>boolean</td><td>Sí</td><td><code>false</code></td><td></td></tr>
|
|
116
|
+
<tr><td></td><td>outputs</td><td>number</td><td>Sí</td><td><code>2</code></td><td></td></tr>
|
|
117
|
+
</tbody>
|
|
118
|
+
</table>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<h3>Entrada</h3>
|
|
122
|
+
<div style="overflow-x:auto">
|
|
123
|
+
<table width="100%" style="min-width:500px">
|
|
124
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
125
|
+
<tbody>
|
|
126
|
+
<tr><td>Arreglo de registros o consulta SOQL</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
127
|
+
</tbody>
|
|
128
|
+
</table>
|
|
129
|
+
</div>
|
|
130
|
+
</script>
|
|
131
|
+
<script type="text/html" data-help-name="salesforce-describe">
|
|
132
|
+
<p>Recupera los metadatos de un SObject de Salesforce, incluyendo campos, relaciones y tipos de registro.</p>
|
|
133
|
+
<h3>Propiedades</h3>
|
|
134
|
+
<div style="overflow-x:auto">
|
|
135
|
+
<table width="100%" style="min-width:500px">
|
|
136
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
137
|
+
<tbody>
|
|
138
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sí</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
139
|
+
<tr><td>Tipo de SObject</td><td>sObjectType</td><td>TypedInput</td><td>Sí</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
140
|
+
</tbody>
|
|
141
|
+
</table>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<h3>Entrada</h3>
|
|
145
|
+
<div style="overflow-x:auto">
|
|
146
|
+
<table width="100%" style="min-width:500px">
|
|
147
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
148
|
+
<tbody>
|
|
149
|
+
<tr><td>Carga útil de entrada</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
150
|
+
</tbody>
|
|
151
|
+
</table>
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
<h3>Salida</h3>
|
|
155
|
+
<div style="overflow-x:auto">
|
|
156
|
+
<table width="100%" style="min-width:500px">
|
|
157
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
158
|
+
<tbody>
|
|
159
|
+
<tr><td>Metadatos de descripción del SObject</td><td>payload</td><td>object</td><td>Sí</td><td></td></tr>
|
|
160
|
+
</tbody>
|
|
161
|
+
</table>
|
|
162
|
+
</div>
|
|
163
|
+
</script>
|
|
164
|
+
<script type="text/html" data-help-name="salesforce-streaming">
|
|
165
|
+
<p>Se suscribe a eventos de plataforma y eventos de captura de cambios de datos de Salesforce mediante la API Pub/Sub (gRPC).</p>
|
|
166
|
+
<h3>Propiedades</h3>
|
|
167
|
+
<div style="overflow-x:auto">
|
|
168
|
+
<table width="100%" style="min-width:500px">
|
|
169
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
170
|
+
<tbody>
|
|
171
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sí</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
172
|
+
<tr><td>Canal</td><td>channelName</td><td>string</td><td>Sí</td><td><code>""</code></td><td></td></tr>
|
|
173
|
+
<tr><td>Suscribirse desde</td><td>subscribeType</td><td></td><td>Sí</td><td><code>"LATEST"</code></td><td></td></tr>
|
|
174
|
+
<tr><td>ID de reproducción</td><td>replayId</td><td>string</td><td>No</td><td><code>""</code></td><td></td></tr>
|
|
175
|
+
<tr><td>Tamaño del lote</td><td>numRequested</td><td>number [min: 1, max: 100]</td><td>Sí</td><td><code>100</code></td><td></td></tr>
|
|
176
|
+
</tbody>
|
|
177
|
+
</table>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
<h3>Salida</h3>
|
|
181
|
+
<div style="overflow-x:auto">
|
|
182
|
+
<table width="100%" style="min-width:500px">
|
|
183
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
184
|
+
<tbody>
|
|
185
|
+
<tr><td>Carga útil del evento</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
186
|
+
<tr><td>ID de reproducción del evento</td><td>replayId</td><td></td><td>Sí</td><td></td></tr>
|
|
187
|
+
<tr><td>Nombre del canal</td><td>channel</td><td>string</td><td>Sí</td><td></td></tr>
|
|
188
|
+
<tr><td>Nombre del tema</td><td>topic</td><td>string</td><td>Sí</td><td></td></tr>
|
|
189
|
+
</tbody>
|
|
190
|
+
</table>
|
|
191
|
+
</div>
|
|
192
|
+
</script>
|
|
193
|
+
<script type="text/html" data-help-name="salesforce-apex">
|
|
194
|
+
<p>Invoca un endpoint REST de Apex en Salesforce.</p>
|
|
195
|
+
<h3>Propiedades</h3>
|
|
196
|
+
<div style="overflow-x:auto">
|
|
197
|
+
<table width="100%" style="min-width:500px">
|
|
198
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th>Predeterminado</th><th style="width:35%">Descripción</th></tr></thead>
|
|
199
|
+
<tbody>
|
|
200
|
+
<tr><td>Connection</td><td>connection</td><td>NodeRef → salesforce-connection [format: node-id]</td><td>Sí</td><td></td><td>Reference to salesforce-connection</td></tr>
|
|
201
|
+
<tr><td>Método</td><td>method</td><td></td><td>Sí</td><td><code>"POST"</code></td><td></td></tr>
|
|
202
|
+
<tr><td>Ruta</td><td>path</td><td>TypedInput</td><td>Sí</td><td><code>{"type":"str","value":""}</code></td><td>Represents a Node-RED TypedInput value and its type.</td></tr>
|
|
203
|
+
</tbody>
|
|
204
|
+
</table>
|
|
205
|
+
</div>
|
|
206
|
+
|
|
207
|
+
<h3>Entrada</h3>
|
|
208
|
+
<div style="overflow-x:auto">
|
|
209
|
+
<table width="100%" style="min-width:500px">
|
|
210
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
211
|
+
<tbody>
|
|
212
|
+
<tr><td>Cuerpo de la solicitud</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
213
|
+
</tbody>
|
|
214
|
+
</table>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<h3>Salida</h3>
|
|
218
|
+
<div style="overflow-x:auto">
|
|
219
|
+
<table width="100%" style="min-width:500px">
|
|
220
|
+
<thead><tr><th>Etiqueta</th><th>Propiedad</th><th>Tipo</th><th>Requerido</th><th style="width:35%">Descripción</th></tr></thead>
|
|
221
|
+
<tbody>
|
|
222
|
+
<tr><td>Respuesta de Apex</td><td>payload</td><td></td><td>Sí</td><td></td></tr>
|
|
223
|
+
</tbody>
|
|
224
|
+
</table>
|
|
225
|
+
</div>
|
|
226
|
+
</script>
|