Skip to content

Commit 49660bd

Browse files
waleedlatif1claude
andcommitted
fix(rippling): add all remaining spec fields and regenerate docs
- Add 6 advanced params to create_custom_object_field: required, rqlDefinition, formulaAttrMetas, section, derivedFieldFormula, derivedAggregatedField - Add 6 advanced params to update_custom_object_field: required, rqlDefinition, formulaAttrMetas, section, derivedFieldFormula, nameFieldDetails - Add 4 record output fields to all custom object record tools: created_by, last_modified_by, owner_role, system_updated_at - Add cursor param to get_current_user - Add __meta response field to get_report_run - Regenerate docs for all 86 tools Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0b8c240 commit 49660bd

12 files changed

Lines changed: 234 additions & 40 deletions

apps/docs/content/docs/en/tools/rippling.mdx

Lines changed: 75 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ Get SSO information for the current user
258258
| Parameter | Type | Required | Description |
259259
| --------- | ---- | -------- | ----------- |
260260
| `expand` | string | No | Comma-separated fields to expand |
261+
| `cursor` | string | No | Pagination cursor |
261262

262263
#### Output
263264

@@ -476,14 +477,14 @@ List all employment types
476477
| Parameter | Type | Description |
477478
| --------- | ---- | ----------- |
478479
| `employmentTypes` | array | List of employmentTypes |
479-
|`id` | string | Employment type ID |
480-
|`created_at` | string | Record creation date |
481-
|`updated_at` | string | Record update date |
482-
|`label` | string | Employment type label |
483-
|`name` | string | Employment type name |
484-
|`type` | string | Type \(CONTRACTOR, EMPLOYEE\) |
485-
|`compensation_time_period` | string | Compensation period \(HOURLY, SALARIED\) |
486-
|`amount_worked` | string | Amount worked \(PART-TIME, FULL-TIME, TEMPORARY\) |
480+
| ` ↳ id` | string | Employment type ID |
481+
| ` ↳ created_at` | string | Record creation date |
482+
| ` ↳ updated_at` | string | Record update date |
483+
| ` ↳ label` | string | Employment type label |
484+
| ` ↳ name` | string | Employment type name |
485+
| ` ↳ type` | string | Type \(CONTRACTOR, EMPLOYEE\) |
486+
| ` ↳ compensation_time_period` | string | Compensation period \(HOURLY, SALARIED\) |
487+
| ` ↳ amount_worked` | string | Amount worked \(PART-TIME, FULL-TIME, TEMPORARY\) |
487488
| `totalCount` | number | Number of items returned |
488489
| `nextLink` | string | Link to next page of results |
489490

@@ -1430,8 +1431,14 @@ Create a field on a custom object
14301431
| `name` | string | Yes | Field name |
14311432
| `description` | string | No | Description |
14321433
| `dataType` | json | Yes | Data type configuration |
1434+
| `required` | boolean | No | Whether the field is required |
1435+
| `rqlDefinition` | json | No | RQL definition object |
14331436
| `isUnique` | boolean | No | Whether field is unique |
1437+
| `formulaAttrMetas` | json | No | Formula attribute metadata |
1438+
| `section` | json | No | Section configuration |
14341439
| `enableHistory` | boolean | No | Enable history tracking |
1440+
| `derivedFieldFormula` | string | No | Derived field formula expression |
1441+
| `derivedAggregatedField` | json | No | Derived aggregated field configuration |
14351442

14361443
#### Output
14371444

@@ -1466,8 +1473,14 @@ Update a field on a custom object
14661473
| `name` | string | No | Field name |
14671474
| `description` | string | No | Description |
14681475
| `dataType` | json | No | Data type |
1476+
| `required` | boolean | No | Whether the field is required |
1477+
| `rqlDefinition` | json | No | RQL definition object |
14691478
| `isUnique` | boolean | No | Is unique |
1479+
| `formulaAttrMetas` | json | No | Formula attribute metadata |
1480+
| `section` | json | No | Section configuration |
14701481
| `enableHistory` | boolean | No | Enable history |
1482+
| `derivedFieldFormula` | string | No | Derived field formula expression |
1483+
| `nameFieldDetails` | json | No | Name field details configuration |
14711484

