Behavior Types
Behavior Types let you decide which Salesforce objects you want to create incentives for. You can choose to drive a particular behavior by using the Single Action Engine- for example, award your members every time they log in to your loyalty portal - or you can encourage your members to carry out a set of activities in certain order, time frame or number by means of Multi-Action Engine - e.g. you award your members after logging into your portal 5 times.
Our Single Action Engine works via Promotions, while the Multi-Action Engine leverages Challenges.
While the Behavior Types allows any object to be incentivized, it is the Action that will actually trigger the Single Action Engine and Multi-Action Engine. Therefore, you will always need at least one Action related to your Behavior Type.
Using Behavior Types
In case you'd like to test out incentive automation before doing anything, the library FieloPLT comes with a default Behavior Type, Event, that can be used for that. This record is related to the Event object and can even be configured for real-world applications in your program.
You can access it in Tools tab, going to Libraries and clicking on FieloPLT. The Behaviors tab already includes Event:
FieloPLT Library
Creating a Behavior Type
Fielo lets you create behaviors types for any object whose associated activity you wish to drive. You can create it using your own custom object, a Fielo object or any Salesforce standard object.
In order to create a brand new behavior type in your program, go to the Tools tab and, within the Libraries section, access FieloLocal. Once there, make sure that you're on the Behaviors tab and click on New.

