applications
Steedos Applications | Steedos 应用程序
Overview | 概述
A Steedos application is a container that groups related objects, pages, and functionality together. Applications appear in the navigation menu and provide organized access to features.
Steedos 应用程序是一个容器,将相关的对象、页面和功能组合在一起。应用程序显示在导航菜单中,提供对功能的有组织访问。
File Format | 文件格式
- File Extension:
.app.yml - Location:
main/default/applications/ - Format: YAML
- Naming:
[app_code].app.yml
Basic Structure | 基本结构
name: Application Name
code: app_code
description: Application description
icon_slds: icon_name
color: blue
is_creator: true
showSidebar: true
mobile: true
visible: true
sort: 100
tabs:
- object1
- object2
tab_items:
object1:
group: ''
index: 1
object2:
group: ''
index: 2
Field Reference | 字段参考
Required Fields | 必需字段
name (String)
Application display name shown in the UI.
name: Contract Management
code (String)
Unique identifier for the application (API name).
code: contracts
tabs (Array) — REQUIRED
List of tab names for the application's sidebar navigation. This field is required — without it, the application menu will not display.
应用程序侧边栏导航的标签页名称列表。此字段为必需 — 没有它,应用程序菜单将无法显示。
Each entry is either a tab name (matching a .tab.yml file) or an object API name (implicit object tab).
tabs:
- contracts
- contract_items
- page_custom_dashboard
Optional Fields | 可选字段
_id (String)
Explicit ID for the application. If not provided, uses code.
_id: contracts
description (String)
Description of the application's purpose.
description: Manage contracts and agreements
showSidebar (Boolean)
Always set to true. Controls whether the sidebar navigation is shown. Required for tabs/tab_items/tab_groups to display properly.
始终设置为 true。控制是否显示侧边栏导航。tabs/tab_items/tab_groups 需要此设置才能正确显示。
showSidebar: true
color (String)
Application theme color. Must be one of the following values:
应用程序主题颜色。必须是以下值之一:
| Value | Color |
|---|---|
red |
Red |
orange |
Orange |
yellow |
Yellow |
green |
Green |
teal |
Teal |
cyan |
Cyan |
blue |
Blue |
pink |
Pink |
purple |
Purple |
gray |
Gray |
Default: sky
color: blue
color: teal
color: purple
dark (Boolean)
Whether the application uses a dark theme for the sidebar.
dark: true
mobile (Boolean)
Whether the application is available on mobile devices.
mobile: true
icon_slds (String)
⚠️ MUST be a value from the Valid icon_slds Values list below. Do NOT invent icon names. If no icon matches, use custom or record as a safe default.
Salesforce Lightning 图标名称。必须从下方有效值列表中选取,严禁自行编造。如无匹配图标,使用 custom 或 record 作为默认值。
icon_slds: approval
icon_slds: agent_home
icon_slds: contract
icon (String)
Custom icon name (use icon_slds when possible).
icon: custom_icon
is_creator (Boolean)
Whether this application uses the Creator UI framework.
is_creator: true # Modern UI
is_creator: false # Classic UI
visible (Boolean)
Whether the application is visible in the app menu.
visible: true # Show in menu
visible: false # Hide from menu
sort (Number)
Display order in the application menu (lower numbers first).
sort: 100
tab_items (Object)
Detailed tab configuration with grouping and ordering. Keys are tab names (matching entries in tabs), values specify group and index.
详细的标签配置,包含分组和排序。键为标签名(对应 tabs 中的条目),值指定 group 和 index。
tab_items:
contracts:
group: 业务
index: 1
contract_items:
group: 业务
index: 2
page_custom_dashboard:
group: ''
index: 0
tab_groups (Array)
Define sidebar navigation groups. Each group has a group_name and optional default_open.
定义侧边栏导航分组。每个分组有 group_name 和可选的 default_open。
tab_groups:
- group_name: 业务
default_open: true
- group_name: 管理
default_open: true
objects (Array) - Legacy
List of objects (legacy approach, prefer tabs + tab_items).
对象列表(旧方式,推荐使用 tabs + tab_items)。
objects:
- contracts
- contract_items
- customers
Complete Example | 完整示例
Simple Application | 简单应用
name: Task Management
code: tasks
description: Manage tasks and to-dos
icon_slds: task
color: blue
is_creator: true
showSidebar: true
mobile: true
visible: true
sort: 200
tabs:
- tasks
tab_items:
tasks:
group: ''
index: 1
Complex Application | 复杂应用
_id: contract_management
name: Contract Management
code: contracts
description: Complete contract lifecycle management system
icon_slds: contract
color: teal
is_creator: true
showSidebar: true
mobile: true
visible: true
sort: 100
tabs:
- contracts
- contract_items
- contract_templates
- customers
- contract_approvals
tab_groups:
- group_name: 合同
default_open: true
- group_name: 客户
default_open: true
tab_items:
contracts:
group: 合同
index: 1
contract_items:
group: 合同
index: 2
contract_templates:
group: 合同
index: 3
customers:
group: 客户
index: 1
contract_approvals:
group: ''
index: 0
admin_menus:
- _id: contract_settings
name: Contract Settings
sort: 100
permission_sets:
- admin
object_name: contract_templates
parent: contracts
Advanced Features | 高级功能
Admin Menus | 管理菜单
Applications can include admin menu items:
admin_menus:
- _id: settings_menu
name: Settings
sort: 100
permission_sets:
- admin
object_name: settings_object
parent: app_code
- _id: reports_menu
name: Reports
sort: 200
permission_sets:
- admin
- manager
object_name: reports
Admin Menu Fields:
_id: Unique identifiername: Display namesort: Display orderpermission_sets: Who can see itobject_name: Associated objectparent: Parent menu ID
Landing Page | 落地页
Specify a landing page when opening the app:
landing_page: custom_dashboard
Application Types | 应用程序类型
1. Standard Application | 标准应用
For general business processes:
name: Sales Management
code: sales
description: Sales pipeline and opportunities
icon_slds: opportunity
color: orange
is_creator: true
showSidebar: true
mobile: true
visible: true
tabs:
- leads
- opportunities
- quotes
- orders
tab_items:
leads:
group: ''
index: 1
opportunities:
group: ''
index: 2
quotes:
group: ''
index: 3
orders:
group: ''
index: 4
2. Admin Application | 管理应用
For system administration:
name: System Administration
code: admin
description: System configuration and management
icon_slds: settings
is_creator: false
showSidebar: true
visible: true
permission_sets:
- admin
admin_menus:
- _id: user_management
name: Users
object_name: users
- _id: permissions
name: Permissions
object_name: permission_sets
3. Process Automation Application | 流程自动化应用
For workflows and automation:
_id: process_automation
name: Process Automation
icon_slds: approval
is_creator: false
admin_menus:
- _id: process_definition
name: Approval Processes
sort: 400
permission_sets:
- admin
object_name: process_definition
parent: process_automation
4. Dashboard Application | 仪表板应用
Analytics and reporting:
name: Analytics Dashboard
code: analytics
description: Business intelligence and reporting
icon_slds: dashboard
color: cyan
is_creator: true
showSidebar: true
mobile: true
visible: true
landing_page: analytics_dashboard
tabs:
- reports
- dashboards
tab_items:
reports:
group: ''
index: 1
dashboards:
group: ''
index: 2
Application Visibility & Permissions | 应用可见性和权限
Basic Visibility
visible: true # All users can see
Permission-Based Visibility
Use permission sets to control access:
permission_sets:
- admin
- manager
Programmatic Visibility
Use permission_sets to control which profiles can access the application:
使用 permission_sets 控制哪些权限配置可以访问应用程序:
permission_sets:
- admin
- hr_manager
Icon Reference | 图标参考
⚠️ CRITICAL: The icon_slds value MUST be chosen from the valid list below. NEVER invent or guess icon names. Any value NOT in this list will cause a broken icon. When in doubt, use custom or record.
⚠️ 重要:icon_slds 值必须从下方有效值列表中选取,严禁自行编造图标名称。不在列表中的值会导致图标无法显示。如不确定,使用 custom 或 record。
Valid icon_slds Values | 有效的 icon_slds 值
The following is the complete and exhaustive list of valid icon_slds values. Any value NOT in this list will result in a broken icon:
以下是 icon_slds 的完整且唯一有效值列表,不在此列表中的值会导致图标无法显示:
A: account, account_info, action_list_component, actions_and_buttons, activation_target, activations, address, agent_home, agent_session, aggregation_policy, all, announcement, answer_best, answer_private, answer_public, apex, apex_plugin, app, approval, apps, apps_admin, article, asset_action, asset_action_source, asset_audit, asset_downtime_period, asset_object, asset_relationship, asset_state_period, asset_warranty, assigned_resource, assignment, attach, avatar, avatar_loading
B: bot, bot_training, branch_merge, brand, budget, budget_allocation, bundle_config, bundle_policy, business_hours, buyer_account, buyer_group
C: calculated_insights, calibration, call, call_coaching, call_history, campaign, campaign_members, cancel_checkout, canvas, capacity_plan, care_request_reviewer, carousel, case, case_change_status, case_comment, case_email, case_log_a_call, case_milestone, case_transcript, case_wrap_up, catalog, category, change_request, channel_program_history, channel_program_levels, channel_program_members, channel_programs, chart, checkout, choice, client, cms, coaching, code_playground, code_set, code_set_bundle, collection, collection_variable, connected_apps, constant, contact, contact_list, contact_request, contract, contract_line_item, contract_payment, coupon_codes, currency, currency_input, custom, custom_component_task, custom_notification, customer_360, customer_lifecycle_analytics, customer_portal_users, customers
D: dashboard, dashboard_component, dashboard_ea, data_integration_hub, data_mapping, data_model, data_streams, datadotcom, dataset, date_input, date_time, decision, default, delegated_account, device, discounts, display_rich_text, display_text, document, document_reference, drafts, duration_downscale, dynamic_record_choice
E: education, einstein_replies, email, email_chatter, employee, employee_asset, employee_contact, employee_job, employee_job_position, employee_organization, empty, endorsement, entitlement, entitlement_policy, entitlement_process, entitlement_template, entity, entity_milestone, environment_hub, event, events, expense, expense_report, expense_report_entry
F: feed, feedback, field_sales, file, filter, filter_criteria, filter_criteria_rule, first_non_empty, flow, folder, forecasts, form, formula, fulfillment_order
G: generic_loading, global_constant, goals, group_loading, groups, guidance_center
H: hierarchy, high_velocity_sales, historical_adherence, holiday_operating_hours, home, household
I: identifier, immunization, incident, individual, insights, instore_locations, investment_account, invocable_action, iot_context, iot_orchestrations
J: javascript_button, job_family, job_position, job_profile
K: kanban, key_dates, knowledge
L: lead, lead_insights, lead_list, letterhead, lightning_component, lightning_usage, link, list_email, live_chat, live_chat_visitor, location, location_permit, log_a_call, logging, loop
M: macros, maintenance_asset, maintenance_plan, maintenance_work_rule, marketing_actions, med_rec_recommendation, med_rec_statement_recommendation, medication, medication_dispense, medication_ingredient, medication_reconciliation, medication_statement, merge, messaging_conversation, messaging_session, messaging_user, metrics, multi_picklist, multi_select_checkbox
N: network_contract, news, note, number_input
O: observation_component, omni_supervisor, operating_hours, opportunity, opportunity_contact_role, opportunity_splits, orchestrator, order_item, orders, outcome, output
P: partner_fund_allocation, partner_fund_claim, partner_fund_request, partner_marketing_budget, partners, password, past_chat, patient_medication_dosage, payment_gateway, people, performance, person_account, person_language, person_name, photo, picklist_choice, picklist_type, planogram, poll, portal, portal_roles, portal_roles_and_subordinates, post, practitioner_role, price_book_entries, price_books, pricebook, pricing_workspace, problem, procedure, procedure_detail, process, process_exception, product, product_consumed, product_consumed_state, product_item, product_item_transaction, product_quantity_rules, product_request, product_request_line_item, product_required, product_service_campaign, product_service_campaign_item, product_transfer, product_transfer_state, product_warranty_term, product_workspace, products, promotion_segments, promotions, promotions_workspace, propagation_policy, proposition
Q: qualifications, question_best, question_feed, queue, quick_text, quip, quip_sheet, quotes
R: radio_button, read_receipts, recent, recipe, record, record_create, record_delete, record_lookup, record_signature_task, record_update, recycle_bin, related_list, relationship, reply_text, report, report_type, resource_absence, resource_capacity, resource_preference, resource_skill, restriction_policy, return_order, return_order_line_item, reward, rtc_presence
S: sales_cadence, sales_cadence_target, sales_channel, sales_path, sales_value, salesforce_cms, scan_card, schedule_objective, scheduling_constraint, scheduling_policy, screen, search, section, segments, selling_model, serialized_product, serialized_product_transaction, service_appointment, service_appointment_capacity_usage, service_contract, service_crew, service_crew_member, service_report, service_request, service_request_detail, service_resource, service_territory, service_territory_location, service_territory_member, service_territory_policy, settings, shift, shift_pattern, shift_pattern_entry, shift_preference, shift_scheduling_operation, shift_template, shift_type, shipment, skill, skill_entity, skill_requirement, slack, slider, sms, snippet, snippets, sobject, sobject_collection, social, solution, sort, sort_policy, sossession, stage, stage_collection, steps, store, store_group, story, strategy, survey, swarm_request, swarm_session, system_and_global_variable
T: tableau, task, task2, team_member, template, text, text_template, textarea, textbox, thanks, thanks_loading, timesheet, timesheet_entry, timeslot, today, toggle, topic, topic2, tour, tour_check, trailhead, trailhead_alt, travel_mode
U: unified_health_score, unmatched, user, user_role
V: variable, variation_attribute_setup, variation_products, video, visit_templates, visits, visualforce_page, voice_call
W: waits, warranty_term, webcart, work_capacity_limit, work_capacity_usage, work_contract, work_forecast, work_order, work_order_item, work_plan, work_plan_rule, work_plan_template, work_plan_template_entry, work_queue, work_step, work_step_template, work_type, work_type_group, workforce_engagement
Common Icons by Category | 常用图标分类
| Category | Recommended Icons |
|---|---|
| CRM/Sales | opportunity, lead, account, contact, campaign, quotes |
| Contracts | contract, contract_line_item, contract_payment |
| Projects | task, task2, assignment, timesheet, work_order |
| HR/People | people, employee, person_account, user, groups |
| Finance | budget, expense, expense_report, currency, payment_gateway |
| Content | article, document, file, knowledge, cms |
| Dashboard | dashboard, dashboard_ea, chart, report, insights |
| Admin | settings, apps_admin, connected_apps, data_model |
| Communication | email, sms, live_chat, announcement, call |
| Home/Navigation | home, agent_home, app, apps, kanban |
| Quality/Inspection 质检巡检 | observation_component, visits, case, work_order, procedure |
| Equipment/Maintenance 设备维保 | maintenance_asset, maintenance_plan, device, asset_object |
| Service 服务 | service_request, service_contract, service_report, work_order |
Custom Icons
icon: custom_icon_name
File Location | 文件位置
steedos-packages/
└── my-package/
└── main/
└── default/
└── applications/
├── app1.app.yml
├── app2.app.yml
└── admin.app.yml
Best Practices | 最佳实践
1. Naming Conventions
# Good
name: Contract Management
code: contracts
# Avoid
name: CM
code: cm_app
2. Tab Organization with Groups
Group related tabs using tab_groups and tab_items:
使用 tab_groups 和 tab_items 对标签进行分组:
tabs:
- contracts
- customers
- contract_items
- contract_approvals
- contract_templates
tab_groups:
- group_name: 业务
default_open: true
- group_name: 配置
default_open: false
tab_items:
contracts:
group: 业务
index: 1
customers:
group: 业务
index: 2
contract_items:
group: 业务
index: 3
contract_approvals:
group: 业务
index: 4
contract_templates:
group: 配置
index: 1
3. Always Enable Sidebar
Always set showSidebar: true for proper navigation:
始终设置 showSidebar: true 以确保正确的导航:
showSidebar: true
mobile: true
4. Sort Order
Use consistent sort values:
# Primary apps: 100-199
sort: 100 # Main business app
# Secondary apps: 200-299
sort: 200 # Supporting app
# Admin apps: 900-999
sort: 900 # Administration
5. Icons
The icon_slds value MUST exist in the valid icon_slds values list. Never invent icon names. Use custom or record if no specific icon fits. Common mappings: 质检/检验→observation_component, 巡检→visits, 设备→maintenance_asset, 工单→work_order, 审批→approval
icon_slds 值必须存在于有效值列表中,严禁编造。 常见映射:质检→observation_component,巡检→visits,设备→maintenance_asset,工单→work_order,审批→approval
# Business apps
icon_slds: contract # Contracts
icon_slds: opportunity # Sales
icon_slds: account # Customers
icon_slds: orders # Orders
# System apps
icon_slds: settings # Configuration
icon_slds: dashboard # Analytics
icon_slds: apps_admin # Administration
Common Patterns | 常见模式
CRM Application
name: Customer Relationship Management
code: crm
description: Manage customers, leads, and opportunities
icon_slds: opportunity
color: orange
is_creator: true
showSidebar: true
mobile: true
visible: true
sort: 100
tabs:
- accounts
- contacts
- leads
- opportunities
- quotes
tab_groups:
- group_name: 客户
default_open: true
- group_name: 销售
default_open: true
tab_items:
accounts:
group: 客户
index: 1
contacts:
group: 客户
index: 2
leads:
group: 销售
index: 1
opportunities:
group: 销售
index: 2
quotes:
group: 销售
index: 3
Project Management Application
name: Project Management
code: projects
description: Track projects, tasks, and resources
icon_slds: task
color: green
is_creator: true
showSidebar: true
mobile: true
visible: true
sort: 150
tabs:
- projects
- tasks
- milestones
- time_entries
tab_groups:
- group_name: 项目
default_open: true
tab_items:
projects:
group: 项目
index: 1
tasks:
group: 项目
index: 2
milestones:
group: 项目
index: 3
time_entries:
group: ''
index: 4
HR Management Application
name: Human Resources
code: hr
description: Employee and HR management
icon_slds: people
color: purple
is_creator: true
showSidebar: true
mobile: true
visible: true
sort: 200
permission_sets:
- admin
- hr_manager
tabs:
- employees
- departments
- positions
- attendance
- leave_requests
tab_groups:
- group_name: 人事
default_open: true
- group_name: 考勤
default_open: true
tab_items:
employees:
group: 人事
index: 1
departments:
group: 人事
index: 2
positions:
group: 人事
index: 3
attendance:
group: 考勤
index: 1
leave_requests:
group: 考勤
index: 2
Internationalization | 国际化
Application names are translated using .translation.yml files. See the translations skill for details.
应用名称通过 .translation.yml 文件翻译。详见国际化 skill。
# applications/contracts.app.yml — label follows user's prompt language
name: 合同管理
code: contracts
# objectTranslations are NOT used for apps.
# Use translations/en.translation.yml for app name translation:
# CustomLabels or app-level translation entries.
Troubleshooting | 故障排除
Issue: Application not showing
Solutions:
- Check
visible: true - Verify user has permissions
- Check object permissions
- Clear cache and reload
Issue: Objects not appearing
Solutions:
- Verify objects exist
- Check object names match exactly
- Ensure objects have proper permissions
- Restart server
Issue: Icon not displaying
Solutions:
- Use valid Lightning icon name
- Check icon name spelling
- Try alternative:
icon_sldsvsicon