14721485
#### Output
14731486

@@ -1528,6 +1541,10 @@ List all records for a custom object
15281541
| ` ↳ updated_at` | string | Record update date |
15291542
| ` ↳ name` | string | Record name |
15301543
| ` ↳ external_id` | string | External ID |
1544+
| ` ↳ created_by` | json | Created by user \(id, display_value, image\) |
1545+
| ` ↳ last_modified_by` | json | Last modified by user \(id, display_value, image\) |
1546+
| ` ↳ owner_role` | json | Owner role \(id, display_value, image\) |
1547+
| ` ↳ system_updated_at` | string | System update timestamp |
15311548
| ` ↳ data` | json | Full record data including dynamic fields |
15321549
| `totalCount` | number | Number of records returned |
15331550
| `nextLink` | string | Next page link |
@@ -1554,6 +1571,10 @@ Get a specific custom object record
15541571
| `updated_at` | string | Updated timestamp |
15551572
| `name` | string | Name |
15561573
| `external_id` | string | External ID |
1574+
| `created_by` | json | Created by user |
1575+
| `last_modified_by` | json | Last modified by user |
1576+
| `owner_role` | json | Owner role |
1577+
| `system_updated_at` | string | System update timestamp |
15571578
| `data` | json | Full record data |
15581579

15591580
---
@@ -1578,10 +1599,47 @@ Get a custom object record by external ID
15781599
| `updated_at` | string | Updated timestamp |
15791600
| `name` | string | Name |
15801601
| `external_id` | string | External ID |
1602+
| `created_by` | json | Created by user |
1603+
| `last_modified_by` | json | Last modified by user |
1604+
| `owner_role` | json | Owner role |
1605+
| `system_updated_at` | string | System update timestamp |
15811606
| `data` | json | Full record data |
15821607

15831608
---
15841609

1610+
### `rippling_query_custom_object_records`
1611+
1612+
Query custom object records with filters
1613+
1614+
#### Input
1615+
1616+
| Parameter | Type | Required | Description |
1617+
| --------- | ---- | -------- | ----------- |
1618+
| `customObjectApiName` | string | Yes | Custom object API name |
1619+
| `query` | string | No | Query expression |
1620+
| `limit` | number | No | Max results to return |
1621+
| `cursor` | string | No | Pagination cursor |
1622+
1623+
#### Output
1624+
1625+
| Parameter | Type | Description |
1626+
| --------- | ---- | ----------- |
1627+
| `records` | array | Matching records |
1628+
| ` ↳ id` | string | Record ID |
1629+
| ` ↳ created_at` | string | Record creation date |
1630+
| ` ↳ updated_at` | string | Record update date |
1631+
| ` ↳ name` | string | Record name |
1632+
| ` ↳ external_id` | string | External ID |
1633+
| ` ↳ created_by` | json | Created by user \(id, display_value, image\) |
1634+
| ` ↳ last_modified_by` | json | Last modified by user \(id, display_value, image\) |
1635+
| ` ↳ owner_role` | json | Owner role \(id, display_value, image\) |
1636+
| ` ↳ system_updated_at` | string | System update timestamp |
1637+
| ` ↳ data` | json | Full record data |
1638+
| `totalCount` | number | Number of records returned |
1639+
| `cursor` | string | Pagination cursor for next page |
1640+
1641+
---
1642+
15851643
### `rippling_create_custom_object_record`
15861644

15871645
Create a custom object record
@@ -1602,6 +1660,10 @@ Create a custom object record
16021660
| `updated_at` | string | Update date |
16031661
| `name` | string | Record name |
16041662
| `external_id` | string | External ID |
1663+
| `created_by` | json | Created by user |
1664+
| `last_modified_by` | json | Last modified by user |
1665+
| `owner_role` | json | Owner role |
1666+
| `system_updated_at` | string | System update timestamp |
16051667
| `data` | json | Full record data |
16061668

