📁 Showcase
Reports

Reports

Backend

1. ReportFetchAccounts

a. Output form

ensure form OutputAccountList 
ensure grid: Account
ensure field Id kind: text 
ensure field Name kind: text 
ensure field Type kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetObjectDropDownPickList 
  pluginInputMappingVar: VarMappingOutputAccountListToDropObjectDownPicklistInput2
ensure field AccountSite kind: text 
ensure field Industry kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetObjectDropDownPickList 
  pluginInputMappingVar: VarMappingOutputAccountListToDropObjectDownPicklistInput1
ensure field AccountNumber kind: text 
ensure field Phone kind: mobileNumber 
ensure field BillingState kind: text 
ensure field Owner kind: pickText plugIn: SalesforcePlugin pluginApi: GetUsers

ensure layoutGrid TableLayout kind: table 
  columnSizeSet: ["AutoSize"] 
  showComps: [Id, Name, AccountNumber, Phone, Type, AccountSite, Industry, BillingState, Owner]

ensure layout FormLayout FormLayout kind: content 
  direction: vertical 
  flexCenter.gridLayouts: [Account.TableLayout]

ensure var VarMappingOutputAccountListToAccount kind: mapping 
  deploy: fixedOnDeploy
  fromForm: OutputAccountList 
  fromGrid: Account 
  toForm: EntityAccount 
  fieldMappingMap: {
      'map': {
        '${f:Account.Id}': 'Details.Id',
        '${var:VarTextFormModeEdit}': 'Other.FormMode'
      }
    }

ensure var VarMappingOutputAccountListToOpportunity kind: mapping 
  deploy: fixedOnDeploy
  fromForm: OutputAccountList 
  fromGrid: Account 
  toForm: EntityOpportunity 
  fieldMappingMap: {
      'map': {
        '${f:Account.Id}': 'Other.AccountId',
        '${f:Account.Name}': 'Other.AccountDisplayName',
        '${var:VarTextFormModeCreate}': 'Other.FormMode'
      }
    }

ensure var VarMappingOutputAccountListToDropObjectDownPicklistInput1 kind: mapping 
  deploy: fixedOnDeploy
  fromForm: OutputAccountList 
  toPlugin: SalesforcePlugin 
  toForm: DropObjectDownPicklistInput 
  fieldMappingMap: {
      'map': {
        '${var:VarTextObjectTypeAccount}': 'ObjectType',
        '${constant:text.Industry}': 'DropdownFieldName'
      }
    }

ensure var VarMappingOutputAccountListToDropObjectDownPicklistInput2 kind: mapping 
  deploy: fixedOnDeploy
  fromForm: OutputAccountList 
  toPlugin: SalesforcePlugin 
  toForm: DropObjectDownPicklistInput 
  fieldMappingMap: {
      'map': {
        '${var:VarTextObjectTypeAccount}': 'ObjectType',
        '${constant:text.Type}': 'DropdownFieldName'
      }
    }

ensure form OutputAccountList 
ensure grid: Account
actionPermission: {
      'EditAccount': {
        'mappingVar': 'VarMappingOutputAccountListToAccount',
        'roles': [
          'Owner'
        ]
      },
      'AddOpportunity': {
        'mappingVar': 'VarMappingOutputAccountListToOpportunity',
        'roles': [
          'Owner'
        ]
      }
    }
ensure field Type
  pluginInputMappingVar: VarMappingOutputAccountListToDropObjectDownPicklistInput2
ensure field Industry
  pluginInputMappingVar: VarMappingOutputAccountListToDropObjectDownPicklistInput1

b. Report

ensure var VarMappingAccountListToOutputAccountList kind: mapping 
  deploy: fixedOnDeploy
  fromPlugin: SalesforcePlugin 
  fromForm: AccountList 
  toForm: OutputAccountList 
  toGrid: Account 
  gridMappingMap: {
      'Mapping6u3hTk': {
        'toGrid': 'Account',
        'fromKey': 'Account.Id',
        'insertVariant': 'insertForced',
        'updateVariant': 'updateForced',
        'removeVariant': 'removeForced',
        'emptyVariant': 'overrideEmptyField',
        'map': {
          '${f:Account.Id}': 'Account.Id',
          '${f:Account.Name}': 'Account.Name',
          '${f:Account.Type}': 'Account.Type',
          '${f:Account.AccountSite}': 'Account.AccountSite',
          '${f:Account.Industry}': 'Account.Industry',
          '${f:Account.AccountNumber}': 'Account.AccountNumber',
          '${f:Account.Phone}': 'Account.Phone',
          '${f:Account.BillingState}': 'Account.BillingState',
          '${f:Account.Owner}': 'Account.Owner'
        }
      }
    }

