@getfrontline/cli 1.0.3 → 1.0.4

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.
Files changed (43) hide show
  1. package/README.md +5 -5
  2. package/dist/commands/object/activity.d.ts +3 -0
  3. package/dist/commands/object/activity.d.ts.map +1 -0
  4. package/dist/commands/object/{note.js → activity.js} +24 -19
  5. package/dist/commands/object/activity.js.map +1 -0
  6. package/dist/commands/object/export.js +3 -3
  7. package/dist/commands/object/field.js +5 -5
  8. package/dist/commands/object/index.js +10 -10
  9. package/dist/commands/object/index.js.map +1 -1
  10. package/dist/commands/object/option.js +4 -4
  11. package/dist/commands/object/record-type.js +4 -4
  12. package/dist/commands/object/record.js +8 -8
  13. package/dist/commands/object/relation.js +4 -4
  14. package/dist/commands/object/view.js +9 -9
  15. package/dist/commands/table/index.d.ts.map +1 -1
  16. package/dist/commands/table/index.js +0 -4
  17. package/dist/commands/table/index.js.map +1 -1
  18. package/dist/max/ui/banner.js +15 -15
  19. package/dist/skills/aggregations/SKILL.md +7 -7
  20. package/dist/skills/auth-and-profiles/SKILL.md +1 -1
  21. package/dist/skills/crm-setup/SKILL.md +66 -48
  22. package/dist/skills/crud-operations/SKILL.md +2 -2
  23. package/dist/skills/export-and-delete/SKILL.md +5 -5
  24. package/dist/skills/files/SKILL.md +4 -4
  25. package/dist/skills/filter-and-query/SKILL.md +7 -7
  26. package/dist/skills/frontline-internals/SKILL.md +7 -7
  27. package/dist/skills/notes-and-tasks/SKILL.md +29 -29
  28. package/dist/skills/pipeline-setup/SKILL.md +13 -13
  29. package/dist/skills/relations/SKILL.md +15 -15
  30. package/dist/skills/resource-creation/SKILL.md +70 -1
  31. package/dist/skills/schema-design/SKILL.md +21 -14
  32. package/package.json +51 -51
  33. package/dist/commands/object/note.d.ts +0 -3
  34. package/dist/commands/object/note.d.ts.map +0 -1
  35. package/dist/commands/object/note.js.map +0 -1
  36. package/dist/commands/table/note.d.ts +0 -3
  37. package/dist/commands/table/note.d.ts.map +0 -1
  38. package/dist/commands/table/note.js +0 -62
  39. package/dist/commands/table/note.js.map +0 -1
  40. package/dist/commands/table/task.d.ts +0 -3
  41. package/dist/commands/table/task.d.ts.map +0 -1
  42. package/dist/commands/table/task.js +0 -88
  43. package/dist/commands/table/task.js.map +0 -1
@@ -24,7 +24,7 @@ allowed-tools: Bash(frontline:*)
24
24
  This skill walks through building a complete CRM system: Companies, Contacts,
25
25
  and Deals — with relations, pipeline stages, record types, and views.
26
26
 
27
- > The built-in `standard__companies`, `standard__people`, and `standard__deals` objects already
27
+ > The built-in `companies`, `people`, and `deals` objects already
28
28
  > exist. This guide uses **custom objects** to show how to build everything from
29
29
  > scratch, but the same patterns apply when extending existing objects.
30
30
 
@@ -75,6 +75,8 @@ Use `object create` for business entities and `table create` for simple data.
75
75
  # Create a new "Embarques" table
76
76
  frontline table create embarques --data '{
77
77
  "displayName": "Embarques",
78
+ "emoji": "truck",
79
+ "icon_color": "orange",
78
80
  "columns": [
79
81
  { "name": "Nombre", "type": "string", "metadata": { "format": "text" } }
80
82
  ]
@@ -83,6 +85,8 @@ frontline table create embarques --data '{
83
85
  # Create a new "Pedidos" table
84
86
  frontline table create pedidos --data '{
85
87
  "displayName": "Pedidos",