16071669
---
@@ -1627,6 +1689,10 @@ Update a custom object record
16271689
| `updated_at` | string | Update date |
16281690
| `name` | string | Record name |
16291691
| `external_id` | string | External ID |
1692+
| `created_by` | json | Created by user |
1693+
| `last_modified_by` | json | Last modified by user |
1694+
| `owner_role` | json | Owner role |
1695+
| `system_updated_at` | string | System update timestamp |
16301696
| `data` | json | Full record data |
16311697

16321698
---
@@ -1650,35 +1716,6 @@ Delete a custom object record
16501716

16511717
---
16521718

1653-
### `rippling_query_custom_object_records`
1654-
1655-
Query custom object records with filters
1656-
1657-
#### Input
1658-
1659-
| Parameter | Type | Required | Description |
1660-
| --------- | ---- | -------- | ----------- |
1661-
| `customObjectApiName` | string | Yes | Custom object API name |
1662-
| `query` | string | No | Query expression |
1663-
| `limit` | number | No | Max results to return |
1664-
| `cursor` | string | No | Pagination cursor |
1665-
1666-
#### Output
1667-
1668-
| Parameter | Type | Description |
1669-
| --------- | ---- | ----------- |
1670-
| `records` | array | Matching records |
1671-
| ` ↳ id` | string | Record ID |
1672-
| ` ↳ created_at` | string | Record creation date |
1673-
| ` ↳ updated_at` | string | Record update date |
1674-
| ` ↳ name` | string | Record name |
1675-
| ` ↳ external_id` | string | External ID |
1676-
| ` ↳ data` | json | Full record data |
1677-
| `totalCount` | number | Number of records returned |
1678-
| `cursor` | string | Pagination cursor for next page |
1679-
1680-
---
1681-
16821719
### `rippling_bulk_create_custom_object_records`
16831720

16841721
Bulk create custom object records
@@ -2274,6 +2311,7 @@ Get a report run by ID
22742311
| `report_id` | string | Report ID |
22752312
| `status` | string | Run status |
22762313
| `result` | json | Report result \(file_url, expires_at, output_type\) |
2314+
| `__meta` | json | Metadata including redacted_fields |
22772315

22782316
---
22792317

apps/sim/tools/rippling/create_custom_object_field.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,54 @@ export const ripplingCreateCustomObjectFieldTool: ToolConfig<RipplingCreateCusto
3838
visibility: 'user-or-llm',
3939
description: 'Data type configuration',
4040
},
41+
required: {
42+
type: 'boolean',
43+
required: false,
44+
visibility: 'user-or-llm',
45+
description: 'Whether the field is required',
46+
},
47+
rqlDefinition: {
48+
type: 'json',
49+
required: false,
50+
visibility: 'user-or-llm',
51+
description: 'RQL definition object',
52+
},
4153
isUnique: {
4254
type: 'boolean',
4355
required: false,
4456
visibility: 'user-or-llm',
4557
description: 'Whether field is unique',
4658
},
59+
formulaAttrMetas: {
60+
type: 'json',
61+
required: false,
62+
visibility: 'user-or-llm',
63+
description: 'Formula attribute metadata',
64+
},
65+
section: {
66+
type: 'json',
67+
required: false,
68+
visibility: 'user-or-llm',
69+
description: 'Section configuration',
70+
},
4771
enableHistory: {
4872
type: 'boolean',
4973
required: false,
5074
visibility: 'user-or-llm',
5175
description: 'Enable history tracking',
5276
},
77+
derivedFieldFormula: {
78+
type: 'string',
79+
required: false,
80+
visibility: 'user-or-llm',
81+
description: 'Derived field formula expression',
82+
},
83+
derivedAggregatedField: {
84+
type: 'json',
85+
required: false,
86+
visibility: 'user-or-llm',
87+
description: 'Derived aggregated field configuration',
88+
},
5389
},
5490
request: {
5591
url: (params) =>
@@ -63,8 +99,15 @@ export const ripplingCreateCustomObjectFieldTool: ToolConfig<RipplingCreateCusto
6399
body: (params) => {
64100
const body: Record<string, unknown> = { name: params.name, data_type: params.dataType }
65101
if (params.description != null) body.description = params.description
102+
if (params.required != null) body.required = params.required
103+
if (params.rqlDefinition != null) body.rql_definition = params.rqlDefinition
66104
if (params.isUnique != null) body.is_unique = params.isUnique
105+
if (params.formulaAttrMetas != null) body.formula_attr_metas = params.formulaAttrMetas
106+
if (params.section != null) body.section = params.section
67107
if (params.enableHistory != null) body.enable_history = params.enableHistory
108+
if (params.derivedFieldFormula != null) body.derived_field_formula = params.derivedFieldFormula
109+
if (params.derivedAggregatedField != null)
110+
body.derived_aggregated_field = params.derivedAggregatedField
68111
return body
69112
},
70113
},