ensure report ReportFetchAccounts kind: plugin 
  outputForm: OutputAccountList 
  plugIn: SalesforcePlugin 
  pluginApi: GetAccounts 
  outputFormMappingVar: VarMappingAccountListToOutputAccountList

2. ReportFetchOpportunities

a. Input form

ensure form FilterRecordsByAccount 
ensure section: Details
ensure field AccountId kind: text 
  permissionMatrix: {
      'defaultPermission': 'invisible'
    }
ensure field Account kind: pickText 
  required: true 
  plugIn: SalesforcePlugin 
  pluginApi: GetAccountsDropdownList

ensure formula Formula1 
  assignToField: Details.AccountId 
  formula: "${f:Details.Account.optionId}"

b. Output form

ensure form OutputOpportunityList 
ensure grid: Opportunity
ensure field Id kind: text 
ensure field Name kind: text 
ensure field Amount kind: decimal 
ensure field CloseDate kind: date displayDateFormat: "MM/dd/yyyy, hh:mm:ss a"
ensure field Stage kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetObjectDropDownPickList 
ensure field Description kind: text 
ensure field Assignee kind: pickText plugIn: SalesforcePlugin pluginApi: GetUsers


ensure layout FormLayout kind: content direction: vertical

ensure layout KanbanLayout kind: content direction: vertical

ensure layoutGrid TableLayout kind: table 
  columnSizeSet: ["AutoSize"]
  showComps: [Id, Name, Amount, CloseDate, Stage, Description, Assignee]

ensure layoutGrid Kanban kind: content 
  direction: vertical 
  showFields: [
    Opportunity.Amount, 
    Opportunity.Description, 
    Opportunity.CloseDate, 
    Opportunity.Name,
    Opportunity.Stage, 
    Opportunity.Assignee
    ]
  allowToSwitchLayouts: [TableLayout] 
  kanbanField: Opportunity.Stage

ensure layoutGrid TableLayout allowToSwitchLayouts: [Kanban]

ensure layout FormLayout kind: content 
  direction: vertical 
  flexCenter.gridLayouts: [Opportunity.TableLayout]

ensure layout KanbanLayout kind: content 
  direction: vertical 
  flexCenter.gridLayouts: [Opportunity.Kanban]

ensure var VarMappingOutputOpportunityListToOpportunity kind: mapping
  deploy: fixedOnDeploy
  fromForm: OutputOpportunityList 
  fromGrid: Opportunity 
  toForm: EntityOpportunity 
  fieldMappingMap: {
      'map': {
        '${var:VarTextFormModeEdit}': 'Other.FormMode',
        '${f:Opportunity.Id}': 'Details.Id'
      }
    }

ensure var VarMappingOpportunityListToDropObjectDownPicklistInput kind: mapping
  deploy: fixedOnDeploy
  fromForm: OutputOpportunityList 
  toPlugin: SalesforcePlugin 
  toForm: DropObjectDownPicklistInput 
  fieldMappingMap: {
      'map': {
        '${var:VarTextObjectTypeOpportunity}': 'ObjectType',
        '${constant:text.StageName}': 'DropdownFieldName'
      }
    }
  
ensure form OutputOpportunityList 
ensure grid: Opportunity
  actionPermission: {
      'EditOpportunity': {
        'mappingVar': 'VarMappingOutputOpportunityListToOpportunity',
        'roles': [
          'Owner'
        ]
      }
    }
ensure field Stage
  pluginInputMappingVar: VarMappingOpportunityListToDropObjectDownPicklistInput

c. Report

ensure var VarMappingFilterRecordsByAccountToRecordIdInputForm kind: mapping
  deploy: fixedOnDeploy
  fromForm: FilterRecordsByAccount 
  toPlugin: SalesforcePlugin 
  toForm: RecordIdInputForm 
  fieldMappingMap: {
      'map': {
        '${f:Details.AccountId}': 'Id'
      }
    }

