postInsuranceCreateAccounts(createAccountsInputParam, createPortalUsers)

Create person accounts and portal users for group census members.

API Version

65.0

Requires Chatter

No

Signature

public static ConnectApi.InsuranceAccountsAndUsersCreationRepresentation postInsuranceCreateAccounts(ConnectApi.InsuranceAccountsAndUsersCreationInputRepresentation createAccountsInputParam, Boolean createPortalUsers)

Parameters

createAccountsInputParam

createPortalUsers

  • Type: Boolean
  • Specifies whether to create portal users for the new person accounts (true) or not (false). The default is false.

Example

Here's an example of how to invoke the Create Accounts API from Apex code.

// Accounts and (optional) Portal Users creation via Connect API (simple version)

// 1) Create the top-level input
ConnectApi.InsuranceAccountsAndUsersCreationInputRepresentation input =
    new ConnectApi.InsuranceAccountsAndUsersCreationInputRepresentation();

// Provide either a Group Census Id OR a list of Group Census Member Ids

// Option A: Use the Group Census Id (creates accounts for all eligible members)
// input.groupCensusId = '0rfSG0000000vw7YAA';

// Option B: Or specify specific Group Census Member Ids
input.groupCensusMemberIdList = new List<String>{ '0r6SG0000008uTRYAY'};

// Optional: Person Account Record Type Name
input.personAccountRecordType = 'Person Account';

// Optional: Matching keys (used to find existing Person Accounts before creating new ones)
// input.matchingKeyList = new List<String>{ 'Email', 'ExternalId__c' };

// Optional: Field mappings from Group Census Member fields -> Account fields
// Example: map census FirstName/LastName to Person Account fields
// input.fieldMappings = new Map<String, String>{
//     'FirstName' => 'FirstName',
//     'LastName'  => 'LastName',
//     'Email'     => 'PersonEmail'
// };

// Optional: Provide portal user defaults (only applied if createPortalUsers = true)
ConnectApi.PortalUserCreationInputRepresentation userDefaults =
    new ConnectApi.PortalUserCreationInputRepresentation();
userDefaults.profileId = '00eSG00000JZg4t';
// userDefaults.localeSidKey = 'en_US';
// userDefaults.timeZoneSidKey = 'America/Los_Angeles';
// userDefaults.languageLocaleKey = 'en_US';
// userDefaults.emailEncodingKey = 'UTF-8';
input.userDetails = userDefaults;

// 2) Execute the POST API
Boolean createPortalUsers = true; // set false to only create accounts

try {
    ConnectApi.InsuranceAccountsAndUsersCreationRepresentation result =
        ConnectApi.InsuranceGroupBenefitsFamily.postInsuranceCreateAccounts(
            input,
            createPortalUsers
        );

    System.debug('Accounts and Users creation result: ' + JSON.serializePretty(result));
} catch (Exception e) {
    System.debug('Error during accounts/users creation: ' + e.getMessage());
}