Creating a behavior
In the New Behavior form that will appear, fill out the fields as it follows:
Creating a behavior, part 2
-
Behavior Name: Choose a name that best fits your Behavior Type. We chose to name it "Opportunity", in order to be a generic name that can have more than one action related to this Behavior Type later on.
-
Select the object you want to incentivize: In this case, we want to incentivize our members to do something related to the Opportunity object, which could be, for example, to change its status to closed and won. That is to say, that we want to incentivize members to close opportunities.
-
What date should determine the eligibility of actions performed?: The date field you select will be the one used to determine if a member action falls within the period that the incentive will be active (its validity period). If you want to process all behaviors based on the date when the records were created, choose Created Date (this option can be used for most cases). Since we want the Behavior to consider the date on which the opportunity record is closed, we chose Close Date.
-
Generate Trigger: if set to true, the system will generate the trigger and test class automatically for you, but if set to false please refer to triggers. Note that there are some objects that don't support this option; in this case, leave it as false.
-
How do you want to incentive this object?: Choose whether you want to incentivize the behavior each time (Promotions) that the member performs the action, over time (Challenges), or both. You can also select Communication to send member communication regarding that behavior via Fielo Messaging.
-
Parent Behavior: Use this option if you want to track data from a specific behavior, but the processing of such data is triggered by a parent record.
Note: Child behavior types should be related to junction objects. -
Lookup To Parent Behavior: This field stores the name of the lookup field that references the parent record. Typically, this field will contain only a single value, which is automatically populated. In most cases, you won't need to manually adjust this value.
Generate triggerIf you have a complex business rule or logic, that is, if the object you wish to incentivize has a custom rule (e.g. custom validation rule), the system might not be able to automatically create the trigger. It must be done manually, as explained next.
Custom objects with the same name as a Fielo objectIt is not possible to create a Behavior Type for a custom object that has the same name as a Fielo object (those which API name start with _FieloPLT___). Salesforce understands that you are creating a Behavior Type for Fielo's object even if you select your own custom object.
After you save the Behavior Type - and if you used the Generate Trigger option - go ahead and click on Deploy.
By doing that, the system will try to create the metadata needed for the Behavior Type to work:
- A lookup field from the object selected to the Member object.
- A lookup field from the Point object to the object selected.
- The trigger, if you activated the Generate Trigger option.
- If you selected to incentivize Promotions:
- A lookup field from the Transaction object to the object selected.
- If you selected to incentivize Challenges:
- A lookup field from the Tracker object to the object selected.
- If you selected to incentivize Communications:
- A lookup field from the Email Alert object to the object selected.
Those fields are needed in order to link the incentivized object to each type of incentive and - in the lookup field from Point's case - so that you can use the Audit Point feature, which tells you what exact record (e.g. from Opportunity, Lead, Course) generated any Currency reward.
It may take a few moments for the deployment to finish; when it does, it will automatically become active.
When there is an error in the deployment process, the system will not activate the Behavior Type. You can check the Deployment Messages field, within the Behavior Type page, or the Deployment Status (from Salesforce Setup) for the errors.
All ready! Now you'll be able to use this new Behavior Type with any action (and incentive) you create.
Creating a Behavior for Exceptions
If you are creating a new behavior type for any of the objects listed below, or creating a behavior type on an object that has existing trigger logic on it, before deploying and activating the behavior type you'll need to create the trigger manually.
When automatic trigger creation is not possible
When you create a new behavior and enable Generate Trigger, we will attempt to create a standard trigger and test class for the object. However, some objects require complex testing to be able to deploy a trigger. If you wish to incentivize such objects, you need to create the trigger and test class manually.
Manual trigger code is also necessary for orgs with existing complex business logic, such as existing triggers on the object to be incentivized. (Salesforce recommends against having more than one trigger on an object because it cannot guarantee order of execution. In this case, it's best to include Fielo trigger logic in the existing trigger and update the test class accordingly.)
Objects that always require the manual inclusion of trigger logic are:
| Label | API Name |
|---|---|
| Contact | Contact |
| Event | FieloPLT__Event__c |
| Opportunity Product | OpportunityLineItem |
| Order Product | OrderItem |
| Price Book Entry | PricebookEntry |
| Product Consumed | ProductConsumed |
| Product Consumption Schedule | ProductConsumptionSchedule |
| Product Item | ProductItem |
| Return Order Line Item | ReturnOrderLineItem |
| Service Territory Location | ServiceTerritoryLocation |
| Service Territory Member | ServiceTerritoryMember |
| Work Type Group Member | WorkTypeGroupMember |
Objects that cannot be incentivized
Some objects are not able to be incentivized directly because:
- It's not possible to place a trigger on them.
- They may compromise the performance of Fielo's rules engine.
These include:
| Label | API Name | Reason |
|---|---|---|
| Access Share | WorkAccessShare | Not possible to create the lookup to member field |
| Access | WorkAccess | Not possible to create the lookup to member field |
| Account Brand Share | AccountBrandShare | Not possible to create the lookup to member field |
| Account Brand | AccountBrand | Not possible to create the lookup from transaction/tracker field |
| Account Contact Role | AccountContactRole | Not possible to create the lookup to member field |
| Account Share | AccountShare | Not possible to create the lookup to member field |
| Action | FieloPLT__Action__c | Fielo Internal Object |
| Address | Address | Not a valid SObjectType |
| Admin Permissions | FieloPLT__AdminPermission__c | Fielo Internal Object |
| Agreement | FieloPLT__Agreement__c | Fielo Internal Object |
| Announcement | Announcement | Not possible to create the lookup to member field |
| Apex Test Queue Item | ApexTestQueueItem | Not possible to create the lookup to member field |
| App Analytics Query Request | AppAnalyticsQueryRequest | Not possible to create the lookup to member field |
| Asset File | ContentAsset | Not possible to create the lookup to member field |
| Asset Relationship | AssetRelationship | Not possible to place a trigger on it |
| Asset | Asset | Not possible to create the lookup to member field |
| Assigned Resource | AssignedResource | Not possible to place a trigger on it |
| Associated Location | AssociatedLocation | Not possible to place a trigger on it |
| Async Process | FieloPLT__AsyncProcess__c | Fielo Internal Object |
| Attachment | Attachment | Not possible to create the lookup to member field |
| Audit Admin Permissions | FieloPLT__AuditPermission__c | Fielo Internal Object |
| Authorization Form Consent Share | AuthorizationFormConsentShare | Not possible to create the lookup to member field |
| Authorization Form Data Use Share | AuthorizationFormDataUseShare | Not possible to create the lookup to member field |
| Authorization Form Share | AuthorizationFormShare | Not possible to create the lookup to member field |
| Badge Member | FieloPLT__BadgeMember__c | Fielo Internal Object |
| Badge Received | WorkBadge | Not possible to create the lookup to member field |
| Badge Share | WorkBadgeDefinitionShare | Not possible to create the lookup to member field |
| Badge | FieloPLT__Badge__c | Fielo Internal Object |
| Badge | WorkBadgeDefinition | Not possible to create the lookup to member field |
| Behavior Type | FieloPLT__RuleTrigger__c | Fielo Internal Object |
| Budget Adjustment | FieloPLT__BudgetAdjustment__c | Fielo Internal Object |
| Budget | FieloPLT__Budget__c | Fielo Internal Object |
| Calendar Share | CalendarViewShare | Not possible to create the lookup to member field |
| Calendar | CalendarView | Not possible to create the lookup to member field |
| Campaign Member Status | CampaignMemberStatus | Not possible to create the lookup to member field |
| Campaign Member | CampaignMember | Not possible to create the lookup from transaction/tracker field |
| Cap Audit | FieloPLT__AuditCap__c | Fielo Internal Object |
| Cap Rules | FieloPLT__CapDomain__c | Fielo Internal Object |
| Cap | FieloPLT__Cap__c | Fielo Internal Object |
| Case Comment | CaseComment | Not possible to create the lookup to member field |
| Case Contact Role | CaseContactRole | Not possible to create the lookup to member field |
| Case Share | CaseShare | Not possible to create the lookup to member field |
| Case Team Member Role | CaseTeamRole | Not possible to create the lookup to member field |
| Case Team Member | CaseTeamMember | Not possible to create the lookup to member field |
| Category Data | CategoryData | Not possible to create the lookup to member field |
| Category Node Localization | CategoryNodeLocalization | Not possible to create the lookup to member field |
| Challenge Member | FieloPLT__ChallengeMember__c | Fielo Internal Object |
| Challenge | FieloPLT__Challenge__c | Fielo Internal Object |
| Channel Program Level Share | ChannelProgramLevelShare | Not possible to create the lookup to member field |
| Channel Program Member Share | ChannelProgramMemberShare | Not possible to create the lookup to member field |
| Channel Program Member | ChannelProgramMember | Not possible to create the lookup to member field |
| Channel Program Share | ChannelProgramShare | Not possible to create the lookup to member field |
| Communication Subscription Channel Type Share | CommSubscriptionChannelTypeShare | Not possible to create the lookup to member field |
| Communication Subscription Consent Share | CommSubscriptionConsentShare | Not possible to create the lookup to member field |
| Communication Subscription Share | CommSubscriptionShare | Not possible to create the lookup to member field |
| Conference Number | ConferenceNumber | Not possible to create the lookup to member field |
| Consent | FieloPLT__Consent__c | Fielo Internal Object |
| Consumption Rate | ConsumptionRate | Not possible to create the lookup to member field |
| Consumption Schedule Share | ConsumptionScheduleShare | Not possible to create the lookup to member field |
| Consumption Schedule | ConsumptionSchedule | Not possible to create the lookup to member field |
| Contact Point Consent Share | ContactPointConsentShare | Not possible to create the lookup to member field |
| Contact Point Email Share | ContactPointEmailShare | Not possible to create the lookup to member field |
| Contact Point Phone Share | ContactPointPhoneShare | Not possible to create the lookup to member field |
| Contact Point Phone | ContactPointPhone | Not possible to create the lookup to member field |
| Contact Point Type Consent Share | ContactPointTypeConsentShare | Not possible to create the lookup to member field |
| Contact Request Share | ContactRequestShare | Not possible to create the lookup to member field |
| Contact Request | ContactRequest | Not possible to create the lookup from transaction/tracker field |
| Content Delivery | ContentDistribution | Not possible to create the lookup to member field |
| Content Document Link | ContentDocumentLink | Not possible to create the lookup to member field |
| Content Folder | ContentFolder | Not possible to create the lookup to member field |
| Content Version | ContentVersion | Not possible to create the lookup to member field |
| Contract Contact Role | ContractContactRole | Not possible to create the lookup to member field |
| Contract | Contract | Not possible to create the lookup to member field |
| Criterion Group | FieloPLT__CriterionGroup__c | Fielo Internal Object |
| Criterion | FieloPLT__Criterion__c | Fielo Internal Object |
| Currency | FieloPLT__PointType__c | Fielo Internal Object |
| Custom Link Localization | WebLinkLocalization | Not possible to create the lookup to member field |
| D&B Company | DandBCompany | Not possible to create the lookup to member field |
| Data Use Legal Basis Share | DataUseLegalBasisShare | Not possible to create the lookup to member field |
| Data Use Purpose Share | DataUsePurposeShare | Not possible to create the lookup to member field |
| Document | Document | Not possible to create the lookup to member field |
| Duplicate Record Item | DuplicateRecordItem | Not possible to create the lookup to member field |
| Duplicate Record Set | DuplicateRecordSet | Not possible to create the lookup to member field |
| Earmark Rule | FieloPLT__EarmarkDomain__c | Fielo Internal Object |
| Earmark | FieloPLT__Earmark__c | Fielo Internal Object |
| Email Alert | FieloPLT__EmailAlert__c | Fielo Internal Object |
| Email Campaign | FieloPLT__EmailCampaign__c | Fielo Internal Object |
| Email Message Relation | EmailMessageRelation | Not possible to create the lookup to member field |
| Email Message | EmailMessage | Not possible to create the lookup from transaction/tracker field |
| Email Template | EmailTemplate | Not possible to create the lookup to member field |
| Email Template | FieloPLT__EmailTemplate__c | Fielo Internal Object |
| Engagement Channel Type Share | EngagementChannelTypeShare | Not possible to create the lookup to member field |
| Enhanced Letterhead | EnhancedLetterhead | Not possible to create the lookup to member field |
| Error Log | FieloPLT__ErrorLog__c | Fielo Internal Object |
| Event Relation | EventRelation | Not possible to create the lookup to member field |
| Event | Event | Not possible to create the lookup to member field |
| Experience Discoverable Login | NetworkDiscoverableLogin | Not possible to create the lookup to member field |
| Experience Self Registration | NetworkSelfRegistration | Not possible to create the lookup to member field |
| ExpressionFilterCriteria | ExpressionFilterCriteria | Not possible to create the lookup to member field |
| ExpressionFilter | ExpressionFilter | Not possible to create the lookup to member field |
| External Event Mapping Share | ExternalEventMappingShare | Not possible to create the lookup to member field |
| External Event Mapping | ExternalEventMapping | Not possible to create the lookup to member field |
| External Event | ExternalEvent | Not possible to create the lookup to member field |
| Feed Attachment | FeedAttachment | Not possible to create the lookup to member field |
| Feed Comment | FeedComment | Not possible to create the lookup to member field |
| Feed Item | FeedItem | Not possible to create the lookup to member field |
| Field Permissions | FieldPermissions | Not possible to create the lookup to member field |
| Flow Interview Share | FlowInterviewShare | Not possible to create the lookup to member field |
| Flow Record Relation | FlowRecordRelation | Not possible to create the lookup to member field |
| Goal Share | TodayGoalShare | Not possible to create the lookup to member field |
| Goal | TodayGoal | Not possible to create the lookup to member field |
| Group Member Request | CollaborationGroupMemberRequest | Not possible to create the lookup to member field |
| Group Member | CollaborationGroupMember | Not possible to create the lookup to member field |
| Group Record | CollaborationGroupRecord | Not possible to create the lookup to member field |
| Group | CollaborationGroup | Not possible to create the lookup to member field |
| Group | Group | Not possible to create the lookup to member field |
| Holiday | Holiday | Not possible to create the lookup to member field |
| Idea Comment | IdeaComment | Not possible to create the lookup to member field |
| Idea | Idea | Not possible to create the lookup to member field |
| Image Share | ImageShare | Not possible to create the lookup to member field |
| Image | Image | Not possible to create the lookup from transaction/tracker field |
| Individual Share | IndividualShare | Not possible to create the lookup to member field |
| Job Profile Share | JobProfileShare | Not possible to create the lookup to member field |
| KPI Domain | FieloPLT__KPIDomain__c | Fielo Internal Object |
| KPI | FieloPLT__KPI__c | Fielo Internal Object |
| Language | FieloPLT__Language__c | Fielo Internal Object |
| Last Used App | UserAppInfo | Not possible to create the lookup to member field |
| Level Member | FieloPLT__LevelMember__c | Fielo Internal Object |
| Level | FieloPLT__Level__c | Fielo Internal Object |
| Library Document | ContentWorkspaceDoc | Not possible to create the lookup to member field |
| Library Member | ContentWorkspaceMember | Not possible to create the lookup to member field |
| Library Permission | ContentWorkspacePermission | Not possible to create the lookup to member field |
| Library | ContentWorkspace | Not possible to create the lookup to member field |
| Library | FieloPLT__Library__c | Fielo Internal Object |
| List Email Individual Recipient | ListEmailIndividualRecipient | Not possible to create the lookup to member field |
| List Email Recipient Source | ListEmailRecipientSource | Not possible to create the lookup to member field |
| List Email Share | ListEmailShare | Not possible to create the lookup to member field |
| List Email | ListEmail | Not possible to create the lookup to member field |
| Location Share | LocationShare | Not possible to create the lookup to member field |
| Location | Location | Not a valid SObjectType |
| Macro Instruction | MacroInstruction | Not possible to create the lookup to member field |
| Macro Share | MacroShare | Not possible to create the lookup to member field |
| Macro Usage Share | MacroUsageShare | Not possible to create the lookup to member field |
| Maintenance Asset | MaintenanceAsset | Not possible to create the lookup to member field |
| Maintenance Plan Share | MaintenancePlanShare | Not possible to create the lookup to member field |
| Maintenance Plan | MaintenancePlan | Not possible to create the lookup to member field |
| Matching Information | MatchingInformation | Not possible to create the lookup to member field |
| Member Agreement | FieloPLT__MemberAgreement__c | Fielo Internal Object |
| Member Consent | FieloPLT__MemberConsent__c | Fielo Internal Object |
| Member Segment | FieloPLT__MemberSegment__c | Fielo Internal Object |
| Member | FieloPLT__Member__c | Fielo Internal Object |
| Mission Member | FieloPLT__MissionMember__c | Fielo Internal Object |
| Mission | FieloPLT__Mission__c | Fielo Internal Object |
| Model | FieloPLT__Model__c | Fielo Internal Object |
| Muting Permission Set | MutingPermissionSet | Not possible to create the lookup to member field |
| Note | Note | Not possible to create the lookup to member field |
| OAuth Custom Scope | OauthCustomScope | Not possible to create the lookup to member field |
| Object Permissions | ObjectPermissions | Not possible to create the lookup to member field |
| Opportunity Contact Role | OpportunityContactRole | Not possible to create the lookup from transaction/tracker field |
| Opportunity Share | OpportunityShare | Not possible to create the lookup to member field |
| Opportunity: Competitor | OpportunityCompetitor | Not possible to create the lookup to member field |
| Org Metric | OrgMetric | Not possible to create the lookup to member field |
| Page Settings | FieloPLT__PageSettings__c | Fielo Internal Object |
| Partner Fund Allocation Share | PartnerFundAllocationShare | Not possible to create the lookup to member field |
| Partner Fund Allocation | PartnerFundAllocation | Not possible to create the lookup to member field |
| Partner Fund Claim Share | PartnerFundClaimShare | Not possible to create the lookup to member field |
| Partner Fund Claim | PartnerFundClaim | Not possible to create the lookup to member field |
| Partner Fund Request Share | PartnerFundRequestShare | Not possible to create the lookup to member field |
| Partner Fund Request | PartnerFundRequest | Not possible to create the lookup to member field |
| Partner Marketing Budget Share | PartnerMarketingBudgetShare | Not possible to create the lookup to member field |
| Party Consent Share | PartyConsentShare | Not possible to create the lookup to member field |
| Payout | FieloPLT__Payout__c | Fielo Internal Object |
| Permission Set Group | PermissionSetGroup | Not possible to create the lookup to member field |
| Permission Set | PermissionSet | Not possible to create the lookup to member field |
| Point Usage | FieloPLT__PointsUsage__c | Fielo Internal Object |
| Point | FieloPLT__Point__c | Fielo Internal Object |
| Predefined Case Team Member | CaseTeamTemplateMember | Not possible to create the lookup to member field |
| Predefined Case Team | CaseTeamTemplate | Not possible to create the lookup to member field |
| Product Item Share | ProductItemShare | Not possible to create the lookup to member field |
| Product Item Transaction | ProductItemTransaction | Not possible to create the lookup to member field |
| Product Request Share | ProductRequestShare | Not possible to create the lookup to member field |
| Product Transfer Share | ProductTransferShare | Not possible to create the lookup to member field |
| Program Assignment | FieloPLT__ProgramAssignment__c | Fielo Internal Object |
| Program Consent | FieloPLT__ProgramConsent__c | Fielo Internal Object |
| Program Currency | FieloPLT__ProgramPointType__c | Fielo Internal Object |
| Program | FieloPLT__Program__c | Fielo Internal Object |
| Promoted Search Term | SearchPromotionRule | Not possible to create the lookup to member field |
| Promotion | FieloPLT__Promotion__c | Fielo Internal Object |
| Prompt Action Share | PromptActionShare | Not possible to create the lookup to member field |
| Prompt Action | PromptAction | Not possible to create the lookup to member field |
| Provider Order | FieloPLT__ProviderOrder__c | Fielo Internal Object |
| Public Settings | FieloPLT__PublicSettings__c | Fielo Internal Object |
| Push Topic | PushTopic | Not possible to create the lookup to member field |
| Quick Text Share | QuickTextShare | Not possible to create the lookup to member field |
| Quick Text Usage Share | QuickTextUsageShare | Not possible to create the lookup to member field |
| REST Settings | FieloPLT__RESTSettings__c | Fielo Internal Object |
| Recommendation | Recommendation | Not possible to create the lookup to member field |
| RecordAction | RecordAction | Not possible to create the lookup to member field |
| Redemption Item | FieloPLT__RedemptionItem__c | Fielo Internal Object |
| Redemption | FieloPLT__Redemption__c | Fielo Internal Object |
| Resource Absence | ResourceAbsence | Not possible to create the lookup to member field |
| Resource Capacity | ServiceResourceCapacity | Not possible to create the lookup to member field |
| Resource Preference | ResourcePreference | Not possible to create the lookup to member field |
| Return Order Share | ReturnOrderShare | Not possible to create the lookup to member field |
| RevenueElement | RevenueElement | Not possible to create the lookup to member field |
| Reward Item | FieloPLT__RewardItem__c | Fielo Internal Object |
| Rewarding | FieloPLT__ChallengeReward__c | Fielo Internal Object |
| Reward | FieloPLT__Reward__c | Fielo Internal Object |
| Role | UserRole | Not possible to create the lookup to member field |
| Rule | FieloPLT__Rule__c | Fielo Internal Object |
| Scontrol Localization | ScontrolLocalization | Not possible to create the lookup to member field |
| Segment | FieloPLT__Segment__c | Fielo Internal Object |
| Service Appointment Share | ServiceAppointmentShare | Not possible to create the lookup to member field |
| Service Appointment | ServiceAppointment | Not possible to create the lookup to member field |
| Service Crew Member | ServiceCrewMember | Not possible to create the lookup to member field |
| Service Crew Share | ServiceCrewShare | Not possible to create the lookup to member field |
| Service Crew | ServiceCrew | Not possible to create the lookup to member field |
| Service Resource Share | ServiceResourceShare | Not possible to create the lookup to member field |
| Service Resource Skill | ServiceResourceSkill | Not possible to create the lookup from transaction/tracker field |
| Service Resource | ServiceResource | Not possible to create the lookup to member field |
| Service Territory Share | ServiceTerritoryShare | Not possible to create the lookup to member field |
| Settings | FieloPLT__Settings__c | Fielo Internal Object |
| Share: Action | FieloPLT__Action__Share | Fielo Internal Object |
| Share: Badge Member | FieloPLT__BadgeMember__Share | Fielo Internal Object |
| Share: Badge | FieloPLT__Badge__Share | Fielo Internal Object |
| Share: Behavior | FieloPLT__RuleTrigger__Share | Fielo Internal Object |
| Share: Budget Adjustment | FieloPLT__BudgetAdjustment__Share | Fielo Internal Object |
| Share: Budget | FieloPLT__Budget__Share | Fielo Internal Object |
| Share: Cap Audit | FieloPLT__AuditCap__Share | Fielo Internal Object |
| Share: Cap Rules | FieloPLT__CapDomain__Share | Fielo Internal Object |
| Share: Cap | FieloPLT__Cap__Share | Fielo Internal Object |
| Share: Challenge Member | FieloPLT__ChallengeMember__Share | Fielo Internal Object |
| Share: Challenge | FieloPLT__Challenge__Share | Fielo Internal Object |
| Share: Criterion Group | FieloPLT__CriterionGroup__Share | Fielo Internal Object |
| Share: Criterion | FieloPLT__Criterion__Share | Fielo Internal Object |
| Share: Currency | FieloPLT__PointType__Share | Fielo Internal Object |
| Share: Earmark Rule | FieloPLT__EarmarkDomain__Share | Fielo Internal Object |
| Share: Earmark | FieloPLT__Earmark__Share | Fielo Internal Object |
| Share: Email Alert | FieloPLT__EmailAlert__Share | Fielo Internal Object |
| Share: Email Campaign | FieloPLT__EmailCampaign__Share | Fielo Internal Object |
| Share: Email Template | FieloPLT__EmailTemplate__Share | Fielo Internal Object |
| Share: Error Log | FieloPLT__ErrorLog__Share | Fielo Internal Object |
| Share: Event Item | FieloPLT__EventItem__Share | Fielo Internal Object |
| Share: Event | FieloPLT__Event__Share | Fielo Internal Object |
| Share: Invoice Item | FieloPLT__InvoiceItem__Share | Fielo Internal Object |
| Share: Invoice | FieloPLT__Invoice__Share | Fielo Internal Object |
| Share: KPI Domain | FieloPLT__KPIDomain__Share | Fielo Internal Object |
| Share: KPI | FieloPLT__KPI__Share | Fielo Internal Object |
| Share: Language | FieloPLT__Language__Share | Fielo Internal Object |
| Share: Level Member | FieloPLT__LevelMember__Share | Fielo Internal Object |
| Share: Level | FieloPLT__Level__Share | Fielo Internal Object |
| Share: Library | FieloPLT__Library__Share | Fielo Internal Object |
| Share: Loyalty Product | FieloPLT__LoyaltyProduct__Share | Fielo Internal Object |
| Share: Member Agreement | FieloPLT__MemberAgreement__Share | Fielo Internal Object |
| Share: Member Consent | FieloPLT__MemberConsent__Share | Fielo Internal Object |
| Share: Member Segment | FieloPLT__MemberSegment__Share | Fielo Internal Object |
| Share: Mission Member | FieloPLT__MissionMember__Share | Fielo Internal Object |
| Share: Mission | FieloPLT__Mission__Share | Fielo Internal Object |
| Share: Model | FieloPLT__Model__Share | Fielo Internal Object |
| Share: Page Settings | FieloPLT__PageSettings__Share | Fielo Internal Object |
| Share: Payout | FieloPLT__Payout__Share | Fielo Internal Object |
| Share: Point Usage | FieloPLT__PointsUsage__Share | Fielo Internal Object |
| Share: Point | FieloPLT__Point__Share | Fielo Internal Object |
| Share: Program Currency | FieloPLT__ProgramPointType__Share | Fielo Internal Object |
| Share: Program | FieloPLT__Program__Share | Fielo Internal Object |
| Share: Provider Order | FieloPLT__ProviderOrder__Share | Fielo Internal Object |
| Share: Reward | FieloPLT__Reward__Share | Fielo Internal Object |
| Share: Rule | FieloPLT__Rule__Share | Fielo Internal Object |
| Share: Segment | FieloPLT__Segment__Share | Fielo Internal Object |
| Share: Team Member | FieloPLT__TeamMember__Share | Fielo Internal Object |
| Share: Tracker | FieloPLT__Tracker__Share | Fielo Internal Object |
| Share: Transaction | FieloPLT__Transaction__Share | Fielo Internal Object |
| Share: Translation | FieloPLT__Translation__Share | Fielo Internal Object |
| Shift Share | ShiftShare | Not possible to create the lookup to member field |
| Shift | Shift | Not possible to create the lookup to member field |
| Shipment Share | ShipmentShare | Not possible to create the lookup to member field |
| Skill Requirement | SkillRequirement | Not possible to create the lookup to member field |
| Streaming Channel Share | StreamingChannelShare | Not possible to create the lookup to member field |
| Streaming Channel | StreamingChannel | Not possible to create the lookup to member field |
| Task | Task | Not possible to create the lookup to member field |
| Team Member | FieloPLT__TeamMember__c | Fielo Internal Object |
| Thanks Share | WorkThanksShare | Not possible to create the lookup to member field |
| Thanks | WorkThanks | Not possible to create the lookup to member field |
| Time Sheet Entry | TimeSheetEntry | Not possible to create the lookup to member field |
| Time Sheet Share | TimeSheetShare | Not possible to create the lookup to member field |
| Time Sheet | TimeSheet | Not possible to create the lookup to member field |
| Time Slot | TimeSlot | Not possible to create the lookup to member field |
| Topic | Topic | Not possible to create the lookup to member field |
| Tracker | FieloPLT__Tracker__c | Fielo Internal Object |
| Transaction | FieloPLT__Transaction__c | Fielo Internal Object |
| Translation | ChatterExtensionLocalization | Not possible to create the lookup to member field |
| Translation | FieloPLT__Translation__c | Fielo Internal Object |
| Translation | NavigationMenuItemLocalization | Not possible to create the lookup to member field |
| Translation | PromptLocalization | Not possible to create the lookup to member field |
| Translation | PromptVersionLocalization | Not possible to create the lookup to member field |
| Translation | RecordTypeLocalization | Not possible to create the lookup to member field |
| Translation | ReputationLevelLocalization | Not possible to create the lookup to member field |
| Translation | StampLocalization | Not possible to create the lookup to member field |
| Translation | TopicLocalization | Not possible to create the lookup to member field |
| Translation | UserCustomBadgeLocalization | Not possible to create the lookup to member field |
| Triggers | FieloPLT__Triggers__c | Fielo Internal Object |
| User Email Preferred Person Share | UserEmailPreferredPersonShare | Not possible to create the lookup to member field |
| User Email Preferred Person | UserEmailPreferredPerson | Not possible to create the lookup to member field |
| User Provisioning Account Staging | UserProvAccountStaging | Not possible to create the lookup to member field |
| User Provisioning Account | UserProvAccount | Not possible to create the lookup to member field |
| User Provisioning Log | UserProvisioningLog | Not possible to create the lookup to member field |
| User Provisioning Mock Target | UserProvMockTarget | Not possible to create the lookup to member field |
| User Provisioning Request Share | UserProvisioningRequestShare | Not possible to create the lookup to member field |
| User Share | UserShare | Not possible to create the lookup to member field |
| UserAppMenuCustomization Share | UserAppMenuCustomizationShare | Not possible to create the lookup to member field |
| UserAppMenuCustomization | UserAppMenuCustomization | Not possible to create the lookup to member field |
| User | User | Not possible to create the lookup to member field |
| Vote | Vote | Not possible to create the lookup to member field |
| WaveAutoInstallRequest | WaveAutoInstallRequest | Not possible to create the lookup to member field |
| Work Order Share | WorkOrderShare | Not possible to create the lookup to member field |
| Work Type Group Share | WorkTypeGroupShare | Not possible to create the lookup to member field |
| Work Type Share | WorkTypeShare | Not possible to create the lookup to member field |
| Work Type | WorkType | Not possible to create the lookup to member field |
Triggers
When you need to create a behavior type manually, it is essential to create a trigger in the object you want to incentivize, so that the Single or Multi Action Engine can process your incentivized object every time a Member performs the Action.
Trigger
From Setup, go to your object and scroll down to Triggers. Click New and copy the following code snippet, replacing ObjectPluralName with the name of your Action object and ObjectAPIName with its API name:
//ObjectPluralName is the Action Object name. ObjectAPIName is the API Name of the object to process.
trigger ObjectPluralName on ObjectAPIName (after delete, after insert, after update, before delete, before insert, before update){
if(Trigger.isAfter){
if(Trigger.isInsert){
FieloPLT.SObjectService.processRecords(Trigger.new, null);
}else if(Trigger.isUpdate){
FieloPLT.SObjectService.processRecords(Trigger.new, Trigger.oldMap);
}
}
}Object-to-Member Relationship
Other than creating the trigger in the incentivized object, there must also be a relationship between it and your Members.
Fortunately, you don't have to do that manually, because the system does that for you when you create a new Behavior Type from the FieloLocal library and deploy it. All you have to do is to proceed as explained in Creating a Behavior Type, and a lookup relationship field will be automatically created for the incentivized object (e.g. our own custom object, Loyalty Card), having Member as a related object.
Lookup relationship example
It will also be created a relationship between the object and the program's currencies, which means that you'll be able to easily see which action was responsible for it through the Point Records.
Note that Point Record is the object’s name, but it actually refers to your Currency Records.
Editting a Behavior Type
You can edit a behavior type as long as it is still in a draft status or inactive, but it isn't possible to change the related Object.
All you have to do is access the Behaviors through the Library it was created, and click on Edit.

Edit a behavior
Note that the behavior type can be in one of four status:
- Draft: Cannot be used yet. All information can be edited, except the Object.
- In Deployment: In this stage, the system is trying to create the metadata. If it fails, an error message will appear in the field ErrorDescription. It is a Read Only status.
- Active: This status will be accomplished when the system was able to create everything and the behavior type is ready to be used. It is a Read Only status.
- Inactive: When the behavior type is disabled. All information can be edited, except the Object.
The behavior type can be deactivated only if its related actions are not being used in a Promotion, Challenge or for Messaging.
Updated about 1 year ago