ensure var VarMappingOpportunityListToOutputOpportunityList kind: mapping
  deploy: fixedOnDeploy
  fromPlugin: SalesforcePlugin 
  fromForm: OpportunityList 
  toForm: OutputOpportunityList 
  toGrid: Opportunity 
  gridMappingMap: {
      'MappinguHL6mx': {
        'toGrid': 'Opportunity',
        'fromKey': 'Opportunity.Id',
        'insertVariant': 'insertForced',
        'updateVariant': 'updateForced',
        'removeVariant': 'removeForced',
        'emptyVariant': 'overrideEmptyField',
        'map': {
          '${f:Opportunity.Id}': 'Opportunity.Id',
          '${f:Opportunity.Name}': 'Opportunity.Name',
          '${f:Opportunity.Amount}': 'Opportunity.Amount',
          '${f:Opportunity.CloseDate}': 'Opportunity.CloseDate',
          '${f:Opportunity.Stage}': 'Opportunity.Stage',
          '${f:Opportunity.Description}': 'Opportunity.Description',
          '${f:Opportunity.Owner}': 'Opportunity.Assignee'
        }
      }
    }

ensure report ReportFetchOpportunities kind: plugin 
  inputForm: FilterRecordsByAccount 
  outputForm: OutputOpportunityList 
  plugIn: SalesforcePlugin 
  pluginApi: GetOpportunityByAccount 
  inputFormMappingVar: VarMappingFilterRecordsByAccountToRecordIdInputForm 
  outputFormMappingVar: VarMappingOpportunityListToOutputOpportunityList

3. ReportKanban

a. Report

ensure report ReportFetchOpportunitiesKanban kind: plugin 
  inputForm: FilterRecordsByAccount 
  outputForm: OutputOpportunityList 
  plugIn: SalesforcePlugin 
  pluginApi: GetOpportunityByAccount 
  inputFormMappingVar: VarMappingFilterRecordsByAccountToRecordIdInputForm 
  outputFormMappingVar: VarMappingOpportunityListToOutputOpportunityList

4. ReportFetchTasks

a. Input form

ensure form FilterRecordByOpportunity 
ensure section: Details
ensure field Id kind: text 
  permissionMatrix: {
      'defaultPermission': 'invisible'
    }
ensure field Opportunity kind: pickText 
  required: true 
  plugIn: SalesforcePlugin 
  pluginApi: GetOpportunitiesDropdownList 

ensure var VarMappingFilterByOpportunityToRecordIdInputForm kind: mapping
  deploy: fixedOnDeploy
  fromForm: FilterRecordByOpportunity 
  toPlugin: SalesforcePlugin 
  toForm: RecordIdInputForm 
  fieldMappingMap: {
      'map': {
        '${f:Details.Id}': 'Id'
      }
    }

ensure form FilterRecordByOpportunity 
ensure section: Details
ensure field Opportunity 
  pluginInputMappingVar: VarMappingFilterByOpportunityToRecordIdInputForm

ensure var VarConditionFilterByOpportunityId kind: condition
  deploy: fixedOnDeploy
  sourceForm: FilterRecordByOpportunity
  value: "<root>
      <stmt>${f:Details.Opportunity} has value</stmt>
    </root>" 
  
ensure form FilterRecordByOpportunity
ensure formula Id 
  conditionVar: VarConditionFilterByOpportunityId 
  assignToField: Details.Id 
  formula: "${f:Details.Opportunity.optionId}"

b. Output form

ensure form OutputTaskList 
ensure grid: Details
ensure field Id kind: text 
ensure field Subject kind: text required: true
ensure field DueDate kind: date 
ensure field Status kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetObjectDropDownPickList 
  pluginInputMappingVar: VarMappingOutputTaskListToDropObjectDownPicklistInput1
ensure field Priority kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetObjectDropDownPickList 
  pluginInputMappingVar: VarMappingOutputTaskListToDropObjectDownPicklistInput2
ensure field AssignedTo kind: pickText plugIn: SalesforcePlugin pluginApi: GetUsers
ensure field RelatedTo kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetOpportunitiesDropdownList
ensure field Description kind: text 

// layoutGrid, table, Table
ensure layoutGrid Table kind: table 
  columnSizeSet: ["AutoSize"]
  showComps: [Id, Subject, DueDate, Status, Priority, RelatedTo, Description]

// layout, content, ContentLayout
ensure layout ContentLayout kind: content 
  direction: vertical 
  flexCenter.gridLayouts: [Details.Table]
  contentPadding: thick

