•   Next SailPoint IIQ Batch Starts July 15th, 2026 — Limited to 25 Seats. Register for Free Demo.   •   100% Live Online — LMS Recordings Included   •   Batch Capped at 25 Students   •   LMS Portal Access Included   •   Placement Assistance Provided   •   Next SailPoint IIQ Batch Starts July 15th, 2026 — Limited to 25 Seats. Register for Free Demo.   •   100% Live Online — LMS Recordings Included   •   Batch Capped at 25 Students   •   LMS Portal Access Included   •   Placement Assistance Provided
SailPoint Academy Logo
Technical Guide  •  9 min read

SailPoint IIQ Rules & BeanShell Explained — Aggregation, Provisioning, Connector and Schema Rules

What BeanShell is, what a rule actually does in SailPoint IdentityIQ, the rule types you will meet on real projects, and where each one fires — mapped to Module 6 of the IIQ curriculum and the questions interviewers ask.

SailPoint Academy Team June 13, 2026 Updated June 2026
70+
Rule Types in IIQ
BeanShell
Java-Based Scripting
Module 6
of 14 in Curriculum
₹25K
Program Fee
Register for Free Demo
60 minutes. Live on Zoom. No payment required.

Successfully Registered!

Our team will reach you on WhatsApp within 2 hours.

No spam. No payment required. 100% free demo.
SailPoint IIQ rules and BeanShell scripting for identity governance customisation

What Is BeanShell in SailPoint IIQ?

BeanShell in SailPoint IdentityIQ (IIQ) is a lightweight scripting language based on Java that is used to write rules and custom logic. Because IdentityIQ is built in Java, BeanShell uses familiar Java-like syntax and can call the IdentityIQ API directly, letting developers customise aggregation, provisioning, correlation, and other behaviour at defined points in the product.

Think of BeanShell as "Java without the compile step." You write code that looks like Java, IIQ interprets it at runtime, and it has access to the same SailPoint objects a Java developer would use. This is why Java developers transition into SailPoint development so naturally — the syntax is already familiar, and the learning curve is about the IIQ object model, not a new language.

Why this matters for your career: Rules and BeanShell are where the higher-paying SailPoint developer roles live. Analysts and consultants configure IIQ; developers extend it with rules. If you have a Java background, this module is your fastest route to a premium SailPoint salary band.

What Is a Rule in SailPoint IIQ?

A rule in SailPoint IdentityIQ is a reusable block of BeanShell (Java) code that adds custom business logic at specific points in the product, such as during aggregation or provisioning. IIQ ships with more than 70 rule types. Unlike scripts, which are embedded inside objects, rules are standalone objects that many other objects can reference and reuse.

This reusability is the key idea. A single Build Map rule, for example, can be shared by two different applications that read similar files. When IdentityIQ reaches a defined point in its execution flow — reading an account, correlating it, provisioning a change — it checks whether a rule is configured there and, if so, runs your BeanShell code. Every rule is also passed two common objects: a logging handle and the IdentityIQ context, which gives your code access to the SailPoint API to query identities, applications, and more.

What Is the Difference Between a Rule and a Workflow?

In SailPoint IIQ, a rule is a reusable block of BeanShell code that runs focused custom logic at one point in execution, while a workflow is a step-by-step automated business process such as an access-approval or provisioning flow. Workflows orchestrate multiple steps and can call rules; rules handle a single piece of logic like attribute transformation or correlation.

A useful way to hold the distinction: a workflow is the process (what happens, in what order, with which approvals), while a rule is a decision or transformation plugged into that process. There is also a storage difference — scripts are embedded directly inside the object that uses them (like a policy or a workflow step), whereas rules are saved as separate, named objects that can be reused across the system. Workflows are Module 13 of the curriculum; rules sit in Module 6.

What Are the Main Rule Types in SailPoint IIQ?

Key SailPoint IIQ rule types include Connector and Build Map rules that run while reading data, Correlation and Creation rules that link or create identities, Aggregation rules that transform data on read, and Provisioning rules that control writes back. IdentityIQ has 70+ rule types overall, each invoked at a defined execution point.

Build Map Rule

Transforms a raw data row (e.g. a CSV line) into a map of attributes IIQ understands. Reusable across applications reading similar data.

Correlation Rule

Matches an aggregated account to the right Identity Cube when simple attribute matching is not enough. Prevents orphans and duplicates.

Creation Rule

Sets attributes on a newly created identity or account — for example deriving a display name or default values at creation time.

Aggregation Rule

Manipulates or enriches the resource object as it is aggregated into IIQ, after the connector has read it.

Connector Rule

Runs during read from specific connectors (Delimited File, JDBC, SAP) — generally before aggregation rules.

Provisioning Rule

Controls how changes are written back to a target system, including before/after provisioning logic.

You do not memorise all 70+ — you learn the handful used on almost every project (Build Map, Correlation, Aggregation, Provisioning, Connector) and understand the pattern well enough to read the IIQ documentation for the rest.

Want to write your first BeanShell rule with a trainer?

Attend a free 60-minute live demo before you decide. No payment, no commitment — see real IIQ rule-writing in action.

Attend Free Demo

What Is the Difference Between a Connector Rule and an Aggregation Rule?

In SailPoint IIQ, a connector rule runs during data read from specific connectors such as Delimited File, JDBC, and SAP, and generally executes before aggregation rules, while an aggregation rule transforms the resource object as it is aggregated. Connector rules handle connector-level data; aggregation rules handle account-level transformation.

