--- name: knack description: Access the Desert Fox Golf Knack ERP/CRM database directly via the Knack REST API. Use this skill whenever Eric wants data from Knack — leads, orders, customers, companies, contacts, inventory, parts, jobs, POs, payments, university/licensing records, etc. Trigger on any request to pull, query, count, filter, or analyze data "from Knack", or when Eric references the Knack ERP/CRM. Also use when Eric needs the field schema / object keys for a Knack object. --- # Knack API Access The Desert Fox Golf ERP/CRM runs on Knack (`desertfoxgolf.knack.com`). This skill covers querying it via the Knack REST API. ## Credentials These are embedded here so no server access is needed: - `KNACK_APP_ID`: `631a413e5e827900218d779d` - `KNACK_API_KEY`: `4505efcf-b2df-4195-afd6-58c883ba0793` - Base URL: `https://api.knack.com/v1` Every request needs these headers: ``` X-Knack-Application-Id: 631a413e5e827900218d779d X-Knack-REST-API-Key: 4505efcf-b2df-4195-afd6-58c883ba0793 Content-Type: application/json ``` Rate limit: **10 requests/second.** Sleep ~0.15s between paged calls. ## Object keys Records live in "objects" (tables), addressed by a key like `object_7`. The 12 most-used objects have their full field schemas documented at the bottom of this file. Other objects are fetched dynamically — see "Fetching schemas for other objects" below. | Object | Key | Documented below | |--------|-----|------------------| | Companies | `object_1` | yes | | Customers | `object_2` | yes | | Orders | `object_6` | yes | | Leads | `object_7` | yes | | Notes | `object_12` | yes | | POs | `object_24` | yes | | PO Line Items | `object_25` | yes | | Parts | `object_26` | yes | | Inventory History | `object_27` | yes | | Finished Goods | `object_28` | yes | | University | `object_55` | yes | | Artwork Requests | `object_56` | yes | Other objects (not documented here, fetch dynamically): Contacts `object_23`, Tasks `object_13`, Emails `object_50`, Trade Show `object_43`, Activations `object_35`, Tickets `object_19`, Order Line Items `object_10`, Draft Orders `object_11`, Support `object_37`, Payments `object_34`, PO Notes `object_49`, 1099 PMT `object_33`, BOM Line Items `object_30`, Kits `object_31`, INV Count `object_39`, Jobs `object_29`, Kit Jobs `object_40`, Assembly Jobs `object_41`, Print Jobs `object_42`, Printers `object_47`, Accounts `object_4`. ## Reading records Endpoint: `GET /v1/objects/{object_key}/records` Query parameters: - `rows_per_page` — up to 1000 (default 25). Use 1000. - `page` — 1-indexed. Response includes `total_pages` and `total_records`. - `filters` — URL-encoded JSON (see below). - `sort_field` / `sort_order` — e.g. `field_51` / `desc`. **Always paginate** until `page >= total_pages`. Don't assume one page covers it. ### Filters `filters` is a URL-encoded JSON object: ```json {"match":"and","rules":[ {"field":"field_51","operator":"is after","value":"02/22/2026"}, {"field":"field_51","operator":"is before","value":"05/20/2026"} ]} ``` Common operators: `is`, `is not`, `is after`, `is before`, `is during the previous`, `contains`, `is blank`, `is not blank`, `higher than`, `lower than`. **Date filter format is `MM/DD/YYYY`.** `is after`/`is before` are exclusive — widen the range by one day on each side to make it inclusive. ### Field value format Each field appears twice in a record: `field_NN` (display string) and `field_NN_raw` (structured). Use `_raw` for reliable parsing. - **Date fields**: `_raw` is an object. Use `iso_timestamp` (UTC midnight of the Knack date) for the calendar date — slice `[:10]` to get `YYYY-MM-DD`. `proper_iso_timestamp` is timezone-shifted; avoid it for date bucketing. - **Connection fields**: `_raw` is an array of `{id, identifier}`. The `identifier` is a human label, often `"Name - email"`. - **Currency**: `_raw` is a plain number; the display string has `$` and commas. - **Multiple choice**: `_raw` may be a string or an array. ## Standard workflow 1. If the object is one of the 12 documented below, use its field keys directly. Otherwise fetch its schema first (see next section). 2. Write a short Python script (`urllib`, no extra deps) that paginates through the object with any needed filters, sleeping ~0.15s between pages. 3. Run it with `bash_tool`. Parse `_raw` values. Save intermediate JSON to `/tmp` if it will be reused. 4. Verify the result count looks sane (compare against `total_records` from the response). ## Example: pull records in a date window ```python import urllib.request, urllib.parse, json, time APP_ID = '631a413e5e827900218d779d' API_KEY = '4505efcf-b2df-4195-afd6-58c883ba0793' BASE = 'https://api.knack.com/v1/objects/object_7/records' hdr = {'X-Knack-Application-Id': APP_ID, 'X-Knack-REST-API-Key': API_KEY} filters = json.dumps({"match":"and","rules":[ {"field":"field_51","operator":"is after","value":"02/22/2026"}, {"field":"field_51","operator":"is before","value":"05/20/2026"} ]}) records, page = [], 1 while True: qs = urllib.parse.urlencode({'rows_per_page':1000,'page':page,'filters':filters}) d = json.load(urllib.request.urlopen(urllib.request.Request(BASE+'?'+qs, headers=hdr))) records += d['records'] if page >= d['total_pages']: break page += 1 time.sleep(0.15) ``` ## Fetching schemas for other objects For any object NOT in the 12 documented below, fetch its field schema at runtime. Two ways: **Single object** — `GET /v1/objects/{object_key}` returns that object with its `fields` array (each field has `key`, `name`, `type`): ```python import urllib.request, json hdr = {'X-Knack-Application-Id': '631a413e5e827900218d779d', 'X-Knack-REST-API-Key': '4505efcf-b2df-4195-afd6-58c883ba0793'} url = 'https://api.knack.com/v1/objects/object_23' # Contacts o = json.load(urllib.request.urlopen(urllib.request.Request(url, headers=hdr))) for f in o['object']['fields']: print(f['key'], f['name'], f['type']) ``` **All objects at once** — `GET /v1/applications/631a413e5e827900218d779d` returns `application.objects`, an array of every object with its full `fields` list. Useful for discovering object keys or refreshing everything. Quicker still for a one-off: pull a single record (`rows_per_page=1`) and inspect which `field_NN` keys are present. ## Notable gotchas - The Leads object (`object_7`) has several date fields. `field_51` is **Created**, `field_53` is **Closed**, `field_52` is **Updated**, `field_59` is **Required Date** (a future target, not creation). Use `field_51` for "leads generated per day". - Leads, orders, etc. are created when staff log them, so weekends are usually empty — a data-entry artifact, not a demand signal. Aggregate by complete week when looking for trends. - Connection-field identifiers in the form `"Name - email"` may need splitting to join to other data. - Writing records (`POST`/`PUT`/`DELETE`) is possible but out of scope here — confirm with Eric before any write. --- # Field schemas — 12 core objects Each row: **field key** | name | type. Use the field *key* (e.g. `field_51`) in API filters and when reading `_raw` values. ## Customers (`object_2`) | Field | Name | Type | |-------|------|------| | `field_34` | Name | name | | `field_11` | Email | email | | `field_13` | Phone | phone | | `field_14` | Address | address | | `field_16` | Notes | paragraph_text | | `field_35` | Tags | short_text | | `field_36` | Tax Exempt | boolean | | `field_76` | Number of Orders | count | | `field_138` | Update | short_text | | `field_17` | Company | connection | | `field_141` | Type | multiple_choice | | `field_142` | Total Revenue | sum | | `field_146` | Created | date_time | | `field_147` | Updated | date_time | | `field_154` | Role | short_text | | `field_206` | DFG | boolean | | `field_207` | DFP | boolean | | `field_167` | DFG Shopify Customer ID | short_text | | `field_217` | DFP Shopify Customer ID | short_text | | `field_236` | CRM Only | boolean | | `field_545` | Last Touch | min | | `field_796` | Key | concatenation | | `field_804` | Event Revenue | sum | | `field_805` | Retail Revenue | sum | | `field_806` | Promotional Revenue | sum | | `field_980` | Retail Orders | count | | `field_998` | Event Orders | count | | `field_982` | Promo Orders | count | | `field_994` | Samples | count | | `field_987` | Blank Order Type | count | | `field_990` | Last Order Num | max | | `field_991` | Last Order Date | equation | | `field_1005` | Company Name | concatenation | | `field_1008` | Company Orders | equation | | `field_1212` | Carrier Account # | concatenation | | `field_1213` | Carrier | concatenation | | `field_1264` | Record ID | short_text | ## Companies (`object_1`) | Field | Name | Type | |-------|------|------| | `field_1` | Companies Name | short_text | | `field_4` | Type | multiple_choice | | `field_3` | Website | link | | `field_5` | Description | paragraph_text | | `field_6` | Phone | phone | | `field_7` | Address | address | | `field_8` | Notes | paragraph_text | | `field_139` | Tags | short_text | | `field_145` | Update | short_text | | `field_204` | DFG | boolean | | `field_205` | DFP | boolean | | `field_223` | Created | date_time | | `field_224` | Updated | date_time | | `field_407` | Potential Lead Revenue | sum | | `field_143` | Revenue | sum | | `field_144` | Orders | sum | | `field_408` | Active Lead Count | count | | `field_591` | Total Spend | sum | | `field_592` | Total Orders | count | | `field_930` | Sales Tax Certificate | file | | `field_931` | W9 | file | | `field_967` | Open PO Value | sum | | `field_968` | Open POs | count | | `field_986` | Retail Revenue | sum | | `field_1003` | Promo Revenue | sum | | `field_999` | Retail Orders | sum | | `field_1000` | Promo Orders | sum | | `field_1001` | Event Orders | sum | | `field_992` | Last Order Num | max | | `field_993` | Last Order Date | equation | | `field_997` | Last Order | equation | | `field_1002` | Samples | sum | | `field_1004` | Event Revenue | sum | | `field_1206` | Prefered Carrier | short_text | | `field_1207` | Carrier Account # | short_text | | `field_1208` | Shipping Instuctions | file | | `field_1223` | Payment Terms | multiple_choice | | `field_1224` | Invoice Email | email | | `field_1263` | Record ID | short_text | ## Orders (`object_6`) | Field | Name | Type | |-------|------|------| | `field_42` | Order Date | date_time | | `field_394` | Required Date | date_time | | `field_39` | Order # | short_text | | `field_152` | Order Name | short_text | | `field_43` | Order Amount | currency | | `field_395` | Custom | boolean | | `field_227` | Order Type | multiple_choice | | `field_1244` | Shipping Address | address | | `field_808` | Customer Type | concatenation | | `field_153` | Order URL | link | | `field_502` | Payment Terms | short_text | | `field_504` | Payment Due Date | date_time | | `field_225` | Shopify Order ID | short_text | | `field_226` | Tags | short_text | | `field_218` | Store | multiple_choice | | `field_391` | Requested Carrier | multiple_choice | | `field_392` | Carrier Account # | short_text | | `field_514` | Carrier Account Zip Code | short_text | | `field_1204` | Ship After Date | date_time | | `field_953` | Customer PO | short_text | | `field_890` | Purchase Order | file | | `field_484` | Payment Status | short_text | | `field_485` | Fulfillment Status | short_text | | `field_486` | Tracking # | short_text | | `field_487` | Tracking Link | link | | `field_488` | Shipment Status | short_text | | `field_505` | DTD | equation | | `field_787` | On Hold | boolean | | `field_393` | Notes | paragraph_text | | `field_899` | QR Code | image | | `field_1078` | Lead Origin | concatenation | | `field_41` | Customer | connection | | `field_178` | Draft Order | connection | | `field_328` | PO | connection | | `field_880` | Affiliate | connection | | `field_807` | Lead | connection | | `field_1079` | Lead Origin Details | concatenation | | `field_1230` | Kit Jobs | connection | | `field_1082` | Owner | concatenation | | `field_882` | Affiliate Paid | boolean | | `field_883` | Affiliate Paid Amount | currency | | `field_885` | Affiliate Rate | number | | `field_886` | Affiliate Due | equation | | `field_1006` | Company Name | concatenation | | `field_1009` | Company Orders | equation | | `field_1010` | Gross Sales | currency | | `field_1011` | Discounts | currency | | `field_1012` | Cost | currency | | `field_1013` | Margin % | equation | | `field_1014` | Discount % | equation | | `field_989` | Numerical Date | equation | | `field_222` | Order Month | equation | | `field_1086` | Year | equation | | `field_1104` | Order Date YYYY | equation | | `field_1105` | Order Date MM | equation | | `field_1106` | Order Date YYYY.MM | equation | | `field_1225` | Raw Order Data | paragraph_text | | `field_1226` | Line Items | paragraph_text | | `field_509` | POs Active | sum | | `field_507` | Prints Active | sum | | `field_1233` | Kit Jobs Active | sum | | `field_511` | Assemblies Active | sum | | `field_889` | Key | concatenation | | `field_221` | Update | short_text | | `field_1245` | Override Shipping Address | boolean | | `field_1246` | Override Shipping Method | boolean | | `field_1247` | DFGWS | boolean | | `field_1252` | Draft URL | link | | `field_1265` | Record ID | short_text | | `field_1311` | Invoice | link | | `field_1324` | PGATSS Carton Labels | file | | `field_1325` | PGATSS Picklist | file | ## Leads (`object_7`) | Field | Name | Type | |-------|------|------| | `field_402` | ID | concatenation | | `field_44` | Lead Name | short_text | | `field_59` | Required Date | date_time | | `field_875` | Lead Detail | paragraph_text | | `field_82` | Order Details | paragraph_text | | `field_1062` | Products | multiple_choice | | `field_86` | Type | multiple_choice | | `field_50` | Estimated Value | currency | | `field_56` | Likelyhood | rating | | `field_77` | Pipeline Status | multiple_choice | | `field_57` | Age | equation | | `field_1083` | Tags | multiple_choice | | `field_70` | Days Till Due | equation | | `field_87` | Quantity | number | | `field_54` | Open | boolean | | `field_58` | Order | connection | | `field_88` | Invoice | connection | | `field_49` | Customer | connection | | `field_55` | Company | connection | | `field_51` | Created | date_time | | `field_52` | Updated | date_time | | `field_53` | Closed | date_time | | `field_172` | Won/Lost/Open | multiple_choice | | `field_175` | Notes | connection | | `field_199` | Lead Origin | multiple_choice | | `field_1007` | Lead Origin Details | multiple_choice | | `field_219` | Closed Month Name | concatenation | | `field_235` | Update | short_text | | `field_396` | Follow Up | boolean | | `field_399` | Follow Up Date | date_time | | `field_1084` | Followup Age | equation | | `field_401` | Auto Increment | auto_increment | | `field_403` | Note Text | concatenation | | `field_788` | Owner | connection | | `field_795` | Key | concatenation | | `field_837` | Draft Order | connection | | `field_879` | Affiliate | connection | | `field_1077` | Lead Revenue | sum | | `field_1081` | Owner Initials | concatenation | | `field_1098` | Closed Y.M | equation | | `field_1099` | Created Y.M | equation | | `field_1100` | Created MM | equation | | `field_1101` | Created YYYY | equation | | `field_1102` | Closed YYYY | equation | | `field_1103` | Closed MM | equation | | `field_1267` | Record ID | short_text | ## Notes (`object_12`) | Field | Name | Type | |-------|------|------| | `field_89` | Title | short_text | | `field_90` | Date | date_time | | `field_91` | Details | paragraph_text | | `field_93` | From | short_text | | `field_95` | To | short_text | | `field_96` | Type | short_text | | `field_92` | Customer | connection | | `field_202` | Account | connection | | `field_346` | Contact | connection | | `field_201` | Update | short_text | | `field_446` | PO | connection | | `field_517` | Age | equation | | `field_1269` | Record ID | short_text | ## POs (`object_24`) | Field | Name | Type | |-------|------|------| | `field_331` | ID | concatenation | | `field_249` | Name | short_text | | `field_250` | Company | connection | | `field_251` | Contact | connection | | `field_955` | Copy | connection | | `field_252` | Status | multiple_choice | | `field_444` | SubTotal | sum | | `field_333` | Total Amount | sum | | `field_425` | Payments | sum | | `field_279` | Budgeted Amount | currency | | `field_427` | Balance Due | equation | | `field_259` | Payment Status | multiple_choice | | `field_253` | Created | date_time | | `field_254` | Updated | date_time | | `field_255` | Due | date_time | | `field_978` | Shipment Due | date_time | | `field_590` | Paid On | date_time | | `field_256` | Recieved | date_time | | `field_280` | Notes | paragraph_text | | `field_283` | Shipping Method | multiple_choice | | `field_336` | Account | connection | | `field_340` | Open | boolean | | `field_437` | Summary | short_text | | `field_438` | Ordered By | connection | | `field_248` | Auto Increment | auto_increment | | `field_332` | Update | short_text | | `field_508` | POs Open | number | | `field_589` | Invoice | file | | `field_794` | Key | concatenation | | `field_898` | Image | image | | `field_925` | Notes to Vendor | paragraph_text | | `field_943` | PR Sent | date_time | | `field_971` | Vendor | connection | | `field_972` | Vendor Notes | rich_text | | `field_976` | Age | equation | | `field_977` | Days Till Due | equation | | `field_1279` | Record ID | short_text | ## PO Line Items (`object_25`) | Field | Name | Type | |-------|------|------| | `field_430` | ID | concatenation | | `field_428` | Type | multiple_choice | | `field_274` | Part | connection | | `field_472` | Finished Good | connection | | `field_473` | Part Display | concatenation | | `field_266` | Quantity | number | | `field_334` | Unit Price | number | | `field_267` | Total Line Item Cost | equation | | `field_433` | Received | boolean | | `field_769` | Amount Recieved | number | | `field_770` | Total Recieved | number | | `field_434` | Received Status | multiple_choice | | `field_771` | Remaining Recieved | equation | | `field_264` | Created | date_time | | `field_275` | PO | connection | | `field_299` | Inventory History | connection | | `field_435` | Note Field | concatenation | | `field_436` | Received By | connection | | `field_439` | Update Inventory | boolean | | `field_442` | Landed Unit Cost | equation | | `field_445` | Landed Unit Cost Display | currency | | `field_471` | Total Landed Cost | equation | | `field_474` | Part Name | concatenation | | `field_475` | FG Name | concatenation | | `field_440` | Update | short_text | | `field_429` | Auto Increment | auto_increment | | `field_774` | Next Total Received Calculated | equation | | `field_775` | Next Remaining Recieved | equation | | `field_877` | PO Line Item | connection | | `field_888` | Order | connection | | `field_907` | Part Type | concatenation | | `field_908` | PR Display Name | concatenation | | `field_926` | Artwork | file | | `field_973` | Completion Date | date_time | | `field_974` | Produced | number | | `field_975` | Remaining | equation | | `field_1238` | Detail | short_text | | `field_1280` | Record ID | short_text | ## Parts (`object_26`) | Field | Name | Type | |-------|------|------| | `field_330` | ID | concatenation | | `field_269` | Auto Increment | auto_increment | | `field_273` | Part Name | concatenation | | `field_272` | Type | multiple_choice | | `field_311` | Logo | multiple_choice | | `field_270` | Color | multiple_choice | | `field_271` | Version | short_text | | `field_380` | Source Part | connection | | `field_281` | Note | paragraph_text | | `field_293` | Incoming | sum | | `field_295` | Additions | sum | | `field_296` | Subtractions | sum | | `field_297` | On Hand | equation | | `field_298` | Update | short_text | | `field_300` | Lead Time (months) | number | | `field_301` | Re-Order Threshold | number | | `field_302` | Reorder | equation | | `field_342` | Part Name Cleaned Up | concatenation | | `field_343` | Active | boolean | | `field_350` | Source | multiple_choice | | `field_468` | Total Ordered | sum | | `field_469` | Total Landed Cost | sum | | `field_470` | Average Landed Cost | equation | | `field_560` | Print Pay Rate | currency | | `field_1019` | 2023 EoY COGS | currency | | `field_766` | 3 Month Usage | sum | | `field_767` | Last 3 Months Per Month | equation | | `field_768` | Months of Supply | equation | | `field_586` | 2022 Inventory | sum | | `field_783` | 2022 Inventory Value | equation | | `field_1015` | 2023 Inventory | sum | | `field_1020` | 2023 Inv Value | equation | | `field_1175` | 2024 Inventory | sum | | `field_1176` | 2024 EoY COGS | currency | | `field_1177` | 2024 Inv Value | equation | | `field_784` | Reorder Threshold | equation | | `field_876` | Filter 1 | multiple_choice | | `field_949` | Vendor | connection | | `field_969` | Parts Per Box | number | | `field_970` | Shipping Details | paragraph_text | | `field_1064` | Cost | number | | `field_1091` | Print Time | number | | `field_1169` | Sum Value | boolean | | `field_1168` | Current Value | equation | | `field_1183` | Inv Delta | equation | | `field_1253` | 2025 Inventory | sum | | `field_1261` | Quantity | sum | | `field_1281` | Record ID | short_text | ## Finished Goods (`object_28`) | Field | Name | Type | |-------|------|------| | `field_304` | SKU | short_text | | `field_305` | Name | short_text | | `field_897` | Status | multiple_choice | | `field_308` | Additions | sum | | `field_309` | Subtractions | sum | | `field_310` | On Hand | equation | | `field_348` | Source | multiple_choice | | `field_349` | Vendor | connection | | `field_1060` | Notes | paragraph_text | | `field_479` | Units Purchased | sum | | `field_480` | Total Landed Cost | sum | | `field_481` | Landed Unit Cost | equation | | `field_482` | Update | short_text | | `field_515` | Source Part | connection | | `field_571` | Assembly Pay Rate | currency | | `field_587` | 2022 Inventory | sum | | `field_781` | 2022 Inv Value | equation | | `field_1017` | 2023 EoY COGS | currency | | `field_1016` | 2023 Inventory | sum | | `field_1018` | 2023 Inv Value | equation | | `field_1178` | 2024 Inventory | sum | | `field_1179` | 2024 EoY COGS | currency | | `field_1180` | 2024 Inv Value | equation | | `field_597` | Part 1 | connection | | `field_598` | Part 2 | connection | | `field_616` | Part 3 | connection | | `field_618` | Part 4 | connection | | `field_619` | Part 5 | connection | | `field_620` | Part 6 | connection | | `field_621` | Part 7 | connection | | `field_622` | Part 8 | connection | | `field_617` | Part 9 | connection | | `field_641` | Part 10 | connection | | `field_640` | Part 11 | connection | | `field_605` | Quantity 1 | number | | `field_606` | Quantity 2 | number | | `field_609` | Quantity 3 | number | | `field_610` | Quantity 4 | number | | `field_611` | Quantity 5 | number | | `field_612` | Quantity 6 | number | | `field_613` | Quantity 7 | number | | `field_614` | Quantity 8 | number | | `field_615` | Quantity 9 | number | | `field_642` | Quantity 10 | number | | `field_643` | Quantity 11 | number | | `field_648` | Kit | connection | | `field_793` | Key | concatenation | | `field_812` | Shopify Inventory ID | short_text | | `field_814` | Image | image | | `field_841` | FG 1 | connection | | `field_842` | FG 2 | connection | | `field_843` | FG 3 | connection | | `field_844` | FG 4 | connection | | `field_845` | FG Quantity 1 | number | | `field_846` | FG Quantity 2 | number | | `field_847` | FG Quantity 3 | number | | `field_848` | FG Quantity 4 | number | | `field_868` | Units Per Kit | equation | | `field_870` | Total Inventory | equation | | `field_878` | Finished Good | connection | | `field_891` | Last 3 Months | sum | | `field_892` | Monthly Usage | equation | | `field_893` | Months of Supply | equation | | `field_894` | Production Time | number | | `field_895` | Inv Ok | equation | | `field_896` | Incomming | sum | | `field_1090` | Kit Effort | number | | `field_1093` | Print Time | number | | `field_1129` | License | multiple_choice | | `field_1130` | University | connection | | `field_1131` | License Proof | file | | `field_1132` | License Status | multiple_choice | | `field_1133` | Thumbnail | image | | `field_1181` | Value | equation | | `field_1182` | COGS | currency | | `field_1184` | Inv Delta | equation | | `field_1193` | Artwork 1 | short_text | | `field_1194` | Artwork 2 | short_text | | `field_1195` | Artwork 3 | short_text | | `field_1196` | Artwork 4 | short_text | | `field_1197` | Artwork 5 | short_text | | `field_1198` | Artwork 6 | short_text | | `field_1199` | Artwork 7 | short_text | | `field_1200` | Artwork 8 | short_text | | `field_1201` | Artwork 9 | short_text | | `field_1202` | Artwork 10 | short_text | | `field_1216` | Print Template | connection | | `field_1217` | Print Quantity | number | | `field_1227` | 30 Day Sales | sum | | `field_1234` | Assembly Jobs | sum | | `field_1235` | Tag | multiple_choice | | `field_1236` | Package | multiple_choice | | `field_1239` | Kit Jobs | sum | | `field_1254` | 2025 Inventory | sum | | `field_1262` | Quantity | sum | | `field_1283` | Record ID | short_text | | `field_1309` | Inventory Tracking | multiple_choice | ## Inventory History (`object_27`) | Field | Name | Type | |-------|------|------| | `field_329` | ID | concatenation | | `field_289` | Date | date_time | | `field_286` | Part | connection | | `field_307` | Finished Good | connection | | `field_360` | Kit | connection | | `field_287` | Add | number | | `field_288` | Subtract | number | | `field_803` | Quantity | equation | | `field_290` | Note | short_text | | `field_291` | Details | paragraph_text | | `field_294` | Auto Increment | auto_increment | | `field_776` | Owner | connection | | `field_813` | Shopify Inventory ID | concatenation | | `field_1259` | Active | boolean | | `field_1260` | Update | short_text | | `field_1282` | Record ID | short_text | ## University (`object_55`) | Field | Name | Type | |-------|------|------| | `field_1107` | Name | short_text | | `field_1108` | Abbreviation | short_text | | `field_1117` | Conference | multiple_choice | | `field_1116` | Alumni | number | | `field_1118` | Royalty | number | | `field_1119` | Royalty Note | short_text | | `field_1120` | Advance | number | | `field_1122` | University Notes | paragraph_text | | `field_1109` | Approving Body | multiple_choice | | `field_1125` | CLC Rank | number | | `field_1110` | Phase | number | | `field_1111` | Application Status | multiple_choice | | `field_1124` | Logos | boolean | | `field_1112` | Created | date_time | | `field_1113` | Updated | date_time | | `field_1114` | Application Date | date_time | | `field_1115` | Approval Date | date_time | | `field_1121` | Advance Note | short_text | | `field_1123` | Application Notes | paragraph_text | | `field_1126` | Logo | image | | `field_1128` | Official Logo Options | link | | `field_1157` | Artwork Approved | count | | `field_1158` | Artwork Denied | count | | `field_1159` | Artwork | count | | `field_1166` | Contacts | connection | | `field_1167` | Company | connection | | `field_1218` | Products | count | | `field_1219` | LSG | file | | `field_1222` | Min Rev | equation | | `field_1306` | Record ID | short_text | ## Artwork Requests (`object_56`) | Field | Name | Type | |-------|------|------| | `field_1148` | Display Field | concatenation | | `field_1136` | ID | concatenation | | `field_1135` | Auto Increment | auto_increment | | `field_1137` | Created | date_time | | `field_1138` | Submitted | date_time | | `field_1139` | Decsion | date_time | | `field_1140` | Finished Good | connection | | `field_1141` | University | connection | | `field_1142` | License Body | multiple_choice | | `field_1143` | Status | multiple_choice | | `field_1144` | Product | multiple_choice | | `field_1145` | Color | multiple_choice | | `field_1162` | SKU | short_text | | `field_1146` | Proof | file | | `field_1147` | Logos Used | short_text | | `field_1149` | Notes | paragraph_text | | `field_1160` | Sample | multiple_choice | | `field_1150` | Physical Sample Required | boolean | | `field_1151` | Changes Required | boolean | | `field_1161` | FG Template | connection | | `field_1163` | Product Name | concatenation | | `field_1164` | FG | concatenation | | `field_1307` | Record ID | short_text |