88
+ "emoji": "package",
89
+ "icon_color": "blue",
86
90
  "columns": [
87
91
  { "name": "Nombre", "type": "string", "metadata": { "format": "text" } }
88
92
  ]
@@ -92,9 +96,9 @@ frontline table create pedidos --data '{
92
96
  The system also ships with these core objects:
93
97
 
94
98
  ```
95
- standard__companies — Companies
96
- standard__people — People (contacts)
97
- standard__deals — Deals (sales pipeline)
99
+ companies — Companies
100
+ people — People (contacts)
101
+ deals — Deals (sales pipeline)
98
102
  ```
99
103
 
100
104
  Verify they exist:
@@ -103,21 +107,35 @@ Verify they exist:
103
107
  frontline object list
104
108
  ```
105
109
 
110
+ ### Setting Icons on Existing Objects/Tables
111
+
112
+ ```bash
113
+ frontline object update deals --data '{"emoji": "handshake", "icon_color": "emerald"}'
114
+ frontline table update embarques --data '{"emoji": "delivery", "icon_color": "teal"}'
115
+ ```
116
+
117
+ ### Available Icon Colors
118
+
119
+ Use the `icon_color` field with a **color name** (case-insensitive):
120
+
121
+ `red`, `orange`, `amber`, `yellow`, `lime`, `green`, `emerald`, `teal`,
122
+ `cyan`, `sky`, `blue`, `indigo`, `violet`, `purple`, `pink`, `rose`
123
+
106
124
  ## Step 2 — Inspect & Extend the Schema
107
125
 
108
126
  ### View current fields
109
127
 
110
128
  ```bash
111
- frontline object field list standard__companies
112
- frontline object field list standard__people
113
- frontline object field list standard__deals
129
+ frontline object field list companies
130
+ frontline object field list people
131
+ frontline object field list deals
114
132
  ```
115
133
 
116
134
  ### Add custom fields
117
135
 
118
136
  ```bash
119
137
  # Add a "Lead Source" select field to People
120
- frontline object field create standard__people --data '{
138
+ frontline object field create people --data '{
121
139
  "name": "Lead Source",
122
140
  "type": "select",
123
141
  "metadata": { "mode": "singleSelect" }
@@ -125,20 +143,20 @@ frontline object field create standard__people --data '{
125
143
  # → Returns: { id: 15, name: "Lead Source", type: "select", ... }
126
144
 
127
145
  # Add options to the new field (use the field ID from above)
128
- frontline object option create standard__people 15 --data '{"name": "Website", "color": "Sky"}'
129
- frontline object option create standard__people 15 --data '{"name": "Referral", "color": "Emerald"}'
130
- frontline object option create standard__people 15 --data '{"name": "Cold Outreach", "color": "Gray"}'
131
- frontline object option create standard__people 15 --data '{"name": "Event", "color": "Lavender"}'
146
+ frontline object option create people 15 --data '{"name": "Website", "color": "Sky"}'
147
+ frontline object option create people 15 --data '{"name": "Referral", "color": "Emerald"}'
148
+ frontline object option create people 15 --data '{"name": "Cold Outreach", "color": "Gray"}'
149
+ frontline object option create people 15 --data '{"name": "Event", "color": "Lavender"}'
132
150
 
133
151
  # Add a "Probability %" number field to Deals
134
- frontline object field create standard__deals --data '{
152
+ frontline object field create deals --data '{
135
153
  "name": "Probability",
136
154
  "type": "number",
137
155
  "metadata": {}
138
156
  }'
139
157
 
140
158
  # Add a "Next Follow-up" date field to Deals
141
- frontline object field create standard__deals --data '{
159
+ frontline object field create deals --data '{
142
160
  "name": "Next Follow-up",
143
161
  "type": "dateOnly",
144
162
  "metadata": {}
@@ -150,13 +168,13 @@ frontline object field create standard__deals --data '{
150
168
  The built-in objects already have relations defined:
151
169
 
