Application Overview Last updated: 2024-10-25

The AdminCentral® application is built specifically with the Salesforce® System Administrator in mind, as it allows all users with the System Administrator profile in your Salesforce® Org to have access to this application. This document will familiarize you with the application by reviewing each of the features within the application.

The application and the features shall provide you with many resources and tools to help reduce the amount of time it takes you to set-up key operations within your Salesforce® Org. The functionality of the application has come directly from feedback from colleagues and clients over the years. As our community of users grows, we fully anticipate the growth of the features and functionality to increase. This manual will provide guidance on the use of the features of the AdminCentral® application.

User Management

User Management allows admins to clone users, freeze users, and unfreeze users. In addition, the delegated administration group is not needed as User Management allows admins to delegate certain users to specific permission sets, groups, and queues to assign and remove users.

Access Management

The Access Management feature allows you to maintain users for permission sets, assign groups, unassign groups, and queues. Once a user has been given delegated permissions from the User Management tab, the user will have access to the Access Management feature. When the Access Management feature is launched, the user will have access to the permission sets, assign groups, unassign groups, or queues that the user has been given permission to.

Declarative Builder

The Declarative Builder feature allows you to build a scheduled batch job in a short amount of time. The Declarative Builder provides a variety of builder templates to assist in building your scheduled batch job as quickly as possible. The builder templates are:

  • Create Child & Update Parent
    • This template provides you with the steps to set-up an Automation to create Child Record(s) off of a Parent Object and an option to also update the Parent Object in the operation.
    • As an example: Create Invoice Records off of the Account Object, based on a field value on the Account Record. Then update the status field on the Account Record to represent an open Invoice Record has been created.
  • Update Parent From Child
    • This template walks you through the setup of an Automation to aggregate child record values to their parent record. The relationship between parent and child can be a Master-Detail relationship or a Look-up relationship. Query filter logic within this template, both on the Parent and Child, allows you to specifically target records you’d like represented in the aggregation operation.
    • An example would be performing an aggregation on how many open Case records your Accounts have.
  • Query & Update Records
    • This template is to assist you through the setting up of an Automation to filter specific records within your selected object and perform record updates.
    • An example: Query Invoice__c Records and the Status__c field to Past Due if Today is greater than the Invoice__c Record’s Due_Date__c.
  • Query & Delete Records
    • This template will guide you through the setup of an Automation to filter specific records within your selected object and perform a delete operation on those records.
    • Example: Query Task Records with LastModifiedDate being more than 2 years at the time the batch was run, then delete those tasks.
  • Big Object Data Migration
    • This template walks you through the setup of an Automation to migrate records from one object, and create new records in any Big Objects you have established within your Org. This template does NOT delete records, therefore you will need to set-up a separate operation to clean up the original records you have migrated to the Big Object.
    • An example of this would be migrating old Invoice__c records that have been paid and the payment date was 2 years from the day the scheduled Automation runs, but migrating those Invoice__c records to a Big Object for storage.

Maintenance Window

This Maintenance Window feature allows Admins to specify a login window to prevent users from logging into the org. Admins can set the login hours for one profile, multiple profiles, or even schedule a future time window when users cannot log into the org for a brief time period.

AdminCentral® Logs

In the event that an error occurs, we capture those errors and store them for you to access in the AdminCentral® Logs. This will provide us with materially valuable information that will be useful in investigating any issues you raise to us. This section also addresses how best to raise an issue with the AdminCentral team, even if the issue doesn't involve an AdminCentral® Log.

Installation

The installation process for this application is simple. Once the application is installed in your org, all System Administrators have access to the application. While this is normally the case when installing an application, what makes this application different is that it is built to restrict access specifically to the application to the System Administrator profile.

Warning

When installing the application do not assign the application to all users, only install the application for System Administrators. Assigning to all users will NOT mean that non-system administrators will have access. Assigning to all users will cause crowding in the non-system administrator profiles with classes and objects the profile users will not have access to.

If access to some users is preferred to some of the features within our application, the application has a feature (discussed in greater detail below) that allows for advanced user delegation. This opens up portions of the application to users to delegate access to.

User Management

User management allows admins to clone users, freeze/unfreeze users, and delegate certain users to specific permission sets, groups, and queues to assign and remove users all without having to set up a delegated administration group.

Clone Users

Clone users allows you to select an existing user and very easily clone the user with all the related permission set assignments, permission set license assignments, public groups and queues.
To clone a user perform the following steps:

  1. Click on User Management from the AdminCentral® App page.
  2. Search for the User to clone and select user.
  3. Enter in the new user's First Name, Last Name. This will automatically assign the user alias field. Next add the email address which will automatically assign the username and nickname fields. If you want to change any of the standard or custom field values you can expand each section and change any of the values. By default the new user will get a new password generated and they will be notified automatically. To not have a password generated deselect the checkbox. By default, the related objects are checked. If the user you are cloning is in any of the related objects, the new user will be assigned to the same related objects that you are cloning. Click on Save to clone the user.
  4. If the user was cloned successfully you will get a confirmation screen. From this screen you can view the values assigned to the user and all the related records the new user is assigned to. If you have another user to clone, you can click on the clone another user button.

Freeze/Unfreeze Users

This feature allows you to freeze or unfreeze multiple users at a time.



Freeze Users

To freeze users, search for the users that you want to freeze and select each user. Once you have selected each user to freeze, click on the freeze button. If the users can be frozen, the screen will refresh and the users should be added “Frozen Users” list.



Unfreeze Users

To freeze users, search for the users that you want to freeze and select each user. Once you have selected each user to freeze, click on the freeze button. If the users can be frozen, the screen will refresh and the users should be added Frozen Users list.

Advanced Delegated Manager

You can assign certain users to assign and remove users from certain permission sets, groups, or queues all without having to set up a Delegated Administrator group under Salesforce® setup. Once a user is assigned to be an AdminCentral® delegated manager, they can assign or remove users from permission sets, groups, or queues. If a user is assigned as “Delegated Manager” they will have access to see the AdminCentral® App and they will only see Access Management Feature.

