Loading...
Loading...
Defines Steedos object data models using YAML. Objects represent database tables with fields, permissions, list views, and behaviors. Use this skill to create and configure objects, define fields, set up relationships, configure feature flags, and establish naming conventions. Modern format uses separate .field.yml, .listview.yml, .permission.yml, .button.yml files in subfolders.
npx skill4agent add steedos/steedos-platform objects.object.yml.object.ymlsteedos-packages/
└── my-package/
└── main/default/
└── objects/
└── orders/
├── orders.object.yml # Object definition
├── fields/ # Field definitions
│ ├── order_number.field.yml
│ ├── customer.field.yml
│ ├── status.field.yml
│ └── total_amount.field.yml
├── listviews/ # List view definitions
│ ├── all.listview.yml
│ ├── my_orders.listview.yml
│ └── pending.listview.yml
├── permissions/ # Permission definitions
│ ├── user.permission.yml
│ └── admin.permission.yml
└── buttons/ # Button definitions
├── submit_order.button.yml
└── standard_delete.button.ymlmain/default/
├── triggers/
│ └── orders_validate.trigger.yml
└── functions/
└── approve_order.function.yml# objects/products/products.object.yml
name: products
label: 产品
custom: truenamename# objects/products/fields/name.field.yml
name: name
type: text
label: 产品名称
required: true
searchable: true# objects/orders/orders.object.yml
name: orders
label: 订单
icon: orders
custom: true
version: 2
is_enable: true
enable_search: true
enable_files: true
enable_api: true
enable_audit: true
enable_trash: true
enable_enhanced_lookup: true
enable_inline_edit: true
enable_dataloader: true| Property | Type | Required | Description |
|---|---|---|---|
| string | Yes | Object API name (snake_case) |
| string | Yes | Display label (use the language of the user's prompt) |
| string | No | MUST be a value from the Valid Icon Values list below. Do NOT invent icon names. |
| boolean | No | Mark as custom object |
| number | No | Object schema version |
| boolean | No | Object is active |
| Property | Type | Default | Description |
|---|---|---|---|
| boolean | true | Enable global search |
| boolean | false | Enable file attachments |
| boolean | true | Enable API access |
| boolean | false | Enable field history tracking |
| boolean | true | Enable recycle bin |
| boolean | true | Enhanced lookup UI |
| boolean | false | Inline editing in list views |
| boolean | false | Bulk operation support |
| boolean | false | Workflow support |
| boolean | false | Record locking |
# objects/orders/orders.object.yml
field_groups:
- group_name: Basic Information
- group_name: Shipping Details
collapsed: true
- group_name: Approval Info
collapsed: true
visible_on: "{{status != 'draft'}}"namenamename: name# objects/products/fields/name.field.yml
name: name
type: text
label: 产品名称
required: true
searchable: true
index: trueis_name: trueis_name: trueis_name: trueis_name: true# objects/orders/fields/order_number.field.yml
name: order_number
type: autonumber
label: 订单号
formula: 'ORD-{YYYY}{MM}{DD}-{0000}'
is_name: true
readonly: true
sort_no: 100# objects/permission_objects/fields/permission_set.field.yml
name: permission_set
type: master_detail
label: 权限集
reference_to: permission_set
required: true
is_name: trueis_name: truenameis_name: truename| Field | Type | Description |
|---|---|---|
| text | Record ID (primary key) |
| text | Record name/title (see Name Field section above) |
| lookup → users | Record owner |
| lookup → spaces | Workspace ID |
| datetime | Creation date |
| lookup → users | Creator |
| datetime | Last modified date |
| lookup → users | Last modifier |
| lookup → company | Primary company |
| lookup → company (multiple) | Associated companies |
# objects/orders/orders.object.yml
name: orders
label: 订单
icon: orders
custom: true
version: 2
is_enable: true
enable_search: true
enable_files: true
enable_api: true
enable_audit: true
enable_trash: true
enable_enhanced_lookup: true
field_groups:
- group_name: Basic Information
- group_name: Financial
- group_name: Shipping
collapsed: true# objects/orders/fields/order_number.field.yml
name: order_number
type: autonumber
label: 订单号
formula: 'ORD-{YYYY}{MM}{DD}-{0000}'
is_name: true
readonly: true
sort_no: 100# objects/orders/fields/customer.field.yml
name: customer
type: lookup
label: 客户
reference_to: customers
required: true
index: true
sort_no: 200# objects/orders/fields/status.field.yml
name: status
type: select
label: 状态
required: true
index: true
sort_no: 300
options:
- label: 草稿
value: draft
- label: 已提交
value: submitted
- label: 已批准
value: approved
- label: 已完成
value: completed
- label: 已取消
value: cancelled# objects/orders/fields/total_amount.field.yml
name: total_amount
type: currency
label: 总金额
scale: 2
readonly: true
group: Financial
sort_no: 400# objects/orders/listviews/all.listview.yml
name: all
label: 所有订单
is_enable: true
shared: true
filter_scope: space
crud_mode: table
columns:
- field: order_number
- field: customer
- field: total_amount
- field: status
- field: created
sort:
- field_name: created
order: desc
searchable_fields:
- field: order_number
- field: customer# objects/orders/permissions/user.permission.yml
name: orders.user
permission_set_id: user
allowCreate: true
allowRead: true
allowEdit: true
allowDelete: false
viewAllRecords: true
modifyAllRecords: false# objects/orders/buttons/submit_order.button.yml
name: submit_order
label: 提交
type: amis_button
on: record_only
is_enable: true
visible: true
amis_schema: |-
{
"type": "button",
"label": "Submit",
"level": "primary",
"visibleOn": "${status == 'draft'}",
"onEvent": {
"click": {
"actions": [
{
"actionType": "ajax",
"api": {
"url": "/api/v1/orders/functions/submit_order",
"method": "post",
"requestAdaptor": "api.data = { id: api.body.recordId }",
"messages": { "success": "Order submitted" }
}
},
{ "actionType": "broadcast", "args": { "eventName": "steedos:record:reload" } }
]
}
}
}# Object names: lowercase, plural, underscores for multi-word
name: customers # Good
name: sales_orders # Good
name: SalesOrders # Bad - no CamelCase
name: sales-orders # Bad - no hyphens
# Field names: lowercase, underscores
customer_name # Good
orderDate # Bad - no camelCaseiconcustomrecordiconicon_sldsiconicon_sldsiconcustomrecord| Category | Recommended Icons |
|---|---|
| CRM/Sales | |
| Contracts | |
| Projects | |
| HR/People | |
| Finance | |
| Content | |
| Products | |
| Orders | |
| Dashboard | |
| Admin | |
| Communication | |
| Approval | |
| Location | |
| Quality/Inspection 质检巡检 | |
| Equipment/Maintenance 设备维保 | |
| Service 服务 | |
| Generic | |
customrecordiconicon_sldsiconicon_sldsaccountaccount_infoaction_list_componentactions_and_buttonsactivation_targetactivationsaddressagent_homeagent_sessionaggregation_policyallannouncementanswer_bestanswer_privateanswer_publicapexapex_pluginappapprovalappsapps_adminarticleasset_actionasset_action_sourceasset_auditasset_downtime_periodasset_objectasset_relationshipasset_state_periodasset_warrantyassigned_resourceassignmentattachavataravatar_loadingbotbot_trainingbranch_mergebrandbudgetbudget_allocationbundle_configbundle_policybusiness_hoursbuyer_accountbuyer_groupcalculated_insightscalibrationcallcall_coachingcall_historycampaigncampaign_memberscancel_checkoutcanvascapacity_plancare_request_reviewercarouselcasecase_change_statuscase_commentcase_emailcase_log_a_callcase_milestonecase_transcriptcase_wrap_upcatalogcategorychange_requestchannel_program_historychannel_program_levelschannel_program_memberschannel_programschartcheckoutchoiceclientcmscoachingcode_playgroundcode_setcode_set_bundlecollectioncollection_variableconnected_appsconstantcontactcontact_listcontact_requestcontractcontract_line_itemcontract_paymentcoupon_codescurrencycurrency_inputcustomcustom_component_taskcustom_notificationcustomer_360customer_lifecycle_analyticscustomer_portal_userscustomersdashboarddashboard_componentdashboard_eadata_integration_hubdata_mappingdata_modeldata_streamsdatadotcomdatasetdate_inputdate_timedecisiondefaultdelegated_accountdevicediscountsdisplay_rich_textdisplay_textdocumentdocument_referencedraftsduration_downscaledynamic_record_choiceeducationeinstein_repliesemailemail_chatteremployeeemployee_assetemployee_contactemployee_jobemployee_job_positionemployee_organizationemptyendorsemententitlemententitlement_policyentitlement_processentitlement_templateentityentity_milestoneenvironment_hubeventeventsexpenseexpense_reportexpense_report_entryfeedfeedbackfield_salesfilefilterfilter_criteriafilter_criteria_rulefirst_non_emptyflowfolderforecastsformformulafulfillment_ordergeneric_loadingglobal_constantgoalsgroup_loadinggroupsguidance_centerhierarchyhigh_velocity_saleshistorical_adherenceholiday_operating_hourshomehouseholdidentifierimmunizationincidentindividualinsightsinstore_locationsinvestment_accountinvocable_actioniot_contextiot_orchestrationsjavascript_buttonjob_familyjob_positionjob_profilekanbankey_datesknowledgeleadlead_insightslead_listletterheadlightning_componentlightning_usagelinklist_emaillive_chatlive_chat_visitorlocationlocation_permitlog_a_callloggingloopmacrosmaintenance_assetmaintenance_planmaintenance_work_rulemarketing_actionsmed_rec_recommendationmed_rec_statement_recommendationmedicationmedication_dispensemedication_ingredientmedication_reconciliationmedication_statementmergemessaging_conversationmessaging_sessionmessaging_usermetricsmulti_picklistmulti_select_checkboxnetwork_contractnewsnotenumber_inputobservation_componentomni_supervisoroperating_hoursopportunityopportunity_contact_roleopportunity_splitsorchestratororder_itemordersoutcomeoutputpartner_fund_allocationpartner_fund_claimpartner_fund_requestpartner_marketing_budgetpartnerspasswordpast_chatpatient_medication_dosagepayment_gatewaypeopleperformanceperson_accountperson_languageperson_namephotopicklist_choicepicklist_typeplanogrampollportalportal_rolesportal_roles_and_subordinatespostpractitioner_roleprice_book_entriesprice_bookspricebookpricing_workspaceproblemprocedureprocedure_detailprocessprocess_exceptionproductproduct_consumedproduct_consumed_stateproduct_itemproduct_item_transactionproduct_quantity_rulesproduct_requestproduct_request_line_itemproduct_requiredproduct_service_campaignproduct_service_campaign_itemproduct_transferproduct_transfer_stateproduct_warranty_termproduct_workspaceproductspromotion_segmentspromotionspromotions_workspacepropagation_policypropositionqualificationsquestion_bestquestion_feedqueuequick_textquipquip_sheetquotesradio_buttonread_receiptsrecentreciperecordrecord_createrecord_deleterecord_lookuprecord_signature_taskrecord_updaterecycle_binrelated_listrelationshipreply_textreportreport_typeresource_absenceresource_capacityresource_preferenceresource_skillrestriction_policyreturn_orderreturn_order_line_itemrewardrtc_presencesales_cadencesales_cadence_targetsales_channelsales_pathsales_valuesalesforce_cmsscan_cardschedule_objectivescheduling_constraintscheduling_policyscreensearchsectionsegmentsselling_modelserialized_productserialized_product_transactionservice_appointmentservice_appointment_capacity_usageservice_contractservice_crewservice_crew_memberservice_reportservice_requestservice_request_detailservice_resourceservice_territoryservice_territory_locationservice_territory_memberservice_territory_policysettingsshiftshift_patternshift_pattern_entryshift_preferenceshift_scheduling_operationshift_templateshift_typeshipmentskillskill_entityskill_requirementslackslidersmssnippetsnippetssobjectsobject_collectionsocialsolutionsortsort_policysossessionstagestage_collectionstepsstorestore_groupstorystrategysurveyswarm_requestswarm_sessionsystem_and_global_variabletableautasktask2team_membertemplatetexttext_templatetextareatextboxthanksthanks_loadingtimesheettimesheet_entrytimeslottodaytoggletopictopic2tourtour_checktrailheadtrailhead_alttravel_modeunified_health_scoreunmatcheduseruser_rolevariablevariation_attribute_setupvariation_productsvideovisit_templatesvisitsvisualforce_pagevoice_callwaitswarranty_termwebcartwork_capacity_limitwork_capacity_usagework_contractwork_forecastwork_orderwork_order_itemwork_planwork_plan_rulework_plan_templatework_plan_template_entrywork_queuework_stepwork_step_templatework_typework_type_groupworkforce_engagement# CRM object
name: accounts
icon: account
# Order management
name: orders
icon: orders
# HR object
name: employees
icon: employee
# Approval process
name: process_definition
icon: approval
# Custom settings
name: app_settings
icon: settingsnameis_name: truelabelindex: trueiconcustomrecordobservation_componentvisitsmaintenance_assetwork_orderapprovalorderscustomersproducts