152
170
  ```bash
153
- frontline object schema standard__people
154
- # → relations: [{ name: "companies", target: "standard__companies", mode: "multi" }]
171
+ frontline object schema people
172
+ # → relations: [{ name: "companies", target: "companies", mode: "multi" }]
155
173
 
156
- frontline object schema standard__deals
174
+ frontline object schema deals
157
175
  # → relations: [
158
- # { name: "people", target: "standard__people", mode: "multi" },
159
- # { name: "company", target: "standard__companies", mode: "single" }
176
+ # { name: "people", target: "people", mode: "multi" },
177
+ # { name: "company", target: "companies", mode: "single" }
160
178
  # ]
161
179
  ```
162
180
 
@@ -167,14 +185,14 @@ The `name` field is what you use in all relation commands.
167
185
  ### Create companies
168
186
 
169
187
  ```bash
170
- frontline object record create standard__companies --data '{
188
+ frontline object record create companies --data '{
171
189
  "Name": "Acme Corp",
172
190
  "Domain": "acme.com",
173
191
  "Primary Location": "New York, USA"
174
192
  }'
175
193
  # → { id: "6625aaa...", ... }
176
194
 
177
- frontline object record create standard__companies --data '{
195
+ frontline object record create companies --data '{
178
196
  "Name": "TechStart Inc",
179
197
  "Domain": "techstart.io",
180
198
  "Primary Location": "San Francisco, USA"
@@ -185,7 +203,7 @@ frontline object record create standard__companies --data '{
185
203
  ### Create contacts
186
204
 
187
205
  ```bash
188
- frontline object record create standard__people --data '{
206
+ frontline object record create people --data '{
189
207
  "First Name": "Alice",
190
208
  "Last Name": "Johnson",
191
209
  "Email": "alice@acme.com",
@@ -194,7 +212,7 @@ frontline object record create standard__people --data '{
194
212
  }'
195
213
  # → { id: "6625ccc...", ... }
196
214
 
197
- frontline object record create standard__people --data '{
215
+ frontline object record create people --data '{
198
216
  "First Name": "Bob",
199
217
  "Last Name": "Smith",
200
218
  "Email": "bob@techstart.io",
@@ -206,10 +224,10 @@ frontline object record create standard__people --data '{
206
224
  ### Create deals
207
225
 
208
226
  ```bash
209
- # Use option IDs from `frontline object field list standard__deals`
227
+ # Use option IDs from `frontline object field list deals`
210
228
  # Stage options: 1=Lead, 2=In Progress, 3=Won, 4=Lost
211
229
 
212
- frontline object record create standard__deals --data '{
230
+ frontline object record create deals --data '{
213
231
  "Name": "Acme Enterprise License",
214
232
  "Stage": [2],
215
233
  "Value": 150000
@@ -223,36 +241,36 @@ frontline object record create standard__deals --data '{
223
241
 
224
242
  ```bash
225
243
  # Alice works at Acme
226
- frontline object relation link standard__people 6625ccc... Companies 6625aaa...
244
+ frontline object relation link people 6625ccc... Companies 6625aaa...
227
245
 
228
246
  # Bob works at TechStart
229
- frontline object relation link standard__people 6625ddd... Companies 6625bbb...
247
+ frontline object relation link people 6625ddd... Companies 6625bbb...
230
248
  ```
231
249
 
232
250
  ### Link deal → company and deal → person
233
251
 
234
252
  ```bash
235
253
  # The Acme deal belongs to Acme Corp
236
- frontline object relation link standard__deals 6625eee... Company 6625aaa...
254
+ frontline object relation link deals 6625eee... Company 6625aaa...
237
255
 
238
256
  # Alice is the contact for this deal
239
- frontline object relation link standard__deals 6625eee... People 6625ccc...
257
+ frontline object relation link deals 6625eee... People 6625ccc...
240
258
  ```
241
259
 
242
260
  ### Verify links
243
261
 
244
262
  ```bash
245
263
  # What company does Alice belong to?
246
- frontline object relation get standard__people 6625ccc... Companies
264
+ frontline object relation get people 6625ccc... Companies
247
265
 