Assign Delegated Managers

  1. Search for the user to assign.
  2. Select which permission set, group, or queue to assign that user as a delegate manager.
  3. click on “Create Assignment”.
If the delegation assignment was successful, you will see a success message.

Unassign Delegated Managers

  1. To remove a delegated manager, search for the user to remove. (*Note, only users currently assigned as AdminCentral® delegated managers will show up.)
  2. Select any of the delegated assignments to remove the user from.
  3. click on “Remove Delegated Authority”.
If the delegation assignment was successful, you will see a success message.

Advanced Field History Tracking

Advanced Field History Tracking expands the field history tracking behavior you're accustomed to within Salesforce®, however, we enable you to expand beyond the 25 field per object limit. Setting up the operation is an easy, straight-forward process. You can access the Advanced Field History tracking product from one of two paths. This feature is not part of the standard AdminCentral® package, and requires special activation. Details on pricing can be found on our Pricing page.

You can access via the AdminCentral® application page, by clicking on the button shown below.

You can also access the feature from your Org's application menu, but clicking the tab below.

Setup Advanced Field History Tracking

Follow the steps below to setup a field for history tracking.

  1. From the Field History Object Setting list view, click the New button.
  2. Enter the Sobject API Name for the object the field of interest is associated with.

    Warning

    It is recommended you copy and paste this value from your Object Manager, to insure accuracy.

    This will create a Field History Object Setting record for the SObject you've selected. You can then designate as many fields as you'd like to this record.
  3. The Is Enabled checkbox is automatically checked. Disabling this field will prevent triggers from tracking this field. If you want to disable the tracking of a field, temporarily, simple uncheck this field and save the record.
  4. Once you've entered the SObject name and are content with the Is Enabled decision, click Save
  5. You will be taken inside the Field History Object Setting record you just created, and from here to add a field for tracking click New from the Field History Field Settings related list.
  6. Enter in the field's API name within the Field API Name field.

    Warning

    It is recommended you copy and paste this value from your Object Manager, to insure accuracy.

    Once entered, click Save.
  7. Navigate to your SObject's lightning record page, and proceed to the page builder. You will find the Field History Viewer component listed within the Custom components section on the left pane. Drag this component onto your record page, where you want the Advanced Field History Tracking related table to display.

Changes made to the fields you've setup for advanced field history tracking will appear within the Field History Viewer component. As you'll notice in the image below we are also including any native field history tracking you have configured for the SObject as well. Entries that have a Sourcecolumn value of Salesforce® Field History represent fields natively tracking within your SObject's configuration and a value of AdminCentral® Field History reflects field history tracking setup with our Advanced Field History Tracking feature. Finally, you'll also note that we provide you with a Filter box, this allows you to filter the entries by Field, making searching through large entry volumes much easier.

Text Difference Feature

Wihtin the Advanced Field History Tracker viewer we have a feature to help visualize the text changes made within a given field data changed. This text difference feature is only available for fields that are a type of text field: Text, Text Area, Large Text Field, and Rich Text field. Additionally, this is only available for field history operations that are setup using the Advanced Field History Tracking feature. This is because we story to text difference result for that history record within the Big Object in the AdminCentral® application.

Fields that are eligible for running the Text Difference operation will be presented with icon seen above - represented as a cyclical icon. Clicking this icon will launch the Text Difference operations.

When you click the icon to activate the Text Difference operation for that history entry, you will be presented with a modal. This is because the Text Difference operation is actually quite computationally expensive, and cannot be done in a single transactions without hitting Salesforce® governor limits. So we move this operation into a Queueable, which will process the operation and notify you by email when the operation is complete.

When the Text Difference operation is complete the icon will change to the icon shown above. The results for a Text Difference only needs to be ran once for a given history row - since we store the results of the operation within the same record as the history details within the Big Object in AdminCentral® application.

Clicking on this new icon will open a modal revealing the results of the Text Difference operation. The changes where deletions were performed are highlighted red, with a red strike-through. Changes that were additions are highlighted and underlined as green.

Informational

Formatting is not retained when performing Text Difference operations - at this time. Rich Text Field values are converted to plain text prior to the operation executing. For example, if a word was made bold, or italicized, not changes would appear this Text Difference operation because the underlying text did not change. Additionally, the same is true for situations where the text was changed simply by capitalization. Since this is a format change, and not a text change, the value will not appear in the Text Difference results.

Access Management

Access Management allows users, to include delegated users, the ability to manage permission set, and group/queue assignments. For permissions sets, this also means the management of the Licenses that may be associated with a given permission set -a feature that extends also to deletegated.

Assign Permission Sets

Assign Permission Sets tab

The assign permission sets feature allows you to rapidly select multiple permission sets to be assigned to multiple users. You can assign users now, or you can schedule the user to be added to the permission set at a later date and time. There is no limit to the amount of permission sets or users that you can add.

To assign users follow the following steps:

  1. Search for the permission sets that you want to add users to and select the permission sets. The users table will show available users that can be added to the permission set.
  2. The next step is an optional step, but you can filter the user table by selecting certain profiles, roles, groups, or queues. Each selection is considered And. For example, if you selected the System Administrator profile and the CEO role, your users would need to have both values in order to be shown.
  3. Search and select the users that you want to add. If you selected a permission set that is part of a managed package that requires you to assign users a license, you can check the option “I would like to assign the permission sets and application licenses at the same time.” This will assign users to the permission set and user license for the
  4. Click Assign, to assign users. A results modal will be displayed. If there were any failures you will see the reason why in the additional details.

Scheduled Assign

This feature allows you to schedule permission set access assignment and removal. This feature is useful if you only want to give a user access for a short period of time. Once a permission set is scheduled, a process will run every 15 minutes to see if there are any permission set assignments or removals that need to happen. The details below discuss the actual details of the schedule assigment operation, not how to setup the actual permission set assignments -those details can be found in the section above.

After setting up your permission set assignment details, clicking the Schedule Assign button will open a modal that will provide you with additional options.

