本文へ移動
cccskills
無料GitHub で公開

flexcard-requirements

Specify a FlexCard before a developer opens Card Designer: the card-state set and the condition that selects each state, the data source type behind each card (DataRaptor, Integration Procedure, Apex remote, SOQL), the action menu users get (navigate, launch OmniScript, Apex, DataRaptor), and every embedded child FlexCard or custom LWC. Produces the artifacts a BA hands to the builder. Trigger keywords: FlexCard requirements, FlexCard BA, FlexCard layout design, FlexCard data sources, FlexCard actions, FlexCard card states, OmniStudio FlexCard scoping. NOT for building the card in Card Designer, NOT for OmniScript step and branching requirements (use admin/omniscript-flow-design-requirements), NOT for standard Lightning record-page component requirements.

インストール方法を見る

含まれるファイル(8)

  • SKILL.md13.1 KB
  • references/examples.md6.0 KB
  • references/gotchas.md6.5 KB
  • references/llm-anti-patterns.md9.1 KB
  • references/metadata-examples.md4.4 KB
  • references/well-architected.md5.0 KB
  • scripts/check_flexcard_requirements.py5.0 KB
  • templates/flexcard-requirements-template.md2.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

FlexCard Requirements

This skill activates when a business analyst or product owner must gather and document FlexCard requirements before a developer builds in Card Designer. It produces the data source inventory, action register, state specification, embedded component list, and audience permission list that turn stakeholder intent into a buildable card.

Grounding note: the OmniStudio FlexCard guide is published on help.salesforce.com and as an atlas guide, and neither returned content for this pass. The grounded sources are the Salesforce Industries Developer Guide (OmniStudio objects and Business APIs), the Security Guide (guest user access), and the Metadata API guide (permission sets). Card Designer behavior carried from earlier versions of this skill is marked UNVERIFIED where it is stated as fact.


Before Starting

  • Confirm which OmniStudio runtime the org uses. The Industries guide distinguishes "OmniStudio Standard" from "OmniStudio for Vlocity", and some objects (for example OmniTrackingGroup and OmniTrackingComponentDef, API 60.0, used for OmniAnalytics) exist only in OmniStudio Standard.
  • Determine where the card runs: a Lightning record page, a console, or an Experience Cloud site. For unauthenticated visitors, guest users' org-wide defaults are Private for all objects and cannot be changed, and guest user sharing rules can grant only Read Only access.
  • Keep requirements separate from implementation. This skill scopes what the card shows and does; Card Designer configuration belongs to omnistudio/flexcard-design-patterns.
  • UNVERIFIED (2026-10-03): earlier versions of this skill listed exactly five data source types (SOQL, Apex, DataRaptor, Integration Procedure, Streaming) and five action types (Navigation, OmniScript Launch, Apex, DataRaptor, Custom LWC), and said card states compile to LWC at activation. The Industries guide confirms only that "an Integration Procedure ... can be a data source for a Flexcard" and that Data Mappers "supply data to Omniscripts, Integration Procedures, Flexcards, and Apex classes". Confirm the full lists in the org's Card Designer.

Questions to Ask Before Configuring

Ask these before the developer opens Card Designer. Each one traces to a gotcha in references/gotchas.md.

QuestionWhy it mattersWhat a good answer addsWhat proper configuration adds over just doing it
"Who sees this card: internal users, authenticated portal users, or anonymous guests?"Guest OWD is Private and fixed; guest sharing rules grant Read Only only (gotcha 2)The audience per placement and the records each may readA card that shows data to the right audience instead of blank fields or over-exposure
"Which fields come from one object, and which need several objects or an external system?"Multi-source data points to an Integration Procedure; single-object data may not (gotcha 3)A data source per field groupNo mid-build re-architecture when a field turns out to need another source
"Which actions change data, and through what (Data Mapper, Apex, OmniScript)?"Each server-side action needs access for the card's users (gotcha 4)An action register with the permission each action needsActions that work for every audience on the first test
"Does anyone need usage analytics on the card?"OmniAnalytics tracking uses tracking groups, available in OmniStudio Standard (gotcha 5)A tracking decision and the runtime it depends onAnalytics designed in rather than requested after go-live
"Will anyone load, copy, or clean up cards with data tools?"OmniUiCard records are internal-use only (gotcha 1)A rule that cards move only through supported deployment toolsNo corrupted cards from direct record edits
"Do any actions call expression sets or decision matrices?"The older OmniStudio Business REST APIs for these were deprecated in API 55.0 (gotcha 6)The supported API for each calculationActions built on current APIs