apps/sim/tools/rippling/create_custom_object_record.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ export const ripplingCreateCustomObjectRecordTool: ToolConfig<RipplingCreateCust
5050
updated_at: (record.updated_at as string) ?? null,
5151
name: (record.name as string) ?? null,
5252
external_id: (record.external_id as string) ?? null,
53+
created_by: record.created_by ?? null,
54+
last_modified_by: record.last_modified_by ?? null,
55+
owner_role: record.owner_role ?? null,
56+
system_updated_at: (record.system_updated_at as string) ?? null,
5357
data: record,
5458
},
5559
}
@@ -60,6 +64,10 @@ export const ripplingCreateCustomObjectRecordTool: ToolConfig<RipplingCreateCust
6064
updated_at: { type: 'string', description: 'Update date', optional: true },
6165
name: { type: 'string', description: 'Record name', optional: true },
6266
external_id: { type: 'string', description: 'External ID', optional: true },
67+
created_by: { type: 'json', description: 'Created by user', optional: true },
68+
last_modified_by: { type: 'json', description: 'Last modified by user', optional: true },
69+
owner_role: { type: 'json', description: 'Owner role', optional: true },
70+
system_updated_at: { type: 'string', description: 'System update timestamp', optional: true },
6371
data: { type: 'json', description: 'Full record data' },
6472
},
6573
}

apps/sim/tools/rippling/get_current_user.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,20 @@ export const ripplingGetCurrentUserTool: ToolConfig<RipplingGetCurrentUserParams
1919
visibility: 'user-or-llm',
2020
description: 'Comma-separated fields to expand',
2121
},
22+
cursor: {
23+
type: 'string',
24+
required: false,
25+
visibility: 'user-or-llm',
26+
description: 'Pagination cursor',
27+
},
2228
},
2329
request: {
2430
url: (params) => {
25-
const base = `https://rest.ripplingapis.com/sso-me/`
26-
if (params.expand != null) return `${base}?expand=${encodeURIComponent(params.expand)}`
27-
return base
31+
const query = new URLSearchParams()
32+
if (params.expand != null) query.set('expand', params.expand)
33+
if (params.cursor != null) query.set('cursor', params.cursor)
34+
const qs = query.toString()
35+
return `https://rest.ripplingapis.com/sso-me/${qs ? `?${qs}` : ''}`
2836
},
2937
method: 'GET',
3038
headers: (params) => ({ Authorization: `Bearer ${params.apiKey}`, Accept: 'application/json' }),

apps/sim/tools/rippling/get_custom_object_record.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ export const ripplingGetCustomObjectRecordTool: ToolConfig<RipplingGetCustomObje
4141
updated_at: (data.updated_at as string) ?? null,
4242
name: (data.name as string) ?? null,
4343
external_id: (data.external_id as string) ?? null,
44+
created_by: data.created_by ?? null,
45+
last_modified_by: data.last_modified_by ?? null,
46+
owner_role: data.owner_role ?? null,
47+
system_updated_at: (data.system_updated_at as string) ?? null,
4448
data,
4549
},
4650
}
@@ -51,6 +55,10 @@ export const ripplingGetCustomObjectRecordTool: ToolConfig<RipplingGetCustomObje
5155
updated_at: { type: 'string', description: 'Updated timestamp', optional: true },
5256
name: { type: 'string', description: 'Name', optional: true },
5357
external_id: { type: 'string', description: 'External ID', optional: true },
58+
created_by: { type: 'json', description: 'Created by user', optional: true },
59+
last_modified_by: { type: 'json', description: 'Last modified by user', optional: true },
60+
owner_role: { type: 'json', description: 'Owner role', optional: true },
61+
system_updated_at: { type: 'string', description: 'System update timestamp', optional: true },
5462
data: { type: 'json', description: 'Full record data' },
5563
},
5664
}