The Assign Now With Scheduled Removal option will assign the permission sets to your designated users, when you click the Schedule button; however, you will also be prompted to provide the date and time you'd like the permission sets to be removed from these designated users.

The Schedule Access and Removal option will allow you to schedule when the permission sets will be assigned, and when they will be removed from the designated users.

The final option, Schedule Access With No Removal, will assign the permission sets to the designated users at the date and time scheduled, but will not perform any automated removal process.

Unassign Permission Sets

Unassign Permission Sets tab

The unassign permission sets feature allows you to select certain users to remove from a single permission set, the option to remove all the users assigned to a permission set, or schedule the permission set access removal.

To unassign users follow the following steps:

  1. Search and select the permission set.
  2. The next step is an optional step, but you can filter the user table by selecting certain profiles, roles, groups, or queues. Each selection is considered And. For example, if you selected the System Administrator profile and the CEO role, your users would need to have both values in order to be shown.
  3. Select the user you want to remove and click Unassign. If you selected a permission set that is part of a managed package that requires you to assign users a license, you can check the option “I would like to remove the permission set and application license at the same time.” This will remove users from the permission set and user license for the managed package.

Unassign All

The Unassign All button is a nuclear option for the selected permission set. This operation will unassign all users for the selected permission set, without the user having to go through and select users for unassignment. This is particularly ideal if you have a lot of users assigned to a permission set associated with a managed package that you'd like to uninstall from your Org.

To unassign users follow the following steps:

  1. Search and select the permission set.
  2. Click the red Unassign All button
  3. You will need to select OK in order to remove all users from the permission set.

Schedule Unassign

The Schedule Unassign operation functions very similarly to the Schedule Assign operation discussed above. Once you've already designated the profile and users for the permission sets, this operation allows you to schedule the operation to remove access. The Schedule Assign operation has a similar operation, which will net the same result of this operation. The use-case here is that the permission sets are already assigned to a user - perhaps prior to this application's installation or the assignment was made without concern for unassigning but something has come up warranting a mass-unassignment.

Once you have the permission set and users selected, click Schedule Unassign. Select the date and time to have the users removed from the permission set and select Schedule.

Copy Users to Permission Set

This feature allows you to copy users from one permission set to another permission set.

  1. Select your source permission set.
  2. Select your target permission set
  3. Click Copy.
  4. A modal will pop up confirming that you want to copy the users over. Once you click ok a results modal will show if the users were added successfully or not to the permission set.

Assign Groups/Queues

This feature allows for one easy screen to allow you to add users to groups or queues.

  1. Search and select the group or queue.
  2. The table will show users that are not part of the selected group or queue. Select the user you want to add.
  3. Click Assign

Unassign Groups/Queues

This feature allows for one easy screen to allow you to remove users from groups or queues.

  1. Search and select the group or queue.
  2. The table will show users that are not part of the selected group or queue. Select the user you want to add.
  3. Click Unassign

Permission Search

At the time of this writing, Salesforce® Winter 24 released, in beta, a feature to allow you to search for a given permission access - at the object and/or field level- within all of the permission sets within your org. Our Permission Search feature does this, but also quite a bit more.

Permission search allows you to search across all of your permissions sets for Object and/or Field level access, as well as Visualforce™ page access, Apex class access, and System specific permissions. In addition, the data is grouped by Permission Set and Permission Set Group. The results are returned by Permission Set, and each Permission Set within a Permission Set Group that has that access.

  • Within the search section, enter in the permission you're interested in. In the example below, the search term was "Auth", you can see the application is searching for permissions as you type - and provided a variety of options at the Object, Field, Visualforce™ page, Apex Class, and System permission level.
  • Entering in an Sobject will also present you with the option to search for the fields within the object. To search for fields, you first need to start with the Sobject name. As you can see in the example below, as you enter in the values -in this example, the search is for Permission Sets with Create and Read on the Account and Edit on the Account Number field- the results populate in the datatable beneath the search. Each permission set within the results table is hyperlinked to the actual permission set, should you want to make any changes following the search. Additionally, not that in the Source column, we are presenting to you how the search was found. CRUD means we found this permission set based off of the Create, Read, Edit, or Delete permision you selected for the Sobject. And FLS reflects the Field Level Security selection you made for the field(s) you checked within the search section.
  • The datatable of results from your search request is sorted by the Name column, where Permission Set Groups are shown with each Permission Set within the group that meets your search criteria. This means you could see the same Permission Set multiple times, as a single permission set could be grouped within more than one Permission Set Group. The purpose behind this design decision is to allow you to see if a specific permission setting exists within a Permission Set Group - simply scroll down the datatable to search for the group's name- and from there the specific Permission Set(s) that have that your search criteria. The name is hyperlinked to the Permission Set's name, not the Permission Set Group's name.

Permission Change - Read Only

When building permission sets, there are instances where a particular permission set needs to be Read-Only. Normally, this Admins will clone an existing permission set that is used by a group, or role, and begin the tedious work of changing everything over the objects and field permissions to Read only. This feature makes this process of setting a permission set to Read-only a simple and easy one.

Start by typing the name of the permission set you want to change to read-only, and select it from the search results provided. Then, click the Submit Request button that appears. Double check to make sure you have selected the correct permission set, as this process cannot be undone once your clicked Submit Request.

Given the potential size of the operation, this conversion operation is performed asynchronously using a Queueable operation. Once the work is complete, you will receive an email advising you accordingly. If an error occured, an email will be sent to you advising you as such. The error will also be logged within AdminCentral® Error Logs.

Declarative Batch Builder

The Declarative Builder enables you to create an Automation that may be scheduled to run based on customizable criteria. There are currently five templates for automation:

  1. Create Child & Update Parent
  2. Update Parent from Child
  3. Query & Update Records
  4. Query & Delete Records
  5. Big Object Data Migration
  6. Flow Operation
Utilizing these templates will make automating your recurring processes faster and easier than through the traditional Flow Builder. In addition, the Declarative Builder operations also provide detailed error handling (see Error Logs below) that makes investigating potential issues easier.