What a proper requirements package adds over "just designing a card": every field has a source, every action has a permission, every audience has a defined record access path, and the build order is known before activation.


Core Concepts

Data sources

SourceWhen to useGrounding
Integration ProcedureMulti-source or external data; orchestrationIndustries guide: an IP "can be a data source for a Flexcard"
Data Mapper (DataRaptor)Declarative read and remap of Salesforce dataIndustries guide: Data Mappers supply data to Flexcards
SOQL, Apex, StreamingSingle-object reads, computed data, event-driven updatesUNVERIFIED (2026-10-03): help-only

Requirements must name a source per field group, and per child card if cards are nested.

Actions

List every action with its type, trigger element, expected outcome, the data passed from the card, and the permission it needs. Typical action types are navigation, OmniScript launch, Apex, and Data Mapper. UNVERIFIED (2026-10-03): the complete action type list is help-only.

Card states

A card can show different layouts depending on record data. Requirements must give the number of states, the condition for each, the evaluation order, and what each state shows differently. UNVERIFIED (2026-10-03): that the first matching state renders, and that state changes need reactivation because templates compile to LWC at activation, are help-only claims; ask the developer to confirm in Card Designer.

Embedded components

Child FlexCards, OmniScripts, and custom LWCs can sit inside a card. Requirements must list each one, its data dependencies, and whether it must exist (and be active or deployed) before the parent card can be activated.


Common Patterns

Pattern: Data Source Mapping Matrix

When to use: The card shows data from more than one object, or stakeholders have not said where data comes from.

How it works:

  1. For each displayed field, record the source object, whether it is direct or computed, and any external dependency.
  2. Assign a source type: Data Mapper for simple remapped reads, Integration Procedure for multi-source or external data.
  3. Record the IP or Data Mapper name and which card element binds to which field path.

Pattern: Audience and Permission Register

When to use: The card is placed in more than one context, or on an Experience Cloud site.

How it works:

  1. List each audience and placement.
  2. For each, list the objects and fields read, the Apex classes or IPs invoked, and the record access path (sharing, guest sharing rule).
  3. Turn the internal and portal rows into permission sets (deployable example in references/metadata-examples.md) and the guest rows into guest user sharing rules with Read Only access.

Decision Guidance

SituationRecommended ApproachReason
Fields from one Salesforce objectSimplest source the org supports (Data Mapper read, or SOQL if available)Fewer components to maintain
Data from several objects or an external APIIntegration ProcedureDocumented as a FlexCard data source; orchestrates multiple sources
Card updates a recordData Mapper or Apex action, with access for every audienceServer-side execution runs with the user's access
Card launches a guided processOmniScript launch action; record the context passedKeeps the process in OmniScript
Anonymous Experience Cloud visitorsGuest user sharing rules (Read Only) plus minimal guest profile accessGuest OWD is Private and cannot be changed
Usage analytics neededOmniAnalytics tracking group (OmniStudio Standard)Tracking objects exist only in OmniStudio Standard

Recommended Workflow

  1. Confirm the OmniStudio runtime (Standard or for Vlocity) and every placement of the card; record them in the requirements header.
  2. Map every displayed field to a source object, field path, and data source type.
  3. Write the action register: type, trigger, outcome, data passed, and permission needed.
  4. Specify card states: count, condition, evaluation order, and layout differences.
  5. List embedded components and their build and activation order.
  6. Write the audience and permission register, including guest access for public pages, and hand references/metadata-examples.md to the builder for the permission set.
  7. Review with the developer to confirm every source and action type is available in this org before build starts.

Review Checklist

  • OmniStudio runtime (Standard or for Vlocity) recorded
  • Every placement and audience recorded
  • Every displayed field mapped to a data source type
  • Every action has a type, outcome, and required permission
  • Card states specified with conditions and order
  • Embedded components listed with build and activation order
  • Guest access designed with Read Only guest sharing rules where the card is public
  • Rule recorded that OmniUiCard records are never edited with data tools
  • No data source or action type left as "to be determined"

Salesforce-Specific Gotchas

The deep versions, with sources, live in references/gotchas.md.