ensure var VarMappingTaskListToTask kind: mapping
  deploy: fixedOnDeploy
  fromForm: OutputTaskList 
  fromGrid: Details 
  toForm: EntityTask 
  fieldMappingMap: {
      'map': {
        '${f:Details.Id}': 'Details.Id',
        '${var:VarTextFormModeEdit}': 'Other.FormMode'
      }
    }

ensure var VarMappingOutputTaskListToDropObjectDownPicklistInput1 kind: mapping
  deploy: fixedOnDeploy
  fromForm: OutputTaskList 
  toPlugin: SalesforcePlugin 
  toForm: DropObjectDownPicklistInput 
  fieldMappingMap: {
      'map': {
        '${var:VarTextObjectTypeTask}': 'ObjectType',
        '${constant:text.Status}': 'DropdownFieldName'
      }
    }

ensure var VarMappingOutputTaskListToDropObjectDownPicklistInput2 kind: mapping
  deploy: fixedOnDeploy
  fromForm: OutputTaskList 
  toPlugin: SalesforcePlugin 
  toForm: DropObjectDownPicklistInput 
  fieldMappingMap: {
      'map': {
        '${var:VarTextObjectTypeTask}': 'ObjectType',
        '${constant:text.Priority}': 'DropdownFieldName'
      }
    }

ensure form OutputTaskList 
ensure grid: Details
  actionPermission: {
      'EditTask': {
        'mappingVar': 'VarMappingTaskListToTask',
        'roles': [
          'Owner'
        ]
      }
    }
ensure field Status
  pluginInputMappingVar: VarMappingOutputTaskListToDropObjectDownPicklistInput1
ensure field Priority
  pluginInputMappingVar: VarMappingOutputTaskListToDropObjectDownPicklistInput2

c. Report

ensure var VarMappingFilterRecordByOpportunityToRecordIdInputForm kind: mapping
  deploy: fixedOnDeploy
  fromForm: FilterRecordByOpportunity 
  toPlugin: SalesforcePlugin 
  toForm: RecordIdInputForm 
  fieldMappingMap: {
      'map': {
        '${f:Details.Id}': 'Id'
      }
    }

ensure var VarMappingTaskListToOutputTaskList kind: mapping
  deploy: fixedOnDeploy
  fromPlugin: SalesforcePlugin 
  fromForm: TaskList 
  toForm: OutputTaskList 
  toGrid: Details 
  gridMappingMap: {
      'MappingnVhb57': {
        'toGrid': 'Details',
        'fromKey': 'Details.Subject',
        'insertVariant': 'insertForced',
        'updateVariant': 'updateForced',
        'removeVariant': 'removeForced',
        'emptyVariant': 'overrideEmptyField',
        'map': {
          '${f:Task.Id}': 'Details.Id',
          '${f:Task.Subject}': 'Details.Subject',
          '${f:Task.DueDate}': 'Details.DueDate',
          '${f:Task.Status}': 'Details.Status',
          '${f:Task.Priority}': 'Details.Priority',
          '${f:Task.RelatedTo}': 'Details.RelatedTo',
          '${f:Task.Description}': 'Details.Description',
          '${f:Task.AssignedTo}': 'Details.AssignedTo'
        }
      }
    }

ensure report ReportFetchTasks kind: plugin 
  inputForm: FilterRecordByOpportunity 
  outputForm: OutputTaskList 
  plugIn: SalesforcePlugin 
  pluginApi: GetTasksByOpportunity 
  inputFormMappingVar: VarMappingFilterRecordByOpportunityToRecordIdInputForm 
  outputFormMappingVar: VarMappingTaskListToOutputTaskList

5. ReportFetchEvents

a. Output form

ensure form OutputEventList 

// composite, grid, Details
ensure grid: Details
ensure field Id kind: text 
ensure field Subject kind: text required: true
ensure field Description kind: text 
ensure field StartDateTime kind: dateTime 
ensure field EndDateTime kind: dateTime 
ensure field Location kind: text 
ensure field IsAllDayEvent kind: bool 
ensure field AssignedTo kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetUsers
ensure field RelatedTo kind: pickText 
  plugIn: SalesforcePlugin 
  pluginApi: GetOpportunitiesDropdownList

// layoutGrid, table, Table
ensure layoutGrid Table kind: table 
  showComps: [
    Id, 
    Subject, 
    Description, 
    StartDateTime, 
    EndDateTime, 
    Location, 
    IsAllDayEvent, 
    AssignedTo, 
    RelatedTo
  ]