The datatable on the Declarative Builder homepage reflects all the scheduled Automations that are currently setup. The information presented within each row is as follows:

  • The Created Date column reflects the date the Automation was created.
  • Job Name is the name that was given the Automation during creation. This is a unique value, and should be descriptive in what is taking place in the Automation.
  • The Operation is the template was used to build the Automation.
  • Frequency reflects when the Automation runs. This can be a weekday, a series of weekdays, a day of the month, or every day. The appreviation for the weekdays is as follows:
    • Sunday: Su
    • Monday: M
    • Tuesday: Tu
    • Wednesday: W
    • Thursday: Th
    • Friday: F
    • Saturday: Sa
  • Run Time represents the time of day the Automation is scheduled to run. Each Automation only has one single run time associated with it.
  • Last Run reflects the last time the Automation ran.
  • The Owner column is the name of the user that created the Automation.
  • The options tab button at the right of the row has two options available:
    1. Run Now will run the Automation, now -which is to say it will run the moment resourcing becomes available in your Org, regardless when the Automation is scheduled. If Run Now is selected, the Automation will still run at its regularly scheduled time.
    2. Clone will open a modal that will walk you through instructions to clone an existing automation.
    3. Edit will take you back into the Declarative Builder to edit your automation.
    4. Delete will delete the Automation

Create Child & Update Parent

The purpose of this Automation template is to take you through the process of setting up a batch job that would allow you to create a child record for a parent record, and optionally provide you the ability to update the parent record in the process.

  1. In the Create Unique Job Name section, enter a unique name for your Automation. Select a name that will make it easy for you to identify what the automation is doing, as this will be what appears in the datatable on the Declarative Batch builder home page. This step is required for every automation you setup -not just for Create Child & Update Parent.
  2. In the Select Child Object section, select the Child Object to base the automation off of by typing the first few letters of the SObject name and selecting the correct name from the dropdown (both Standard as well as Custom Objects are supported).

  3. In the example above, the Case object is being selected as the Child to start.
  4. Once a Child is selected, in the Select Parent Relationship section, select the Lookup and Master/Detail relationships on the Child Object will be displayed for the user to select to determine the Parent that will be updated from the Child:

  5. In the example above, the Account Id relationship has been selected, so the parent Account record for a Case will be updated. Once the relationship has been selected, Click Next to continue.
  6. The next screen, the Create Child Records section will allow the user to input field values for the Child records that will be created (in this case, Case records). Any required fields on the object will be automatically populated to the screen and values must be entered before additional fields may be added. Fields values may be populated with a manually entered fixed value, or maybe populated with a value from a field on the Parent object.

  7. In our example, Case has a single text field that is required called "Assign To Name", which will be populated with the value of “Automation User” that was manually typed, when the new Case record is created. In the image above we show that you also have the option to select a value from the parent record that is creating the child. In our example, we evenutally settled on the manual input option and simply typed in the value of interest.
  8. Once all the fields have been populated, click the disk icon to save the row. Please note that a new row may not be added until the previous row has been saved. Once the row is saved, the Edit icon will be displayed along with the Delete icon if the field is not required. Required fields may not be removed from the mapping. Additional details on the Mapper builder can be found in the Mapper Builder section of the Declarative Batch Builder documentation.

  9. Once the mappings are complete click Next to proceed to the Query Filter Logic and Field Update Mapper sections. This screen provides the ability to set criteria on a parent under which new Child records will be created. Please note, a max of 10 criteria may be entered. While this section is, technically, optionally; if values are not entered here to filter the parent records down; then every parent record will have a child record created against it.

  10. In our example, you can see that criteria on Account fields has been set: Where the AccountSource = ‘Web’ and the BillingState is “California” or “Oregon” or “Washington”. The Filter Condition Logic field allows you to select All criteria (AND), Any criteria (OR), or Custom criteria which are specified in the Custom Condition Logic field.
  11. Finally, the Field Update Mapper provides the ability to update parent fields once the child records have been created. Select the field to be populated then the value to populate it with. Click Next when all fields to be populated have been completed.

  12. In our example, you can see a picklist field and a checkbox field being set.
  13. The final step is to set the recurring schedule for the job to run. Select Monthly or Weekly to get additional options to specify the day of the month or day(s) of the week, then the time it should run on the scheduled day(s). Click Save & Schedule to complete the wizard and be taken back to the Job List, where you will see your new job ready to run!


  14. In our final example, the process will run every Monday at 12:15am. Please note, the time selected is specific to the Company Time Zone which is listed in Setup -> Company Information.

RollUp Operation

The purpose of this Automation template is to take you through the process of rolling up child record values up to their parent record. Native Salesforce® logic has this functionality present within RollUp Summary (RUS) fields, within a Master-Detail relationship. Since there is a limit to how many RUS fields you can have on an object, this Automation process provides a nice secondary alternative when you’ve hit that limit. In addition, this Automation template performs the same operation on Look-up fields as well.