apps/sim/tools/rippling/get_custom_object_record_by_external_id.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ export const ripplingGetCustomObjectRecordByExternalIdTool: ToolConfig<RipplingG
5050
updated_at: (data.updated_at as string) ?? null,
5151
name: (data.name as string) ?? null,
5252
external_id: (data.external_id as string) ?? null,
53+
created_by: data.created_by ?? null,
54+
last_modified_by: data.last_modified_by ?? null,
55+
owner_role: data.owner_role ?? null,
56+
system_updated_at: (data.system_updated_at as string) ?? null,
5357
data,
5458
},
5559
}
@@ -60,6 +64,10 @@ export const ripplingGetCustomObjectRecordByExternalIdTool: ToolConfig<RipplingG
6064
updated_at: { type: 'string', description: 'Updated timestamp', optional: true },
6165
name: { type: 'string', description: 'Name', optional: true },
6266
external_id: { type: 'string', description: 'External ID', optional: true },
67+
created_by: { type: 'json', description: 'Created by user', optional: true },
68+
last_modified_by: { type: 'json', description: 'Last modified by user', optional: true },
69+
owner_role: { type: 'json', description: 'Owner role', optional: true },
70+
system_updated_at: { type: 'string', description: 'System update timestamp', optional: true },
6371
data: { type: 'json', description: 'Full record data' },
6472
},
6573
}

apps/sim/tools/rippling/get_report_run.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const ripplingGetReportRunTool: ToolConfig<RipplingGetReportRunParams> =
3434
report_id: (data.report_id as string) ?? null,
3535
status: (data.status as string) ?? null,
3636
result: data.result ?? null,
37+
__meta: data.__meta ?? null,
3738
},
3839
}
3940
},
@@ -46,5 +47,10 @@ export const ripplingGetReportRunTool: ToolConfig<RipplingGetReportRunParams> =
4647
description: 'Report result (file_url, expires_at, output_type)',
4748
optional: true,
4849
},
50+
__meta: {
51+
type: 'json',
52+
description: 'Metadata including redacted_fields',
53+
optional: true,
54+
},
4955
},
5056
}

apps/sim/tools/rippling/list_custom_object_records.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ export const ripplingListCustomObjectRecordsTool: ToolConfig<RipplingListCustomO
4747
updated_at: (item.updated_at as string) ?? null,
4848
name: (item.name as string) ?? null,
4949
external_id: (item.external_id as string) ?? null,
50+
created_by: item.created_by ?? null,
51+
last_modified_by: item.last_modified_by ?? null,
52+
owner_role: item.owner_role ?? null,
53+
system_updated_at: (item.system_updated_at as string) ?? null,
5054
data: item,
5155
})),
5256
totalCount: results.length,

apps/sim/tools/rippling/query_custom_object_records.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ export const ripplingQueryCustomObjectRecordsTool: ToolConfig<RipplingQueryCusto
7373
updated_at: (item.updated_at as string) ?? null,
7474
name: (item.name as string) ?? null,
7575
external_id: (item.external_id as string) ?? null,
76+
created_by: item.created_by ?? null,
77+
last_modified_by: item.last_modified_by ?? null,
78+
owner_role: item.owner_role ?? null,
79+
system_updated_at: (item.system_updated_at as string) ?? null,
7680
data: item,
7781
})),
7882
totalCount: results.length,

0 commit comments

Comments
 (0)