248
266
  # Who are the contacts for the Acme deal?
249
- frontline object relation get standard__deals 6625eee... People
267
+ frontline object relation get deals 6625eee... People
250
268
 
251
269
  # Which deals belong to Acme Corp? (reverse lookup)
252
- frontline object relation find-by standard__deals Company 6625aaa...
270
+ frontline object relation find-by deals Company 6625aaa...
253
271
 
254
272
  # Which people work at Acme Corp? (reverse lookup)
255
- frontline object relation find-by standard__people Companies 6625aaa...
273
+ frontline object relation find-by people Companies 6625aaa...
256
274
  ```
257
275
 
258
276
  ## Step 6 — Set Up Pipeline Views
@@ -261,10 +279,10 @@ frontline object relation find-by standard__people Companies 6625aaa...
261
279
 
262
280
  ```bash
263
281
  # Get the field IDs to include in each record type
264
- frontline object field list standard__deals
282
+ frontline object field list deals
265
283
  # → Use the IDs for Name, Stage, Value, People, Company
266
284
 
267
- frontline object record-type create standard__deals --data '{
285
+ frontline object record-type create deals --data '{
268
286
  "name": "active_pipeline",
269
287
  "displayName": "Active Pipeline",
270
288
  "columnIds": [1, 2, 3, 5, 8]
@@ -277,14 +295,14 @@ frontline object record-type create standard__deals --data '{
277
295
  ```bash
278
296
  # Use the Stage field ID for grouping (e.g., field ID 2)
279
297
  # Create directly on the object (no record type needed)
280
- frontline object view create standard__deals --data '{
298
+ frontline object view create deals --data '{
281
299
  "name": "Pipeline Board",
282
300
  "type": "KANBAN",
283
301
  "metadata": { "groupingColumnId": 2 }
284
302
  }'
285
303
 
286
304
  # Or scoped to a specific record type with --record-type <id>
287
- frontline object view create standard__deals --record-type 7 --data '{
305
+ frontline object view create deals --record-type 7 --data '{
288
306
  "name": "Pipeline Board",
289
307
  "type": "KANBAN",
290
308
  "metadata": { "groupingColumnId": 2 }
@@ -299,13 +317,13 @@ Refine your views to show only the most important information:
299
317
 
300
318
  ```bash
301
319
  # Set order of columns/fields
302
- frontline object view update standard__deals <view-id> --column-order "Name, Stage, Value, Company"
320
+ frontline object view update deals <view-id> --column-order "Name, Stage, Value, Company"
303
321
 
304
322
  # Hide less relevant fields
305
- frontline object view update standard__deals <view-id> --hidden-columns "Created At, Updated At"
323
+ frontline object view update deals <view-id> --hidden-columns "Created At, Updated At"
306
324
 
307
325
  # Order fields in the record creation dialog
308
- frontline object view update standard__deals <view-id> --dialog-field-order "Name, Stage, Value, Probability"
326
+ frontline object view update deals <view-id> --dialog-field-order "Name, Stage, Value, Probability"
309
327
  ```
310
328
 
311
329
  ## Step 8 — Query Your CRM
@@ -313,7 +331,7 @@ frontline object view update standard__deals <view-id> --dialog-field-order "Nam
313
331
  ### Find high-value deals
314
332
 
315
333
  ```bash
316
- frontline object record list standard__deals --query '{
334
+ frontline object record list deals --query '{
317
335
  "operator": "and",