To begin the RollUp Operation, click the Start Builder button on the corresponding panel as shown below:

  1. Begin by creating a unique job name for your Automation. This is a required step, because this name will be used to define the Automation you're about to create, within the data-table in the Declarative Builder start page. The job name should be descriptive enough to provide other Admins visiting the start page with context on what the Automation does.
  2. Next, in the Create Parent/Child Relationship section, select the parent object of the records you'd like to be updated in the Automation.
  3. Once you've selected the parent object, you will then be able to select the field available for updating. This field will be the parent field that will be updated by the aggregation operation. The selection of this field will determine what child object fields can be used to aggregate into this field; as well as what sort of aggregation operations this Automation can perform.

    For example, if you select a Date field here, then you will only be able to select Date fields in the selected child object (that comes later). And you will only be able to perform a MIN or MAX aggregation operation, and not an AVERAGE or SUM.
  4. Once you've selected the parent field for aggregation, you can now select the child object. The objects available in this picklist will be determined by those that have a look-up or master-detail relationship with the parent object you selected.
  5. Finally, to finish the Create Parent/Child Relationship section, select the child field you want the aggregation calculations to be performed from. As mentioned above, your options here will be limited to the parent field's data type you selected earlier.
  6. The Create Parent Filter is considered an optional section, however, it is highly recommended you use this section. The purpose here is for you to provide filters for the Automation to find the Parent records you’d like to have updated. If you do not create filters, then every record in that object will fall into that query, and will be updated.

    To learn more about what is involved in this section and how to properly configure your filters, reference the Filter Builder section (below).
  7. Once you've completed the Build Operation & Query to Find Parent section, you'll be taken to the Build Query to Find Child section. The objective here is to build out filter logic for the child records - in our example, we'd be setting filter logic for the Contact object to narrow the scope of the aggregation option to only a selected group of Contact records, instead of all of the Contact records associated with the parent.

    This is an optional operation. Similar to the parent record query operation discussed prior to this section, if you do not introduce any filter logic here, then we will be querying all the related child records for the parent, and perform the aggregation operation off them.
  8. Once you've completed the filters for the Build Query to Find Child section, or skipped it, you'll be taken to the Build Parent Update Operation page. The operations available to you vary depending on your select parent field's data type. In our example here, only the Count of Records option is available because the ID field was selected for the child object. When selecting the ID field, only a count of records can be performed.
  9. The final section in this Automation template is the Schedule Your Job section. Your objective here is to schedule when you want your job to execute. Your options are:
    • Schedule to Run Monthly
      • You will be presented with a picklist of values 1 to 31. Your selection will determine what day of the month your Automation will run. Standard Salesforce® functionality still applies here - meaning if you select to run on the 31st, and there aren't 31 days in the month, then the Automation will not run.
    • Schedule to Run Weekly
      • You will be prompted with a series of weekday buttons, for you to designate on which day(s) of the week you'd like your Automation to run. If you'd like to have the Automation run every day, simply select each button that represents a day of the week.
  10. In our example above, we selected to run the Automation weekly, and have selected the days from Sunday to Friday.

    Whether you select to run monthly or weekly, you'll be presented with the Schedule Time section; where we present you with the DateTime -at the moment you selected the Monthly or Weekly option- to show you what date/time configuration your org is configured for - this is because the Automation operations will run in accordance to your Company Settings, not the User’s timezone. In this example above, we can see that the User's Company settings are for Pacific Standard Time, even though the user is not in that timezone.

    The Select Scheduled Run Time picklist will present you with a list of available time-slots for your Automation. Due to the potential record locking conflicts that can emerge from having multiple jobs running at the same time, we have the time-slots setup in 15 minute increments. Once a time-slot is selected, it is set only for the Automation you built - no other automation will have access to that slot until you delete the Automation.

  11. Once you've selected you've completed setting up the scheduling for your Automation, simply click Save & Schedule. You will be taken back to the Declarative Builder homepage, where your Automation will be present within the data-table.

Query & Update Records

The purpose of this Automation template is to take you through the process of setting up a batch job that would allow you to query for records in a single object, and perform an update operation on the records that were returned.

To begin the Query & Update Builder Template, click the Start Builder button on the corresponding panel as shown below:

  1. Begin by creating a unique job name for your Automation. This is a required step, because this name will be used to define the Automation you're about to create, within the data-table in the Declarative Builder start page. The job name should be descriptive enough to provide other Admins visiting the start page with context on what the Automation does.
  2. In the Select Object section, select the object you want to query your records for the update operation.
  3. Once you've selected the object you want to query against, you'll notice that the Add Filter and Add Row buttons will be ungrey in the Query Filter Logic section and Field Update Mapper section, respectively.

    This Query Filter Logic section is where you build the filtering logic for the records in the object you've elected to query. Additional details on working with building filters can be found in the Filter Builder section below

    The Field Update Mapper section is where you define what fields get updated with what value. All the records that are returned in your query will receive the updates you provide here. For additional details on working with building the mapping section, check out the Mapper Builder section below.

  4. The final section in this Automation template is the Schedule Your Job section. Your objective here is to schedule when you want your job to execute. Your options are:

    • Schedule to Run Monthly
      • You will be presented with a picklist of values 1 to 31. Your selection will determine what day of the month your Automation will run. Standard Salesforce® functionality still applies here - meaning if you select to run on the 31st, and there aren't 31 days in the month, then the Automation will not run.
    • Schedule to Run Weekly
      • You will be prompted with a series of weekday buttons, for you to designate on which day(s) of the week you'd like your Automation to run. If you'd like to have the Automation run every day, simply select each button that represents a day of the week.
  5. Whether you select to run monthly or weekly, you'll be presented with the Schedule Time section; where we present you with the DateTime -at the moment you selected the Monthly or Weekly option- to show you what date/time configuration your org is configured for - this is because the Automation operations will run in accordance to your Company Settings, not the User’s timezone. In this example above, we can see that the User's Company settings are for Pacific Standard Time, even though the user is not in that timezone.

    The Select Scheduled Run Time picklist will present you with a list of available time-slots for your Automation. Due to the potential record locking conflicts that can emerge from having multiple jobs running at the same time, we have the time-slots setup in 15 minute increments. Once a time-slot is selected, it is set only for the Automation you built - no other automation will have access to that slot until you delete the Automation.

Flow Operation

The purpose of this Automation template is to help expand your control over your existing Flow operations. Salesforce® defaults scheduled Flows to run at 200 records per batch. With this operation, you'll be able to designate a particular Flow you'd like us along with setting the amount of records you'd prefer in the batch operation. This means your more complex operations that failed during traditional Flow operations, due to reaching the 2000 element execution limit, can be adjusted to a lower record count. Additionally, if you have a smaller Flow that isn't at risk of this limit, but you'd prefer it to run against more records; you can easily set the limit to a higher value.