// layout, content, ContentLayout
ensure layout ContentLayout kind: content 
direction: vertical 
contentPadding: thick
flexCenter.gridLayouts: [Details.Table]

ensure var VarMappingOutputEventListToEvent kind: mapping
  deploy: fixedOnDeploy
  fromForm: OutputEventList 
  fromGrid: Details 
  toForm: EntityEvent 
  fieldMappingMap: {
      'map': {
        '${var:VarTextFormModeEdit}': 'Details.FormMode',
        '${f:Details.Id}': 'Details.Id'
      }
    }

ensure grid: Details
  actionPermission: {
      'EditEvent': {
        'mappingVar': 'VarMappingOutputEventListToEvent',
        'roles': [
          'Owner'
        ]
      }
    }

c. Report

ensure var VarMappingFilterRecordsByOpportunityToRecordIdInputForm kind: mapping
  deploy: fixedOnDeploy
  fromForm: FilterRecordByOpportunity 
  toPlugin: SalesforcePlugin 
  toForm: RecordIdInputForm 
  fieldMappingMap: {
      'map': {
        '${f:Details.Id}': 'Id'
      }
    }

ensure var VarMappingEventListToOutputEventList kind: mapping
  deploy: fixedOnDeploy
  fromPlugin: SalesforcePlugin 
  fromForm: EventList 
  toForm: OutputEventList 
  toGrid: Details 
  gridMappingMap: {
      'Mapping7EDELG': {
        'toGrid': 'Details',
        'fromKey': 'Details.Subject',
        'insertVariant': 'insertForced',
        'updateVariant': 'updateForced',
        'removeVariant': 'removeForced',
        'emptyVariant': 'overrideEmptyField',
        'map': {
          '${f:Event.Id}': 'Details.Id',
          '${f:Event.Subject}': 'Details.Subject',
          '${f:Event.Description}': 'Details.Description',
          '${f:Event.StartDate}': 'Details.StartDateTime',
          '${f:Event.EndDate}': 'Details.EndDateTime',
          '${f:Event.Location}': 'Details.Location',
          '${f:Event.IsAllDayEvent}': 'Details.IsAllDayEvent',
          '${f:Event.AssignedTo}': 'Details.AssignedTo',
          '${f:Event.RelatedTo}': 'Details.RelatedTo'
        }
      }
    }

ensure report ReportFetchEvents kind: plugin 
  inputForm: FilterRecordByOpportunity 
  outputForm: OutputEventList 
  plugIn: SalesforcePlugin 
  pluginApi: GetEventsByOpportunity 
  inputFormMappingVar: VarMappingFilterRecordsByOpportunityToRecordIdInputForm 
  outputFormMappingVar: VarMappingEventListToOutputEventList

Frontend

1. Actions

a. FetchAccounts

ensure action FetchAccounts kind: report 
  icon: "CloudDownloadRounded" 
  report: ReportFetchAccounts 
  outputFormContentLayout: FormLayout

b. FetchOpportunities

ensure action FetchOpportunities kind: report 
  icon: "CloudDownloadRounded" 
  report: ReportFetchOpportunities 
  outputFormContentLayout: FormLayout 
  sendMessageToInbox: true

c. FetchTasks

ensure action FetchTasks kind: report 
  icon: "CloudDownloadRounded" 
  report: ReportFetchTasks 
  outputFormContentLayout: ContentLayout 
  sendMessageToInbox: true

d. FetchEvents

ensure action FetchEvents kind: report 
  icon: "CloudDownloadRounded" 
  report: ReportFetchEvents 
  outputFormContentLayout: ContentLayout 
  sendMessageToInbox: true

2. Group actions

ensure group Salesforce 
  allowPromptAssistant: true
  hideActionMenu: true
  pinnedActions: [AddAccount. FetchOpportunities] 
  actionPermission: {
    'FetchAccounts': {
          'menuGroup': 'Remote',
          'roles': [
            'Owner'
          ]
        },
        'FetchOpportunities': {
          'menuGroup': 'Remote',
          'roles': [
            'Owner'
          ]
        },
        'FetchEvents': {
          'menuGroup': 'Remote',
          'roles': [
            'Owner'
          ],
          'deviceSizes': [
            'desktop',
            'mobile'
          ]
        },
        'FetchTasks': {
          'menuGroup': 'Remote',
          'roles': [
            'Owner'
          ],
          'deviceSizes': [
            'desktop',
            'mobile'
          ]
        }
      }
    }