Order matters here, and interviewers test it. The sequence during a read is roughly: the connector pulls raw data, the connector rule (if present) processes it first, then the aggregation rule transforms the resulting object before it becomes an account or identity link in IIQ. This is exactly where the connectors module and the rules module meet — a "special connector" is simply a connector that relies on a connector rule.

How Do Provisioning and Schema Rules Work?

In SailPoint IIQ, a provisioning rule controls how changes are written back to a target system during provisioning, while a schema rule lets you separate the business logic for account objects from group (non-account) objects. Provisioning rules can run before or after the provisioning action, enabling custom handling such as calling a stored procedure.

Provisioning is the write path, so these rules are higher-stakes than read-side rules — a mistake can grant or revoke real access. Common patterns include BeforeProvisioning and AfterProvisioning rules that adjust the request or perform follow-up actions, and JDBC provisioning rules that execute SQL against a database. Schema rules reduce repetitive checks by letting your code treat accounts and groups separately. These connect directly to application onboarding, where provisioning is configured.

What Does a SailPoint Rule Actually Look Like?

A SailPoint IIQ rule is an XML object with a type attribute that wraps a block of BeanShell code, and every rule receives common input objects — a logging handle and the IdentityIQ context for calling the SailPoint API. SailPoint ships an exampler­ules.xml file with one example of each rule type in the IdentityIQ installation.

Conceptually, a correlation rule reads the incoming account's identifier, queries IIQ for a matching identity using the context API, and returns the match. You do not need to write production code on day one — the goal in training is to read an existing rule, understand where it fires, and modify it safely. SailPoint's own example rules file is the best starting reference, and it is exactly how rules are taught hands-on in SailPoint Academy's live IIQ course.

Start by reading, not writing

The fastest way to learn IIQ rules is to open the bundled example rules, identify the rule type and where it executes, and trace what the BeanShell does with the context object. Writing your own becomes easy once you can read the patterns.

What Do Interviewers Ask About Rules and BeanShell?

SailPoint rule and BeanShell questions are common in IIQ developer interviews, focusing on rule types, the rule-vs-workflow distinction, the difference between connector and aggregation rules, and when to use a correlation or provisioning rule. These appear in technical rounds at GCCs, Big 4 consulting firms, and IT services companies hiring SailPoint developers.

  • What is BeanShell and why does SailPoint use it?
  • What is the difference between a rule and a workflow?
  • Name the rule types you have worked with and where each one fires.
  • What is the difference between a connector rule and an aggregation rule, and which runs first?
  • When would you write a correlation rule instead of using attribute-based correlation?
  • What are the common parameters passed to every rule, and what is the context object?

If you can answer these with examples, you are interview-ready on this module. For a wider set, see our SailPoint IIQ interview questions guide, and the SailPoint career paths page shows where developer roles sit.

Frequently Asked Questions

These are the questions IT professionals most often ask about SailPoint IdentityIQ (IIQ) rules and BeanShell — drawn from practitioner forums, the SailPoint Developer Community, and questions students raise in SailPoint Academy live sessions. Each answer maps to Module 6 of the 14-module IIQ curriculum.

BeanShell in SailPoint IdentityIQ (IIQ) is a lightweight scripting language based on Java that is used to write rules and custom logic. Because IIQ is built in Java, BeanShell uses familiar Java-like syntax and can call the IdentityIQ API, letting developers customise aggregation, provisioning, correlation, and other behaviour at specific points in the product.
A rule in SailPoint IdentityIQ is a reusable block of BeanShell (Java) code that adds custom business logic at specific points in the product, such as during aggregation or provisioning. IIQ ships with 70+ rule types. Unlike scripts, which are embedded in objects, rules are standalone objects that many objects can reuse.
Key SailPoint IIQ rule types include Connector and Build Map rules (run during data read), Correlation and Creation rules (link or create identities), Aggregation rules (transform data on read), and Provisioning rules (control writes back). IdentityIQ has 70+ rule types overall, each invoked at a defined execution point.
In SailPoint IIQ, a rule is a reusable block of BeanShell code that runs custom logic at one point in execution, while a workflow is a step-by-step automated business process such as an access-approval or provisioning flow. Workflows orchestrate multiple steps and can call rules; rules handle focused logic like attribute transformation or correlation.
In SailPoint IIQ, a connector rule runs during data read from specific connectors (Delimited File, JDBC, SAP) and generally executes before aggregation rules. An aggregation rule then transforms or manipulates the resource object as it is aggregated. Connector rules handle connector-level data; aggregation rules handle account-level transformation.
Basic Java helps but is not strictly required to start, because BeanShell uses simplified Java-like syntax. SailPoint IIQ rule-writing is a developer-level skill: analyst and consultant roles often configure without rules, while developer roles write Connector, Provisioning, and Correlation rules. Java developers transition into IIQ rule work naturally.
Live SailPoint IIQ Training — Hands-On

Write Real BeanShell Rules With a Trainer

Attend a free 60-minute live demo — see real IIQ rule-writing, ask the trainer anything, and decide with complete clarity. No payment. No commitment.

Explore More from SailPoint Academy

SailPoint Academy Home SailPoint IIQ Course Full IIQ Curriculum IIQ Connectors Explained Application Onboarding Guide IAM Career Paths Java Developer to SailPoint IIQ Interview Questions
Book A Free Demo Call Now WhatsApp