Introduction
In Pega, every interaction with the application uses a Requestor. A Requestor represents the connection or session between a client and the Pega Platform.
Developers usually focus on cases, activities, Data Pages, flows, and user interfaces. However, the Requestor quietly manages many of the runtime details needed to process these operations.
Understanding the Requestor lifecycle gives developers a clearer view of how Pega manages sessions, authentication, Clipboard data, application context, transactions, connections, and resource cleanup.
The lifecycle can be summarized as:
Connection → Requestor Creation → Authentication → Initialization → Processing → State Management → Timeout/Passivation → Cleanup
This lifecycle becomes especially useful when troubleshooting session behavior, memory usage, performance issues, authentication problems, and unexpected Clipboard data.
What Is a Pega Requestor?
A Requestor is the runtime representation of a client connection to the Pega Platform.
It can support several types of interactions, including:
- Browser sessions
- REST API requests
- SOAP service requests
- Background processing
- Asynchronous processing
- Application-to-application communication
The Requestor provides the runtime context that Pega needs to process an interaction.
For example, it can maintain information such as:
- Operator context
- Application context
- Access Group
- Locale
- Time zone
- Clipboard
- Session information
- Authentication information
- Processing state
As a result, the Requestor acts as an important part of the runtime environment.
Why Does the Requestor Matter?
A Pega application may handle thousands or even millions of requests. Each request, however, needs an execution context.
The Requestor provides that context. For instance, when a user opens a case, Pega needs to determine:
- Who is making the request?
- Which application are they using?
- What permissions do they have?
- What case are they accessing?
- What data is available?
- Which rules should execute?
Therefore, the Requestor helps establish the environment in which Pega processes the request.
Understanding the Requestor Lifecycle
A simplified Requestor lifecycle looks like this:
Client Connection
↓
Requestor Created
↓
Authentication
↓
Application Initialization
↓
Clipboard Initialization
↓
Request Processing
↓
Transaction Management
↓
Response
↓
Requestor Remains Active
↓
Timeout / Passivation
↓
Requestor Cleanup
The exact lifecycle can vary based on the Requestor type and processing model. Therefore, developers should treat this flow as a simplified representation rather than a fixed sequence for every interaction.
Step 1: Client Connection
The lifecycle starts when a client connects to Pega.
The client could be:
- A web browser
- A mobile application
- A REST client
- An external application
- An internal service
- A background process
The Pega application infrastructure receives the incoming connection. Next, Pega establishes the runtime context required to handle the interaction.
Step 2: Requestor Creation
Pega creates or associates a Requestor with the interaction.
At this stage, the Requestor becomes the runtime context for the session. It provides the environment in which Pega can execute:
- Rules
- Activities
- Data Transforms
- Data Pages
- Flows
- Integrations
- Case operations
However, the complete application context may not be available immediately. Pega establishes additional context as the interaction continues.
Step 3: Authentication
For authenticated interactions, Pega identifies the user or calling system.
Authentication can involve mechanisms such as:
- User credentials
- Single sign-on (SSO)
- OAuth
- API authentication
- Service authentication
Once authentication succeeds, Pega can establish the appropriate security context.
As a result, subsequent processing can use the identity and permissions associated with the interaction.
Step 4: Access Group and Application Context
After authentication, the runtime context determines which application configuration and access permissions apply.
This context can influence:
- Available rules
- Roles
- Privileges
- Case types
- Navigation
- Application behavior
The Access Group plays an important role because it helps establish the application context under which the user operates.
Consequently, the Requestor can process requests within the appropriate application and security environment.
Step 5: Clipboard Initialization
The Requestor works with a Clipboard that stores runtime data during processing.
The Clipboard can contain:
- User information
- Request parameters
- Case data
- Data Pages
- Temporary pages
- Process information
- Integration responses
In simple terms, the Clipboard acts as an in-memory workspace for request processing.
Because this data remains available during processing, developers should avoid loading unnecessary information into it.
Step 6: Request Processing
Once the Requestor has the required context, Pega begins processing the request.
For example, a case submission may follow this general flow:
User clicks Submit
↓
Request reaches Pega
↓
Requestor context is identified
↓
Clipboard is updated
↓
Validation runs
↓
Business rules execute
↓
Flow advances
↓
Database transaction occurs
↓
Response is generated
The Requestor remains involved throughout this processing.
Therefore, any inefficient processing, excessive data loading, or long-running operation can affect the overall request experience.
Step 7: Rule Execution
Pega executes rules within the Requestor’s runtime context.
Examples include:
- Data Transforms
- Activities
- When Rules
- Decision Tables
- Declare Expressions
- Validation rules
- Flow rules
These rules can read and modify information stored on the Clipboard.
For this reason, developers should understand how their rules use runtime data. Efficient rule execution can help reduce unnecessary processing and improve application performance.
Step 8: Data Page Interaction
Data Pages can also participate in Requestor processing.
Depending on their scope and configuration, Data Pages can provide reusable data during a request.
A simplified flow may look like this:
Requestor
↓
Data Page
↓
Customer Data
↓
Clipboard
↓
Business Logic
Data Pages can reduce repeated data retrieval when developers configure them appropriately.
As a result, effective Data Page usage can help improve application efficiency while reducing unnecessary data access.
Step 9: Transaction Processing
Transaction processing becomes important when a request changes persistent information.
A simplified transaction flow looks like this:
Clipboard Changes
↓
Validation
↓
Business Processing
↓
Persistence
↓
Commit
If processing succeeds, the appropriate database changes can be committed.
However, if an error occurs, transaction handling can help prevent incomplete updates from becoming permanent.
Therefore, developers should consider validation, business processing, persistence, and error handling together when troubleshooting transaction-related issues.
Step 10: Response Generation
After Pega finishes processing the request, it generates a response.
The response format depends on the type of interaction.
For example:
- A browser interaction may return updated UI information.
- A REST request may return JSON.
- A service interaction may use the response format defined by its interface.
In each case, the Requestor provides the runtime context required to complete the operation.
Step 11: The Requestor Remains Active
The completion of one request does not always mean that the Requestor immediately disappears.
For interactive sessions, the Requestor can remain available for later requests.
For example:
Login
↓
Requestor Created
↓
Open Case
↓
Request Completed
↓
Requestor Remains Active
↓
Update Case
↓
Request Completed
This behavior allows the application to maintain session-related context across multiple interactions.
Understanding Requestor State
A Requestor can move through different runtime states during its lifecycle.
Conceptually, the state flow looks like this:
Created → Active → Idle → Passivated → Activated → Active → Terminated
The exact behavior depends on the Requestor type and platform configuration.
Nevertheless, this model helps developers understand why a Requestor may continue to exist after an individual request has finished.
Requestor Passivation
When an interactive Requestor remains inactive for a period of time, the platform can manage its resources to reduce memory usage.
Passivation becomes particularly important when an environment has many concurrent sessions.
Instead of keeping every idle session fully active in memory, the platform can reduce its active resource footprint.
As a result, passivation can help balance session continuity with server resource utilization.
Requestor Activation
A passivated Requestor may need to become active again when a new request arrives.
A simplified flow looks like this:
Active Requestor
↓
Inactive
↓
Passivated
↓
New Request
↓
Activated
↓
Processing Continues
This process allows the platform to continue working with the session while managing available resources.
Requestor Timeout
Requestor timeout is another important lifecycle event.
If an interactive session remains inactive beyond the configured timeout period, the session may be terminated.
This behavior helps prevent unused sessions from consuming resources indefinitely.
Therefore, session timeout settings can play an important role in environments with many users or long periods of inactivity.
Requestor Termination
When the Requestor is no longer required, Pega terminates it.
Termination can occur because of:
- User logout
- Session timeout
- Application shutdown
- Service completion
- System-level cleanup
During termination, the platform releases runtime resources associated with the Requestor.
Consequently, proper lifecycle management helps prevent unnecessary resource usage.
Clipboard and Requestor Relationship
One of the most important concepts for developers is the relationship between the Requestor and the Clipboard.
Conceptually, the relationship looks like this:
Requestor
- Application Context
- User Context
- Session Information
- Clipboard
- Case Data
- Data Pages
- Parameters
- Temporary Pages
The Clipboard forms part of the runtime processing environment associated with the Requestor.
Therefore, Clipboard size and content can directly influence the amount of runtime data associated with a session.
Why Can a Large Clipboard Be a Problem?
A Requestor that continuously accumulates unnecessary Clipboard data can consume significant memory.
Common causes include:
- Large Page Lists
- Unnecessary Data Pages
- Large integration responses
- Temporary pages that remain longer than required
- Excessive case data
- Repeated data loading
Over time, this extra data can contribute to memory pressure and poor application performance.
For that reason, developers should load only the data that the application actually needs.
Requestor-Level Performance Problems
Requestor-related issues can appear in several ways.
Common symptoms include:
- Slow response times
- High memory consumption
- Session instability
- Large Clipboard sizes
- Excessive database interactions
- Long-running requests
When these symptoms appear, developers should examine both the request-processing logic and the Requestor’s runtime behavior.
For example, a slow request may involve inefficient rules, repeated database operations, large Clipboard data, or slow external integrations.
Requestor Types
Pega supports different categories of Requestors for different interaction models.
Common examples include:
- Browser-based Requestors
- Service Requestors
- Background Requestors
- Application Requestors
Each type supports a specific processing model. Therefore, lifecycle behavior can differ between Requestor types.
Service Requestors
A Service Requestor supports service-based communication.
For example:
External System
↓
REST Request
↓
Service Requestor
↓
Pega Processing
↓
Response
The lifecycle for this type of interaction can be shorter than that of a long-lived browser session.
The exact behavior, however, depends on the service and platform configuration.
Background Processing
Background processing may also require a runtime execution context.
Examples include:
- Scheduled processing
- Queue-based processing
- Asynchronous operations
- Background jobs
These interactions generally use a different processing model from long-lived interactive sessions.
As a result, developers should consider the Requestor type when analyzing background processing behavior.
Requestor and Database Connections
A Requestor should not be treated as the same thing as a single database connection.
Pega manages database access through its persistence infrastructure and connection management mechanisms.
A Requestor can initiate processing that requires database operations. However, the platform handles database connection management separately.
This distinction is important when troubleshooting database performance.
Therefore, developers should avoid assuming that every Requestor represents one continuously active database connection.
Requestor and Authentication Context
The Requestor also helps maintain the security context under which processing occurs.
This context allows Pega to determine:
- Which operator is executing the request
- Which roles apply
- Which Access Group is active
- What resources can be accessed
- Which security policies should be enforced
Security context is therefore an important part of the Requestor lifecycle.
Understanding this relationship can also help developers investigate authentication and authorization problems.
Requestor and Concurrency
Multiple users can have multiple Requestors processing requests at the same time.
For example:
User A → Requestor A
User B → Requestor B
User C → Requestor C
User D → Requestor D
Each interactive session has its own runtime context.
This separation helps prevent one user’s Clipboard state from becoming directly mixed with another user’s session.
As concurrency increases, however, the number of active Requestors and the amount of runtime data can also increase.
Requestor and Performance Monitoring
When investigating performance problems, developers should examine several factors:
- Request duration
- Number of database operations
- Clipboard size
- Rule execution time
- Integration latency
- Session activity
- Memory consumption
Tools such as Tracer, performance diagnostics, application logs, and browser network analysis can help identify where processing time is being spent.
For example, a large Clipboard may point to unnecessary data loading, while high integration latency may indicate a slow external dependency.
Common Requestor Problems
Large Clipboard
Too much data can remain in memory and increase the runtime footprint.
Long-Running Requests
A request may perform expensive processing or wait for an external dependency.
Session Timeout
A user may remain inactive beyond the configured session limits.
Memory Pressure
Many active sessions or excessively large runtime data structures can consume significant resources.
Unexpected Session Behavior
Incorrect assumptions about Requestor state can lead to confusing application behavior.
Understanding the lifecycle can make these problems easier to investigate.
Best Practices for Managing Requestors
Developers should follow several practices when designing Pega applications:
- Avoid loading unnecessary data onto the Clipboard.
- Keep request processing lightweight.
- Avoid unnecessarily large Page Lists.
- Use Data Pages appropriately.
- Avoid unnecessary database operations.
- Design integrations with suitable timeouts.
- Monitor long-running requests.
- Understand session timeout behavior.
- Clean up temporary runtime data when appropriate.
- Monitor memory usage in high-concurrency environments.
These practices can help reduce unnecessary resource usage and make performance problems easier to identify.
Why Developers Should Understand the Requestor Lifecycle
Understanding Requestors can explain many behaviors that otherwise seem mysterious.
For example, developers may ask:
Why Is Session Information Still Available?
The Requestor may remain active across multiple requests.
Why Does an Idle Session Consume Resources?
An active Requestor can retain runtime state.
Why Can a Large Clipboard Affect Performance?
The Clipboard forms part of the Requestor’s runtime processing context.
Why Does a Service Request Behave Differently From a Browser Session?
Different Requestor types support different lifecycle and processing models.
Therefore, understanding the Requestor provides a stronger foundation for troubleshooting and performance analysis.
Conclusion
The Pega Requestor is an important runtime concept behind Pega application execution. However, it often remains invisible to developers during everyday development.
Every interaction needs a runtime context in which authentication, application configuration, Clipboard data, business rules, transactions, and responses can be managed.
Understanding the Requestor lifecycle—from creation and authentication to processing, idle states, passivation, timeout, and termination—provides deeper insight into how Pega manages application resources.
For developers and architects, this knowledge is especially useful when troubleshooting session behavior, memory consumption, Clipboard growth, performance issues, concurrency, authentication problems, and long-running requests.
The Requestor may remain hidden behind the application interface, but it works continuously behind the scenes to provide the runtime foundation for Pega applications.