To begin the Flow Operation Template, click the Start Builder button on the corresponding panel as shown below:

  1. Begin by creating a unique job name for your Automation. This is a required step, because this name will be used to define the Automation you're about to create, within the data-table in the Declarative Builder start page. The job name should be descriptive enough to provide other Admins visiting the start page with context on what the Automation does.
  2. In the Select Object section, select the object you built your for your Flow operation.
  3. In the Create Query section, select the field filters that batch will use to narrow your object records down to the ones you want your Flow to execute against.
  4. In the Select Flow section, select your desired Flow from the picklist.
  5. In the Flow Specific Fields section you need to select the fields you utilize within your Flow. It is very important that the fields you use in the Flow you selected above, are selected here.
  6. The Schedule Job section, your objective here is to schedule when you want your job to execute. Your options are:
    • Schedule to Run Monthly
      • You will be presented with a picklist of values 1 to 31. Your selection will determine what day of the month your Automation will run. Standard Salesforce® functionality still applies here - meaning if you select to run on the 31st, and there aren't 31 days in the month, then the Automation will not run.
    • Schedule to Run Weekly
      • You will be prompted with a series of weekday buttons, for you to designate on which day(s) of the week you'd like your Automation to run. If you'd like to have the Automation run every day, simply select each button that represents a day of the week.
  7. Whether you select to run monthly or weekly, you'll be presented with the Schedule Time section; where we present you with the DateTime -at the moment you selected the Monthly or Weekly option- to show you what date/time configuration your org is configured for - this is because the Automation operations will run in accordance to your Company Settings, not the User's timezone. In this example above, we can see that the User's Company settings are for Pacific Standard Time, even though the user is not in that timezone.

    The Select Scheduled Run Time picklist will present you with a list of available time-slots for your Automation. Due to the potential record locking conflicts that can emerge from having multiple jobs running at the same time, we have the time-slots setup in 15 minute increments. Once a time-slot is selected, it is set only for the Automation you built - no other automation will have access to that slot until you delete the Automation.

  8. The final section is the Batch Operation section. In this section you'll the batch status and batch size.

    The default batch status is Active, however, at any time you can set this to Paused. Setting a batch to Paused means the job will not execute when scheduled. Once you set it back to Active again, it will resume running as scheduled. The Batch Size field takes a numeric value, and is used to set the amount of records you want your batch to run. The maximum batch run size is 2000 records, however, for a Flow it is unlikely your Flow will be able to run at that high a limit without encountering the 2000 element per transaction governor limit.

Query & Delete Records

The purpose of this Automation template is to take you through the process of setting up a batch job that would allow you to query for records in a single object, and perform a delete operation on the records that were returned. Great care should be taken when setting this Automation up; since deleting your data can have a material impact on your business operations. A use case for this operation would be to query for records that have already been migrated to a Big Object, and then delete those records - to free up storage in your org.

To begin the Query & Delete Builder Template, click the Start Builder button on the corresponding panel as shown below:

  1. Begin by creating a unique job name for your Automation. This is a required step, because this name will be used to define the Automation you’re about to create, within the data-table in the Declarative Builder start page. The job name should be descriptive enough to provide other Admins visiting the start page with context on what the Automation does.
  2. In the Select Object section, select the object you want to query your records for the delete operation.
  3. Once you've selected the object you want to query against, you'll notice that the Add Filter and Add Row buttons will be ungrey in the Query Filter Logic section and Field Update Mapper section, respectively.

    Once you've selected the object you want to query against, you'll notice that the Add Filter button will be ungrey in the Query Filter Logic section.

    This Query Filter Logic section is where you build the filtering logic for the records in the object you've elected to query. Additional details on working with building filters can be found in the Filter Builder section below.

  4. The final section in this Automation template is the Schedule Your Job section. Your objective here is to schedule when you want your job to execute. Your options are:

    • Schedule to Run Monthly
      • You will be presented with a picklist of values 1 to 31. Your selection will determine what day of the month your Automation will run. Standard Salesforce® functionality still applies here - meaning if you select to run on the 31st, and there aren't 31 days in the month, then the Automation will not run.
    • Schedule to Run Weekly
      • You will be prompted with a series of weekday buttons, for you to designate on which day(s) of the week you'd like your Automation to run. If you'd like to have the Automation run every day, simply select each button that represents a day of the week.
  5. Whether you select to run monthly or weekly, you'll be presented with the Schedule Time section; where we present you with the DateTime -at the moment you selected the Monthly or Weekly option- to show you what date/time configuration your org is configured for - this is because the Automation operations will run in accordance to your Company Settings, not the User's timezone. In this example above, we can see that the User's Company settings are for Pacific Standard Time, even though the user is not in that timezone.

    The Select Scheduled Run Time picklist will present you with a list of available time-slots for your Automation. Due to the potential record locking conflicts that can emerge from having multiple jobs running at the same time, we have the time-slots setup in 15 minute increments. Once a time-slot is selected, it is set only for the Automation you built - no other automation will have access to that slot until you delete the Automation.

Big Object Data Migration

The purpose of this Automation template is to take you through the process of setting up a batch job that would allow you to query records in your org that you’d like to migrate to a Big Object, for archival storage. This operation does not delete the records being migrated over. A separate Automation would be needed to set that up.