318
336
  "conditions": [
319
337
  { "path": "[Value]", "operator": "gte", "value": 50000 },
@@ -325,7 +343,7 @@ frontline object record list standard__deals --query '{
325
343
  ### Find contacts with no company
326
344
 
327
345
  ```bash
328
- frontline object record list standard__people --query '{
346
+ frontline object record list people --query '{
329
347
  "path": "[Companies]", "operator": "isNull"
330
348
  }'
331
349
  ```
@@ -333,29 +351,29 @@ frontline object record list standard__people --query '{
333
351
  ### Search across fields
334
352
 
335
353
  ```bash
336
- frontline object record list standard__people --search "alice"
337
- frontline object record list standard__companies --search "tech"
354
+ frontline object record list people --search "alice"
355
+ frontline object record list companies --search "tech"
338
356
  ```
339
357
 
340
358
  ### Find all contacts at a specific company
341
359
 
342
360
  ```bash
343
- frontline object relation find-by standard__people Companies <company-id>
361
+ frontline object relation find-by people Companies <company-id>
344
362
  ```
345
363
 
346
364
  ## Step 8 — Export & Backup
347
365
 
348
366
  ```bash
349
367
  # Export all deals to spreadsheet
350
- frontline object export xlsx standard__deals --output deals_report.xlsx
368
+ frontline object export xlsx deals --output deals_report.xlsx
351
369
 
352
370
  # Export filtered data (only won deals)
353
- frontline object export csv standard__deals \
371
+ frontline object export csv deals \
354
372
  --query '{"path": "[Stage]", "operator": "containsAny", "value": [3]}' \
355
373
  --output won_deals.csv
356
374
 
357
375
  # Export all contacts
358
- frontline object export xlsx standard__people --output contacts_backup.xlsx
376
+ frontline object export xlsx people --output contacts_backup.xlsx
359
377
  ```
360
378
 
361
379
  ## Quick Command Reference
@@ -269,10 +269,10 @@ Create a new record type with a kanban view for a deals pipeline:
269
269
 
270
270
  ```bash
271
271
  # 1. Check current fields
272
- frontline object field list standard__deals
272
+ frontline object field list deals
273
273
 
274
274
  # 2. Create a record type (returns record_type_id)
275
- frontline object record-type create standard__deals --data '{
275
+ frontline object record-type create deals --data '{
276
276
  "name": "enterprise",
277
277
  "displayName": "Enterprise Deals",
278
278
  "columnIds": [1, 2, 5, 8]
@@ -23,10 +23,10 @@ frontline object export xlsx <name> [--output file.xlsx]
23
23
 
24
24
  ```bash
25
25
  # Export all people
26
- frontline object export xlsx standard__people
26
+ frontline object export xlsx people
27
27
 
28
28
  # Export with filter (high-value deals only)
29
- frontline object export xlsx standard__deals \
29
+ frontline object export xlsx deals \
30
30
  --query '{"path": "[Amount]", "operator": "gte", "value": 10000}' \
31
31
  --output big_deals.xlsx
32
32
 
@@ -46,7 +46,7 @@ frontline object export csv <name> [--output file.csv]
46
46
 
47
47
  ```bash
48
48
  # Export all records as CSV
49
- frontline object export csv standard__people --output people_backup.csv
49
+ frontline object export csv people --output people_backup.csv
50
50
  ```
51
51
 
52
52
  ### Default Output
@@ -86,11 +86,11 @@ Always export before deleting:
86
86
 
87
87
  ```bash
88
88
  # 1. Export everything
89
- frontline object export xlsx standard__legacy_deals --output legacy_deals_backup.xlsx
89
+ frontline object export xlsx legacy_deals --output legacy_deals_backup.xlsx
90
90
 
91
91
  # 2. Verify the export file exists and looks right
92
92
  ls -la legacy_deals_backup.xlsx
93
93
 
94
94
  # 3. Delete the object
95
- frontline object delete standard__legacy_deals
95
+ frontline object delete legacy_deals
96
96
  ```
@@ -55,16 +55,16 @@ frontline table file delete <table> <file-id>
55
55
 
56
56
  ```bash
57
57
  # 1. Find the row
58
- frontline object row list standard__deals --search "Acme Corp"
58
+ frontline object row list deals --search "Acme Corp"
59
59
  # → row ID = 6625abc123def456
60
60
 
61
61
  # 2. List attached files
62
- frontline object file list standard__deals 6625abc123def456
62
+ frontline object file list deals 6625abc123def456
63
63
  # → [{ id: 15, originalName: "contract_v2.pdf", size: 245000, ... }]
64
64
 
65
65
  # 3. Download a file
66
- frontline object file download standard__deals 15 --output ./contract_v2.pdf
66
+ frontline object file download deals 15 --output ./contract_v2.pdf
67
67
 
68
68
  # 4. Delete an outdated file
69
- frontline object file delete standard__deals 15
69
+ frontline object file delete deals 15
70
70
  ```
@@ -17,18 +17,18 @@ The `frontline table row list` and `frontline object record list` commands accep
17
17
 
18
18
  ```bash
19
19
  # Simple text search across all fields
20
- frontline object record list standard__people --search "john"
20
+ frontline object record list people --search "john"
21
21
 
22
22
  # Filter by a single condition
23
23
  # TIP: Use 'frontline object field list <name>' to find field names and tag IDs
24
- frontline object record list standard__deals --query '{
24
+ frontline object record list deals --query '{
25
25
  "path": "[Amount]",
26
26
  "operator": "gte",
27
27
  "value": 10000
28
28
  }'
29
29
 
30
30
  # Multiple conditions (AND)
31
- frontline object record list standard__deals --query '{
31
+ frontline object record list deals --query '{
32
32
  "operator": "and",
33
33
  "conditions": [
34
34
  { "path": "[Status]", "operator": "containsAny", "value": [1, 2] },
@@ -37,7 +37,7 @@ frontline object record list standard__deals --query '{
37
37
  }'
38
38
 
39
39
  # Sort results
40
- frontline object record list standard__people --sort '[{"path": "[Last Name]", "type": "asc"}]'
40
+ frontline object record list people --sort '[{"path": "[Last Name]", "type": "asc"}]'
41
41
  ```
42
42
 
43
43
  ## Path Format
@@ -176,8 +176,8 @@ frontline table row list my_table --page 1 --page-size 50
176
176
  ## Filter by Record Type (objects only)
177
177
 
178
178
  ```bash
179
- frontline object record list standard__people --record-type lead
180
- frontline object record list standard__deals --record-type "all"
179
+ frontline object record list people --record-type lead
180
+ frontline object record list deals --record-type "all"
181
181
  ```
182
182
 
183
183
  ## Full Example
@@ -185,7 +185,7 @@ frontline object record list standard__deals --record-type "all"
185
185
  Find all open deals worth over $10k, owned by a specific company, sorted by amount:
186
186
 
187
187
  ```bash
188
- frontline object record list standard__deals \
188
+ frontline object record list deals \
189
189
  --query '{
190
190
  "operator": "and",
191
191
  "conditions": [
@@ -24,10 +24,10 @@ Frontline ships with four core objects that form the foundation of every
24
24
  account. They are pre-provisioned and cannot be deleted.
25
25
 
26
26
  ```
27
- standard__companies — Organizations / accounts
28
- standard__people — Individual contacts
29
- standard__deals — Sales opportunities
30
- standard__tickets — Support or service requests
27
+ companies — Organizations / accounts
28
+ people — Individual contacts
29
+ deals — Sales opportunities
30
+ tickets — Support or service requests
31
31
  ```
32
32
 
33
33
  ### Built-in Relations
@@ -118,8 +118,8 @@ that aggregate and summarize information at the People and Company level.
118
118
  Use this checklist whenever you are about to create a new object, table, or field:
119
119
 
120
120
  1. **Is this already a base object?**
121
- Check `frontline object list` — `standard__companies`, `standard__people`,
122
- `standard__deals`, `standard__tickets` may already fit.
121
+ Check `frontline object list` — `companies`, `people`,
122
+ `deals`, `tickets` may already fit.
123
123
 
124
124
  2. **Is this interaction data?**
125
125
  If the new entity stores emails, messages, calls, or any user-to-contact
@@ -204,6 +204,6 @@ points to keep record profiles fresh:
204
204
  │ • Updates Vector Store for context-aware AI reasoning │
205
205
  │ │
206
206
  │ BASE OBJECTS │
207
- standard__companies standard__people standard__deals standard__tickets
207
+ companies people deals tickets
208
208
  └─────────────────────────────────────────────────────────────────┘
209
209
  ```
@@ -1,53 +1,54 @@
1
1
  ---
2
- name: notes-and-tasks
2
+ name: activities-and-tasks
3
3
  description: >
4
- How to create, read, update, and delete notes and tasks attached to rows
4
+ How to create, read, update, and delete activities and tasks attached to rows
5
5
  in tables and objects using the Frontline CLI.
6
6
  allowed-tools: Bash(frontline:*)
7
7
  ---
8
8
 
9
- # Notes & Tasks
9
+ # Activities & Tasks
10
10
 
11
- Notes and tasks are sub-resources attached to individual rows. They let you
12
- track follow-ups, comments, and to-do items without polluting row fields.
11
+ Activities and tasks are sub-resources attached to individual rows. They let you
12
+ track follow-ups, comments, interactions, and to-do items without polluting row fields.
13
13
 
14
- ## Notes
14
+ ## Activities
15
15
 
16
- Notes are simple text entries attached to a row.
16
+ Activities log manual interactions on a row. Each activity has a **type**:
17
+ `NOTE`, `EMAIL`, `PHONE_CALL`, `MEETING`, or `WHATSAPP`.
17
18
 
18
- ### List Notes
19
+ ### List Activities
19
20
 
20
21
  ```bash
21
- frontline object note list <object> <row-id>
22
- frontline table note list <table> <row-id>
22
+ frontline object activity list <object> <row-id>
23
23
  ```
24
24
 
25
- ### Create a Note
25
+ ### Create an Activity
26
26
 
27
27
  ```bash
28
- frontline object note create <object> <row-id> --content "Follow up next week"
29
- frontline table note create <table> <row-id> --content "Check inventory levels"
28
+ # Simple note (default type)
29
+ frontline object activity create <object> <row-id> --content "Follow up next week"
30
+
31
+ # With a specific type
32
+ frontline object activity create <object> <row-id> --content "Called re: pricing" --type PHONE_CALL
33
+ frontline object activity create <object> <row-id> --content "Discussed contract" --type MEETING
30
34
  ```
31
35
 
32
- ### Get a Note by ID
36
+ ### Get an Activity by ID
33
37
 
34
38
  ```bash
35
- frontline object note get <object> <note-id>
36
- frontline table note get <table> <note-id>
39
+ frontline object activity get <object> <activity-id>
37
40
  ```
38
41
 
39
- ### Update a Note
42
+ ### Update an Activity
40
43
 
41
44
  ```bash
42
- frontline object note update <object> <note-id> --content "Updated: follow up tomorrow"
43
- frontline table note update <table> <note-id> --content "Updated content"
45
+ frontline object activity update <object> <activity-id> --content "Updated: follow up tomorrow"
44
46
  ```
45
47
 
46
- ### Delete a Note
48
+ ### Delete an Activity
47
49
 
48
50
  ```bash
49
- frontline object note delete <object> <note-id>
50
- frontline table note delete <table> <note-id>
51
+ frontline object activity delete <object> <activity-id>
51
52
  ```
52
53
 
53
54
  ---
@@ -60,7 +61,6 @@ Tasks have content, optional due dates, assignees, and a completion state.
60
61
 
61
62
  ```bash
62
63
  frontline object task list <object> <row-id>
63
- frontline table task list <table> <row-id>
64
64
  ```
65
65
 
66
66
  ### Create a Task
@@ -111,18 +111,18 @@ frontline object task delete <object> <task-id>
111
111
 
112
112
  ```bash
113
113
  # 1. Find the row you want to annotate
114
- frontline object record list standard__deals --search "Acme"
114
+ frontline object record list deals --search "Acme"
115
115
  # → row ID = 6625abc123def456
116
116
 
117
- # 2. Add a note
118
- frontline object note create standard__deals 6625abc123def456 \
119
- --content "Discussed pricing on call"
117
+ # 2. Log a phone call activity
118
+ frontline object activity create deals 6625abc123def456 \
119
+ --content "Discussed pricing on call" --type PHONE_CALL
120
120
 
121
121
  # 3. Add a follow-up task with a due date
122
- frontline object task create standard__deals 6625abc123def456 \
122
+ frontline object task create deals 6625abc123def456 \
123
123
  --content "Send revised proposal" \
124
124
  --due-date 2026-05-15
125
125
 
126
126
  # 4. Later, mark it complete
127
- frontline object task complete standard__deals 7
127
+ frontline object task complete deals 7
128
128
  ```
@@ -176,33 +176,33 @@ frontline object record list <object> --query '{
176
176
  ## Complete Example: Support Ticket Pipeline
177
177
 
178
178
  ```bash
179
- # 1. The Status field already exists on standard__tickets as a predefined field.
179
+ # 1. The Status field already exists on tickets as a predefined field.
180
180
  # Check its field ID and existing options:
181
- frontline object field list standard__tickets
181
+ frontline object field list tickets
182
182
  # → Status field ID = 64, existing options: New, On You, On Customer, On Hold, Closed
183
183
 
184
184
  # 2. Add more stages to the existing Status field (optionsEditable: true)
185
- frontline object option create standard__tickets 64 --data '{"name": "Escalated", "color": "Bright Red"}'
186
- frontline object option create standard__tickets 64 --data '{"name": "Waiting on Vendor", "color": "Amber"}'
185
+ frontline object option create tickets 64 --data '{"name": "Escalated", "color": "Bright Red"}'
186
+ frontline object option create tickets 64 --data '{"name": "Waiting on Vendor", "color": "Amber"}'
187
187
 
188
188
  # 3. Also add a priority field
189
- frontline object field create standard__tickets --data '{
189
+ frontline object field create tickets --data '{
190
190
  "name": "Priority",
191
191
  "type": "select",
192
192
  "metadata": { "mode": "singleSelect" }
193
193
  }'
194
194
  # → { id: 11, ... }
195
195
 
196
- frontline object option create standard__tickets 11 --data '{"name": "Critical", "color": "Bright Red"}'
197
- frontline object option create standard__tickets 11 --data '{"name": "High", "color": "Magenta"}'
198
- frontline object option create standard__tickets 11 --data '{"name": "Medium", "color": "Amber"}'
199
- frontline object option create standard__tickets 11 --data '{"name": "Low", "color": "Gray"}'
196
+ frontline object option create tickets 11 --data '{"name": "Critical", "color": "Bright Red"}'
197
+ frontline object option create tickets 11 --data '{"name": "High", "color": "Magenta"}'
198
+ frontline object option create tickets 11 --data '{"name": "Medium", "color": "Amber"}'
199
+ frontline object option create tickets 11 --data '{"name": "Low", "color": "Gray"}'
200
200
 
201
201
  # 4. Create record type with relevant fields
202
- frontline object field list standard__tickets
202
+ frontline object field list tickets
203
203
  # → Suppose: 1=Subject, 10=Status, 11=Priority, 5=Assignee, 3=Description
204
204
 
205
- frontline object record-type create standard__tickets --data '{
205
+ frontline object record-type create tickets --data '{
206
206
  "name": "support_board",
207
207
  "displayName": "Support Board",
208
208
  "columnIds": [1, 10, 11, 5, 3]
@@ -210,14 +210,14 @@ frontline object record-type create standard__tickets --data '{
210
210
  # → { id: 4, ... }
211
211
 
212
212
  # 5. Create kanban view grouped by Status — directly on the object
213
- frontline object view create standard__tickets --data '{
213
+ frontline object view create tickets --data '{
214
214
  "name": "Ticket Board",
215
215
  "type": "KANBAN",
216
216
  "metadata": { "groupingColumnId": 10 }
217
217
  }'
218
218
 
219
219
  # 6. Create a table view too (for list browsing)
220
- frontline object view create standard__tickets --data '{
220
+ frontline object view create tickets --data '{
221
221
  "name": "All Tickets",
222
222
  "type": "TABLE",
223
223
  "metadata": {}