xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Entity Reference/Campaign — entity reference
REFERENCE · Last reviewed

Campaign — entity reference

A service campaign: rules select its members (accounts, or assets with their owning account), campaign items say what is offered or required, and processing buttons create the follow-up work. Process Members rebuilds the member list from the rules; Leads, Opportunities and Asset Maintainance create one lead, one opportunity with a line per campaign item, or one asset maintenance entry per campaign item for each member, adding a new set on every run; Contract Schedule and Maintenance Schedule create reminder leads for assets whose contract due date or next service date is exactly today plus a reminder offset. Every processing button requires the campaign to be active and inside its start and end dates. Transfer Members moves members to another campaign and works on any campaign.

Fields

FieldLabelTypeRequiredWhat it does
AccountIdAccountLookup
AdjustedAmountAdjusted AmountCurrency
AdjustmentIdAdjustmentLookup → Adjustment
AmountAmountDecimal
ApexJobIdApex JobText
BranchIdBranchLookup → BranchThe location the campaign belongs to, limited to the partner account's branches. Copied onto every member Process Members builds, and from the members onto generated records.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CurrencyCurrencyPickListValues: USD.
DocumentDateDocument DateDateYes
DynamicMemberObjectDynamic Member ObjectPickListWhat a member is: Account, or Asset (the member then also carries the asset's owning account). Blank means Account. The campaign rules are tested against fields of this object. Values: Asset, Account.
DynamicMemberTypeDynamic Member TypePickListWhere members come from. Field Filter builds them from the campaign rules. Report Data has no member engine: Process Members skips such a campaign and leaves its member list untouched. Values: Field Filter, Report Data.
EndDateEnd DateDateLast day the campaign can be processed. After this date every processing button, Execute Campaign and the pull of campaign work onto documents are refused. Blank means no end limit.
ExternalIdExternalText
FromEngineSeriesFrom Engine SeriesNumberStart of the engine-series range the campaign is meant for. Reference only; member selection uses the campaign rules.
GeneralLedgerIdGeneral LedgerLookup
GLAccountIdGL AccountLookup
GLAmountGL AmountDecimal
IdIdGuidYes
IsActiveIs ActiveBooleanYesWhether the campaign can be processed. Every processing button and Execute Campaign refuse an inactive campaign, and open asset maintenance from an inactive campaign is not pulled onto opportunities or service orders. Transfer Members ignores it.
IsGLPostedIs GL PostedBooleanYes
IsGLPostingApprovedIs GL Posting ApprovedBooleanYes
ItemMaintenanceScheduleIdItem Maintenance ScheduleLookup → ItemMaintenanceScheduleThe item maintenance schedule that Maintenance Schedule reads. Assets whose next service date on the schedule is exactly today plus a reminder offset get a reminder lead. Without it the button does nothing.
ItemServiceContractIdService ContractLookup → ItemServiceContractThe item service contract that Contract Schedule watches. Asset service contracts under it that are not utilised and still valid get a reminder lead when their due date is exactly today plus a reminder offset. Copied onto those leads.
LeadIdLeadLookup → Lead
ManualAssetActionManualAssetActionBooleanWhether the campaign's open asset maintenance is offered on new opportunities. Cleared (the default): open entries are added as lines to a new opportunity for the asset, and from there a new service order for the asset that has no lines, or Populate Asset Maintenance on an existing order, picks them up. Ticked: new opportunities skip the entries, and because service orders take campaign work only from the asset's opportunity lines, the entries do not reach any document by themselves.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberTextYesThe campaign's name. Required. The shipped document name setting has no destination field, so campaigns are not numbered automatically unless an administrator configures it.
NotesNotesMultiLineText
OpenAmountOpen AmountDecimal
OwnerIdOwnerLookup → UserAccountYes
ParentCampaignIdCampaignLookup → CampaignA parent campaign this one belongs under. Reference only; no processing reads it.
PartnerAccountIdPartner AccountLookup → AccountThe dealer the campaign belongs to. Copied onto every member Process Members builds, and from the members onto the leads, opportunities and asset maintenance the campaign creates.
PerformGLPostingPerform GL PostingBooleanYes
RecordTypeIdRecord TypeGuid, hidden
ReminderDaysOffset1Reminder Days Offset 1NumberDays before a due date at which the first reminder lead is created: a contract due date or next service date exactly today plus this number creates a lead with reminder offset number 1. The largest of the three offsets sets how far ahead the reminder buttons look.
ReminderDaysOffset2Reminder Days Offset 2NumberDays before a due date at which the second reminder lead is created; a match creates a lead with reminder offset number 2.
ReminderDaysOffset3Reminder Days Offset 3NumberDays before a due date at which the third reminder lead is created; a match creates a lead with reminder offset number 3.
ReportIdReportText
RuleSuccessCriteriaRule Success CriteriaPickListHow the campaign rules combine when Process Members runs: All Rules Are Met, Any Rule Is Met, Custom Logic Is Met (uses Rule Success Custom Logic) or Always (No Criteria). Blank, Always, or a campaign with no rules makes every account or asset a member. Values: All Rules Are Met, Any Rules Are Met, Always (No Criteria), Custom Logic Is Met.
RuleSuccessCustomLogicRule Success Custom LogicTextExpression used when Rule Success Criteria is Custom Logic Is Met, for example 1 AND (2 OR 3). Numbers are the rules' positions in sequence-number order, starting at 1; AND, OR and brackets are supported.
ServiceContractIdService ContractLookup
ServiceLeadIdServiceLeadGuid
StartDateStart DateDateFirst day the campaign can be processed. Before this date every processing button, Execute Campaign and the pull of campaign work onto documents are refused. Blank means no start limit.
StatusStatusPickListWhere the campaign stands: Draft, Start, In Progress or On Hold, shown as the progress strip on the record. It changes only when a user edits it and no processing button reads it. Values: Draft, Start, In Progress, On Hold.
ToEngineSeriesTo Engine SeriesNumberEnd of the engine-series range the campaign is meant for. Reference only; member selection uses the campaign rules.
TypeTypePickListClassifies the campaign. Shipped values are Recall - Asset Actions and Marketing;Service; the list can be extended. It does not change how any processing button behaves. Values: Recall - Asset Actions, Marketing;Service.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditInlineEdit
Edit2EditEditInlineEdit
EditInLineEditEditEdit in page.
EditRowEditEditEdit
NewNewNewNew
ProcessAssetsProcess AssetsServerAction (ProcessAssets)Creates one asset maintenance entry per campaign item for every member that is not marked utilised and has no service order, carrying the member's asset and the item's quantity, contract and mandatory flag. Requires the campaign active and inside its dates. Entries from earlier runs of this button are kept, but entries created by Execute Campaign are removed.
ProcessContractScheduleProcess Contract ScheduleServerAction (ProcessContractSchedule)Generates contract-renewal reminder Leads: scans un-utilized AssetServiceContract rows for the campaign's itemServiceContractId whose dueDate lands exactly on today plus one of the campaign's reminderDaysOffset1/2/3, and creates one lead per hit stamped with the matching ReminderOffsetNumber. Requires the campaign active and inside its date window. Intended to run daily (each day matches the contracts whose due date crosses an offset boundary).
ProcessLeadsProcess LeadsServerAction (ProcessLeads)Creates one Draft Lead per CampaignMember, carrying the member's account/asset/partner/branch links and a back-reference to the campaign and member. Requires the campaign active and inside its start/end window. Each run tags its leads with a batch id and hard-deletes the campaign's leads from earlier runs - so rerunning replaces previously generated (unconverted) leads rather than adding to them.
ProcessMaintenanceScheduleProcess Maintenance ScheduleServerAction (ProcessMaintenanceSchedule)Requires the campaign active and inside its date window.
ProcessMembersProcess MembersServerAction (ProcessMembers)Rebuilds the campaign's member list: resolves the Accounts or Assets (per dynamicMemberObject) matching the CampaignRule rows under ruleSuccessCriteria, inserts one CampaignMember per match tagged with a fresh batch id, then soft-deletes members from earlier runs - build and sweep commit in one unit of work so the campaign is never left member-less in between. Run this before any of the generation actions - they all fan out from the current member rows.
ProcessOpportunitiesProcess OpportunitiesServerAction (ProcessOpportunities)Creates one opportunity per member, with one line per campaign item copying the item, item service contract, quantity and mandatory flag. Requires the campaign active and inside its dates. Each run adds a new set; opportunities from earlier runs are kept. A campaign with no campaign items still gets one opportunity per member, with no lines.

Lookup filters

FilterLookup fieldNotes
Branch For Partner AccountBranchId
Customer Account FilterAccountId
Partner Account FilterPartnerAccountId