If you have a Big Object setup within your Salesforce® Org, then you will see the Big Object Data Migration template appear in the Declarative Builder templates, as shown below:

  1. Begin by creating a unique job name for your Automation. This is a required step, because this name will be used to define the Automation you’re about to create, within the data-table in the Declarative Builder start page. The job name should be descriptive enough to provide other Admins visiting the start page with context on what the Automation does.
  2. Select the Salesforce® Big Object you want to be the destination for your data migration.
  3. Select the Salesforce® object you want to be the source object of your data migration. This represents the object whose data will be migrated to the Big Object.
  4. In the Build SObject Query page of the Automation wizard, you'll be setting up the query logic for your source object; which is how your Automation will find the records that need migrating to the Big Object. Additionally, there is an optional step to update the records that have been designated for migration. This is purely optional, however, this is a useful step since you may want to set-up another Automation to delete these archived records.

    The Query Filter Logic section on this page functions the same as the other Query Filter Logic sections in the other Automations. Please reference the Filter Builder section below, for a more in-depth review.

    The Field Update Mapper section on this page functions the same as the other Field Update Mapper sections in the other Automations. Please reference the Mapper Builder section below, for a more in-depth review.

  5. In the Build Big Object Mapper page of the Automation wizard, you'll be configuring the mapping operation between the source object you selected and your destination Big Object.
  6. In the screenshot we have above, you can see we populate all of the Big Object fields. You'll also notice in our screenshot, some of the source object field picklists have a help icon associated with them, while others do not. This icon designates that that destination Big Object's field is either a look-up or a text field - which can be mapped. Care should be given to what value you mapped to these field types on the Big Object.

  7. The final section in this Automation template is the Schedule Your Job section. Your objective here is to schedule when you want your job to execute. Your options are:

    • Schedule to Run Monthly
      • You will be presented with a picklist of values 1 to 31. Your selection will determine what day of the month your Automation will run. Standard Salesforce® functionality still applies here - meaning if you select to run on the 31st, and there aren't 31 days in the month, then the Automation will not run.
    • Schedule to Run Weekly
      • You will be prompted with a series of weekday buttons, for you to designate on which day(s) of the week you'd like your Automation to run. If you'd like to have the Automation run every day, simply select each button that represents a day of the week.
  8. Whether you select to run monthly or weekly, you'll be presented with the Schedule Time section; where we present you with the DateTime -at the moment you selected the Monthly or Weekly option- to show you what date/time configuration your org is configured for - this is because the Automation operations will run in accordance to your Company Settings, not the User’s timezone. In this example above, we can see that the User's Company settings are for Pacific Standard Time, even though the user is not in that timezone.

    The Select Scheduled Run Time picklist will present you with a list of available time-slots for your Automation. Due to the potential record locking conflicts that can emerge from having multiple jobs running at the same time, we have the time-slots setup in 15 minute increments. Once a time-slot is selected, it is set only for the Automation you built - no other automation will have access to that slot until you delete the Automation.

Filter Builder

  1. To create the filter criteria, start by clicking the Add Filter button in this section.
  2. You will be prompted to select the field you'd like to use for your filter criteria. At present, there is a hard limit of 10 fields for this operation.
  3. The field you select will determine the operator and input values available to you.
    In this example, we're using the Account object, and will be selecting the standard picklist field Rating.

  4. The Operator selection tells us what to do with the field that you designate for the selected field. The Operator picklist values vary according to your select field's data type
  5. Checkbox fields are intentionally grayed out, because the only options available are TRUE or FALSE, and you'll be designating that in the Field Selection portion of the filter.

    The Operator for Date and Datetime fields will also have an option for Formula. Selecting this operation will allow you to confirm formula logic for enhancing your filter logic for the Date or Datetime field. More details on the Formula Builder can be found in the section labeled Formula Builder below.

  6. Once you've completed your selections for these two picklists, click the Save icon to save the filter configuration you built.
  7. After saving your selections, the row will become grayed out, preventing any changes to your selections. If you'd like to edit the filter, clicking the green pencil icon on the right will allow you to edit your filter. If you'd like to completely remove the filter, simply click the red delete icon on the right.
    • If there are 2 or more filters, within your configuration (like we have above), then the

      Custom Logic

      picklist will appear. The operations within this picklist are as follows:
    • All Conditions Are Met:
      • This is an AND operation, so each filter is considered. In the example above, you can tell this would not work, since that Account Rating field we're using cannot be both NULL and Cold.
    • Any Condition Is Met:
      • This is an OR operation, so either of the filters have to be resolved to TRUE in order for this filter to work. In the example above you could get away with an OR operation; however, for the purposes of this documentation the aim was the final option.
    • Custom:
      • Custom logic functionality is prolific throughout the declarative features (like Process Builder and Flow) within the Salesforce® platform - and we built our custom logic operations to mirror that behavior. When you select this option, an input field, Condition Logic, will appear to store your custom condition logic.
      • In the screenshot above, you can see that we set-up (1 or 2) and (3 or 4) - the parenthesis are important, failure to properly put parentheses around OR conditions will result in filters that may not meet your expectations. All of the role numbers within your filter must be present in your Custom Condition Logic statement.

Mapper Builder

The Mapper section of the Automation templates allows you to set-up logic for the following use-cases:

  • Updating Records:
    • The Mapper section will be used to define what fields you want updated, and what values you want in those fields.
  • Creating New Records:
    • The Mapper section will be used to define what field you want populated with values, upon creation.
    • Any required fields you have in your selected object will appear first, and cannot be ignored.
  1. To begin setting up the Mapper, simply click the Add Row button.
  2. The Select a Field picklist will present you with the fields available for mapping. When you select a field, that field will no longer be present for selection again in the Mapper -which makes sense, since you cannot map two different values to a single field.
  3. Like the Filter Builder, when you select a field for mapping you will be presented with a series of picklists to provide instructions for how that field should be populated. In the example above, the Mapping Operation is for a Picklist data type, therefore this picklist is grayed out since you’ll be designating a value for that field.

  4. If you are mapping child records, you may be presented with a Mapping Operation of Parent Field Value. This means you can populate your child records with the value from its parent record. This option is dependent on the field data type you selected, and your options for mapping the parent field value options will only be those parent fields that share the same data-type of the child field you selected.
  5. In the example above, the LastName field was selected for us, because in the example we are creating Contact records for the Account. Since LastName is required for Contacts, it’s prepopulated for us, and it's grayed out -so you cannot change it. The fields presented in the Select Parent Field picklist represent all the fields on the parent object that share the same data-type as the child field selected.

Formula Builder

When building out logic for your Date or DateTime fields, you will be presented with a Formula picklist option. You will be presented with different formula options, based on the Automation context you’re in - Filter logic and Mapper logic share similar functions, but also have unique options only available to them.

When you select the Formula option, you’ll be presented with a modal that will show the field you selected. In this example, you can see we have a test date-time field selected.