#GotchaOne-line consequence
1OmniUiCard records are internal-use onlyDirect edits or loads can break the card
2Guest OWD is Private and fixed; guest sharing is Read OnlyPublic cards show nothing, or nothing editable
3Integration Procedures are the documented multi-source data sourceSingle-source assumptions break on aggregated fields
4Every server-side action runs with the user's accessActions fail for portal users
5OmniAnalytics tracking exists only in OmniStudio StandardAnalytics requests fail on the Vlocity runtime
6Older OmniStudio Business REST APIs were deprecated in API 55.0Actions built on them are on a retired surface
7State compilation and activation order are help-only claimsBuild order surprises if not confirmed

Output Artifacts

ArtifactDescription
FlexCard requirements documentData source inventory, action register, state spec, embedded components
Data source mapping matrixField-to-source table with element bindings
Action requirements registerActions with type, trigger, outcome, and permission
Audience and permission registerPlacements, audiences, record access path, permission set contents
Card state specificationStates, conditions, order, layout differences

Related Skills

  • omnistudio/flexcard-design-patterns: implement the card in Card Designer after requirements are complete
  • admin/omniscript-flow-design-requirements: requirements for OmniScripts the card launches
  • architect/omnistudio-vs-standard-decision: whether a FlexCard is the right tool
  • omnistudio/integration-procedures: Integration Procedures named as data sources

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use this skill when writing test-first, behavior-driven acceptance criteria in Given/When/Then format for a Salesforce user story. Covers happy path, edge cases, negative paths, permission boundaries, and data-state preconditions so the AC block can drive UAT scripts and Apex test design downstream. Trigger keywords: given when then, gherkin, behavior driven AC, test first acceptance criteria, scenario outline, BDD acceptance criteria. NOT for the user-story format itself (use admin/user-story-writing-for-salesforce). NOT for UAT script writing (use admin/uat-test-case-design). NOT for Apex test method generation (use agents/test-class-generator). NOT for high-level UAT planning (use admin/uat-and-acceptance-criteria). More triggers: acceptance criteria record, ac_id, req_id on a criterion, artefact under test, negative case for a rule-type requirement, no-match fall-through criterion, oracle for a Then clause, test type apex flow manual, criteria linter, check_ac_format.py, --manifest-dir.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Task and Event objects: polymorphic WhatId/WhoId, Activity object model, ActivityHistory vs OpenActivity, activity timeline customization, bulk task creation, Einstein Activity Capture boundaries. NOT for turning on EAC or calendar sync — use admin/einstein-activity-capture-setup. NOT for Email-to-Case — use admin/case-management-setup. Covers ActivitiesSettings metadata, enableActivities, shared Task/Event custom fields and FLS, TaskStatus value sets, Shared Activities and TaskRelation/EventRelation, recurring and child activities, and partial-success bulk DML on Task.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Design Invocable Apex actions that return deterministic, agent-friendly errors instead of surfacing raw exceptions to the LLM. NOT for authoring the action itself — @InvocableMethod schema, labels, security context — use agentforce/custom-agent-actions-apex. NOT for the Apex tests that force each error branch — use agentforce/agent-action-unit-tests.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Use when designing how an Agentforce agent extracts structured input parameters (slots) from a user's natural-language utterance to invoke an action. Triggers: 'agent extract date from user', 'agent action argument extraction', 'agentforce slot filling', 'agent invocable input mapping', 'agent fails to fill required parameter'. NOT for action authoring (use agentforce/agent-actions) or for prompt-template variable binding (use agentforce/prompt-builder-templates).

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Apex test patterns for @InvocableMethod agent actions: per-reason-code branch coverage, bulk safety, callout mocking, deterministic assertions. NOT for testing whether the agent routes to the right topic or answers well — use agentforce/agent-testing-and-evaluation. NOT for designing the error envelope the tests assert on — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Designing or reviewing Agentforce actions: Flow actions, Apex invocable actions, prompt-template actions, action naming, input and output contracts, confirmation requirements, and safe error behavior. Triggers: 'agent actions', 'build an agent that can look up an order', 'make the agent able to check order status', 'give the agent a capability', 'agent that can retrieve a record', 'flow action for agent', 'agent invocable action', 'action schema design'. NOT for writing the Apex class itself — use agentforce/custom-agent-actions-apex. NOT for the reason_code error envelope that stops an agent retry loop — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

PranavNagrecha のスキルをすべて見る

このスキルの問題を報告する