You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(google-appsheet): add Google AppSheet integration (#5376)
* feat(google-appsheet): add Google AppSheet integration
- 4 tools (find/add/edit/delete rows) against the AppSheet Action API
- API key auth via Application Access Key (no OAuth/scopes needed)
- Block with operation dropdown, region selector, and Selector expression support
- Generated docs
* improvement(google-appsheet): harden response parsing, add wand config and skills
- Guard against empty/non-JSON AppSheet response bodies (Delete may return no body)
- Add wandConfig to the Selector field for AI-assisted expression generation
- Add 3 skills grounded in attested AppSheet/Zapier automation patterns
- Tighten json output descriptions to describe inner shape
* fix(google-appsheet): validate region against allow-list, encode appId, validate rows shape
- Reject unrecognized region values instead of interpolating them into the
request host (a caller could otherwise redirect the Application Access
Key to an arbitrary domain)
- URL-encode appId, not just tableName, in the Action endpoint path
- Reject non-array Rows input in tools.config.params instead of forwarding
a single object to the AppSheet Action API
- Drop the mismatched json-object generationType on the rows wand config
(that enricher appends "must start with { and end with }", which
conflicts with the JSON-array shape the field expects)
- Add utils.test.ts covering region validation and response-body parsing
* docs(google-appsheet): add manual intro/getting-started section
Match the MANUAL-CONTENT convention used by other integration docs
(Airtable, Ahrefs, Google PageSpeed) — an overview of the service, what
the Sim integration lets agents do, and how to get an Application
Access Key.
* docs: sync generated integration docs with current source
Regenerate docs for integrations whose tools/blocks changed upstream
without a matching docs regen (ahrefs, algolia, amplitude, brex, clerk,
gong, hex, langsmith, loops, onepassword, sendgrid, sharepoint,
similarweb, supabase, tailscale, trello, vercel, wordpress), plus the
integrations.json catalog.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/integrations/algolia.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,7 +235,7 @@ Perform batch add, update, partial update, or delete operations on records in an
235
235
|`applicationId`| string | Yes | Algolia Application ID |
236
236
|`apiKey`| string | Yes | Algolia Admin API Key |
237
237
|`indexName`| string | Yes | Name of the Algolia index |
238
-
|`requests`| json | Yes | Array of batch operations. Each item has "action" \(addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clear\) and "body" \(the record data, must include objectID for update/delete; omit body for delete/clear\)|
238
+
|`requests`| json | Yes | Array of batch operations. Each item has "action" \(addObject, updateObject, partialUpdateObject, partialUpdateObjectNoCreate, deleteObject, delete, clear\) and "body" \(the record data; must include objectID for update/delete; use an empty object \{\}for the index-level delete/clear actions\)|
Copy file name to clipboardExpand all lines: apps/docs/content/docs/en/integrations/amplitude.mdx
+94-5Lines changed: 94 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
7
7
8
8
<BlockInfoCard
9
9
type="amplitude"
10
-
color="#1B1F3B"
10
+
color="#13294B"
11
11
/>
12
12
13
13
{/* MANUAL-CONTENT-START:intro */}
@@ -31,7 +31,7 @@ In Sim, the Amplitude integration enables powerful analytics automation scenario
31
31
32
32
## Usage Instructions
33
33
34
-
Integrate Amplitude into your workflow to track events, identify users and groups, search for users, query analytics, and retrieve revenue data.
34
+
Integrate Amplitude into your workflow to track events, identify users and groups, search for users, query analytics, analyze funnels and retention, and retrieve revenue data.
35
35
36
36
37
37
@@ -64,6 +64,7 @@ Track an event in Amplitude using the HTTP V2 API.
64
64
|`revenue`| string | No | Revenue amount |
65
65
|`productId`| string | No | Product identifier |
66
66
|`revenueType`| string | No | Revenue type \(e.g., "purchase", "refund"\)|
67
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
67
68
68
69
#### Output
69
70
@@ -86,6 +87,7 @@ Set user properties in Amplitude using the Identify API. Supports $set, $setOnce
86
87
|`userId`| string | No | User ID \(required if no device_id\)|
87
88
|`deviceId`| string | No | Device ID \(required if no user_id\)|
88
89
|`userProperties`| string | Yes | JSON object of user properties. Use operations like $set, $setOnce, $add, $append, $unset. |
90
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
89
91
90
92
#### Output
91
93
@@ -106,6 +108,7 @@ Set group-level properties in Amplitude. Supports $set, $setOnce, $add, $append,
106
108
|`groupType`| string | Yes | Group classification \(e.g., "company", "org_id"\)|
107
109
|`groupValue`| string | Yes | Specific group identifier \(e.g., "Acme Corp"\)|
108
110
|`groupProperties`| string | Yes | JSON object of group properties. Use operations like $set, $setOnce, $add, $append, $unset. |
111
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
109
112
110
113
#### Output
111
114
@@ -125,6 +128,7 @@ Search for a user by User ID, Device ID, or Amplitude ID using the Dashboard RES
|`user`| string | Yes | User ID, Device ID, or Amplitude ID to search for |
131
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
128
132
129
133
#### Output
130
134
@@ -149,6 +153,7 @@ Get the event stream for a specific user by their Amplitude ID.
149
153
|`offset`| string | No | Offset for pagination \(default 0\)|
150
154
|`limit`| string | No | Maximum number of events to return \(default 1000, max 1000\)|
151
155
|`direction`| string | No | Sort direction: "latest" or "earliest" \(default: latest\)|
156
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
152
157
153
158
#### Output
154
159
@@ -170,10 +175,12 @@ Get the event stream for a specific user by their Amplitude ID.
170
175
| ↳ `numSessions`| number | Total session count |
171
176
| ↳ `platform`| string | Primary platform |
172
177
| ↳ `country`| string | Country |
178
+
| ↳ `firstUsed`| string | Date the user first appeared |
179
+
| ↳ `lastUsed`| string | Date of most recent user activity |
173
180
174
181
### `amplitude_user_profile`
175
182
176
-
Get a user profile including properties, cohort memberships, and computed properties.
183
+
Get a user profile including properties, cohort memberships, and computed properties. Not available for EU data-residency projects.
177
184
178
185
#### Input
179
186
@@ -212,7 +219,12 @@ Query event analytics data with segmentation. Get event counts, uniques, average
212
219
|`metric`| string | No | Metric type: uniques, totals, pct_dau, average, histogram, sums, value_avg, or formula \(default: uniques\)|
213
220
|`interval`| string | No | Time interval: 1 \(daily\), 7 \(weekly\), or 30 \(monthly\)|
214
221
|`groupBy`| string | No | Property name to group by \(prefix custom user properties with "gp:"\)|
222
+
|`groupBy2`| string | No | Second property name to group by \(prefix custom user properties with "gp:"\)|
215
223
|`limit`| string | No | Maximum number of group-by values \(max 1000\)|
224
+
|`filters`| string | No | JSON array of filter objects applied to the event, e.g. \[\{"subprop_type":"event","subprop_key":"city","subprop_op":"is","subprop_value":\["San Francisco"\]\}\]|
225
+
|`formula`| string | No | Required when metric is "formula", e.g. "UNIQUES\(A\)/UNIQUES\(B\)" |
226
+
|`segment`| string | No | JSON segment definition\(s\) applied to the query |
227
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
216
228
217
229
#### Output
218
230
@@ -237,6 +249,9 @@ Get active or new user counts over a date range from the Dashboard REST API.
237
249
|`end`| string | Yes | End date in YYYYMMDD format |
238
250
|`metric`| string | No | Metric type: "active" or "new" \(default: active\)|
239
251
|`interval`| string | No | Time interval: 1 \(daily\), 7 \(weekly\), or 30 \(monthly\)|
252
+
|`groupBy`| string | No | Property name to group by |
253
+
|`segment`| string | No | JSON segment definition\(s\) applied to the query |
254
+
|`dataResidency`| string | No | Data residency region: "us" \(default\) or "eu" |
240
255
241
256
#### Output
242
257
@@ -256,6 +271,7 @@ Get real-time active user counts at 5-minute granularity for the last 2 days.
0 commit comments