The Formula Operation picklist will present you with the options available to you, based on the field you selected and the context you’re operating within.

  • Filter-context:
    • If you are using the Formula Builder within a Filter operation, then you will be presented with Salesforce® standard “Date Literal” operation.
  • Mapper-context:
    • If you are using the Formula Builder within a Mapper operation, then you will be presented with options that are fewer; however are very specific to creating/updating records.
    • An example would be AddDays(), where the date/date-time field will be able to have days added.

The Operation Value is a picklist that appears within the Filter-context. You’ll be presented with filter options that will determine how we use this date/date-time field in your Automation’s operations. Values here will mirror the other filter options you have available to you, and are specific to date, date-time fields.

The Enter Numerical Value section appears depending on the operation you’ve selected within the Formula Operation section. As you see in the example above, with our Test_Date_Time__c field, we selected Salesforce® Date Literal option of Next_N_Days. This date literal requires a number value to fill the N value. The logic being built above for the Formula Builder is that we are only interested in records where the Test_Date_Time__c field value is greater than or equal to TODAY + 10 days. More details on Salesforce® Date Literal logic can be found here.

Saving the formula configuration will take you back to your filter, or mapper, and present you with the operator and value you’ve built. In this example, we see that the Test_Date_Time__c logic is greater than or equal to Next_N_Days: 10. If this is what you expected, click the Save icon to complete building the filter.

Maintenance Window

When accessing this feature for the first time, the app may perform a one-time setup process. Once the process is completed the Maintenance screen will load automatically.

Single Profile

  1. To restrict the login hours for a single profile, select the profile to change.
  2. Upon selection of the profile, the existing login hours will be displayed. Change any of the hours to reflect your desired maintenance window timeframe.
  3. Click Save. This will record your decisions to a record for scheduling.

If the save was successful, you will get a success confirmation.

Multiple Profiles

  1. To restrict the login hours for multiple profiles, select the profiles to change.
  2. Upon selection of the profile, the existing login hours will be displayed. Change any of the hours to reflect your desired maintenance window timeframe.
  3. Click Save. This will record your decisions to a record for scheduling.

If the save was successful, you will get a success confirmation.
(*Note if you change 10 or more profiles at once, it may take up to a minute to complete the change.)

Schedule Maintenance

This feature allows you to schedule a future time frame when you don’t want users to log into the org. This is useful when you have planned maintenance. Once the Maintenance End Time has lapsed, the Profiles login hours will return to their original state. Click the Schedule Maintenance Tab.

  1. Select the profiles you want to lock out for the scheduled maintenance.
  2. Populate the Maintenance Start and End Times, and login hours for the maintenance window.
  3. Click Save

If the save was successful, you will get a success confirmation.

Schedule Maintenance History

The schedule maintenance history tab will show a history of all the maintenance records. The table displays the start and end date of the window and the total number of profiles that are assigned along with the current status.



Record Actions

Clicking on the down arrow next to each record will display different options that are available based on the status of the maintenance record. (Note “Start Maintenance Window Now” will only show if the maintenance window is the same day as the current date)



Scheduled Maintenance Flow

Once the scheduled maintenance window starts The maintenance window will move through the following statuses until the window has ended:

  • Starting Job - Maintenance window job is starting
  • Getting Current Hours - Gets the current login hours for each profile in window
  • Assigning Hours - Assigning the specified login hours for each profile in window
  • Maintenance Hours Assigned - The login hours have been assigned
  • Assigning Previous Hours - Reverts the login hours to what they were before window started.
  • Completed - The maintenance window has ended.

Optional Filters

When using the Single Profile, Multiple Profiles, or Scheduled Maintenance tabs, Click the gear icon to see options for setting different hour values very quickly.

  • Set All To None - Will set all the hours to none
  • Set Maintenance Mode - Will set the login hours to 12:00 AM - 11:59 PM

AdminCentral® Logs

Errors generated from any of the operations within the AdminCentral® application will create AdminCentral® Log records. These logs can be accessed from the Features Console in the AdminCentral® home page.

To report any issues you find within the AdminCentral® Logs, or any questions or concerns you may have in general, click on the Report Issue link in the footer of the AdminCentral® home page.

In the description section, provide us with the details you are receiving from the AdminCentral® Logs' Message, Class, Method, and Line fields. If you have any questions or concerns that are not associated with an AdminCentral® Log, please provide us with an explanation of what your expected experience was and what your actual experience was; for the feature you encountered an issue with.

FAQs

The questions below are common questions we've received over the years, which we have documented here to save you some time from reaching out to us.

Do we have to purchase the AdminCentral® application from the Salesforce AppExchange®?

Yes. Per our terms of aggreement with Salesforce®, we are only able to offer the AdminCentral® application for Salesforce® Orgs via the Salesforce AppExchange®.

We are a Non-Profit. How do we go about getting the non-profit discount?

Please contact us directly at support@admincentral.io. All we require is proof of your non-profit status.

Does the Declarative Batch Builder allow for complex, conditional build logic?

Not the Declarative Batch Builder, though an advanced builder is in the works that will allow for this.

I understand that the System Administrator profile is intentionally excluded from the Maintenance Window. It there a way to add certain System Administrator users to the Maintenance Window?

For security purposes, we intentionally exclude the System Administrator profile from the Maintenance Window. If there are users with the System Administrator profile that you'd like added to a maintenance window, then you might want to consider cloning the System Administrator profile and adding those users to it. That cloned profile will be eligible for inclusion into the Maintenance Window builder.

Does AdminCentral® offer any consulting services?

AdminCentral® does not perform any contracting services at this time. While the team has an extensive history in the consulting sector, the purpose of this company and its product is purely to offer Salesforce® System Administrators with tools to make their org management operations easier. That said, if you would like us to introduce you to consultants within our network, please feel free to reach out to us via the Contact Us page.

What if I have an idea for a feature? Can I submit it to you?

Absolutely! Many of the features you currently see here have come directly from our community of users. If you have a feature request that you'd like us to look into, please reach our to us via our Contact Us page. If there isn't enough room for your details, feel free to leave a summary of the feature with a request for us to contact you for additional details.