zpa-create-timeout-policy-rule
Create ZPA timeout policy rules that control session re-authentication and idle timeout behavior. Configures how long a user session remains active (reauth_timeout) and how long an idle session persists (reauth_idle_timeout) before requiring re-authentication. Supports conditions: APP, APP_GROUP, CLIENT_TYPE, SAML, SCIM, SCIM_GROUP, PLATFORM, and POSTURE. Use when an administrator asks: 'Set session timeout', 'Configure idle timeout', 'Require re-authentication after X hours', or 'Set different timeouts per app or user group.'
What this skill does
# ZPA: Create Timeout Policy Rule
## Keywords
timeout policy, session timeout, idle timeout, reauth timeout, re-authentication, session expiry, idle disconnect, timeout rule, session duration, zpa timeout, reauth policy
## Overview
Create ZPA timeout policy rules that define session re-authentication and idle timeout behavior. Timeout policies control how long a user's authenticated session remains valid and how long an idle connection persists before requiring re-authentication. Different applications and user groups can have different timeout values.
**Use this skill when:** An administrator asks to configure session timeouts, set idle disconnect timers, require re-authentication after a specific period, or apply different timeout rules to different applications or user groups.
---
## Timeout Parameters
### `reauth_timeout` (Session Timeout)
How long a user session remains valid before requiring re-authentication, regardless of activity.
| Value Format | Examples | Description |
|---|---|---|
| `<number> Minutes` | `"30 Minutes"`, `"60 Minutes"` | Session expires after N minutes |
| `<number> Hours` | `"4 Hours"`, `"8 Hours"` | Session expires after N hours |
| `<number> Days` | `"1 Days"`, `"10 Days"`, `"30 Days"` | Session expires after N days |
| `Never` | `"Never"` | Session never expires (not recommended for sensitive apps) |
Minimum: 10 minutes. Default: `"172800"` (seconds, i.e., 2 days).
### `reauth_idle_timeout` (Idle Timeout)
How long an idle (inactive) connection persists before the session is terminated.
| Value Format | Examples | Description |
|---|---|---|
| `<number> Minutes` | `"10 Minutes"`, `"30 Minutes"` | Idle session expires after N minutes |
| `<number> Hours` | `"1 Hours"`, `"2 Hours"` | Idle session expires after N hours |
| `<number> Days` | `"1 Days"` | Idle session expires after N days |
| `Never` | `"Never"` | Idle sessions never expire |
Minimum: 10 minutes. Default: `"600"` (seconds, i.e., 10 minutes).
### Action
The only supported action is `RE_AUTH` -- when the timeout is reached, the user must re-authenticate.
---
## Baseline Values (recommended)
Reference: ZPA Baseline Recommendations v1.0 §Timeout Policies Recommendations.
### Authentication timeout (`reauth_timeout`)
| Profile | Value | Rationale |
|---|---|---|
| **Default — high-security environment** | `"24 Hours"` | Daily MFA / SSO revalidation. |
| **Default — convenience-focused** | `"3 Days"` to `"7 Days"` | Lower friction for low-risk tenants. |
| **Service accounts (documented exception)** | `"30 Days"` or `"Never"` | Only with explicit security exception and inventory tracking. |
Apply a single global authentication-timeout rule and add narrow per-group exceptions only when justified.
### Idle timeout (`reauth_idle_timeout`) — per app class
| App class | Value | Why |
|---|---|---|
| Non-sensitive apps | `"15 Minutes"` to `"30 Minutes"` | Frees connector resources, low security risk. |
| Sensitive apps (Finance, HR, regulated) | `"10 Minutes"` to `"15 Minutes"` | Tighter idle window for crown-jewel apps. |
| Long-lived sessions (RDP, SSH, DB) | `"30 Minutes"` to `"60 Minutes"` | Avoids dropping interactive shells mid-session. |
| Background services / API agents / monitoring | `"Never"` | Disable idle so automated clients don't reconnect on every poll. |
**Anti-pattern:** Avoid `reauth_idle_timeout` below `"10 Minutes"` — causes constant tunnel reconnects and poor user experience.
---
## Condition Object Types
Timeout policies support a subset of condition types.
### Value-Based (use `values`)
| Object Type | Description | Values |
|---|---|---|
| `APP` | Application segments | Application segment IDs |
| `APP_GROUP` | Segment groups | Segment group IDs |
| `CLIENT_TYPE` | Client connector type | `zpn_client_type_zapp`, `zpn_client_type_exporter`, `zpn_client_type_browser_isolation`, `zpn_client_type_ip_anchoring`, `zpn_client_type_edge_connector`, `zpn_client_type_branch_connector`, `zpn_client_type_zapp_partner` |
### Entry-Values Based (use `entry_values` with `lhs`/`rhs`)
| Object Type | LHS | RHS |
|---|---|---|
| `SAML` | SAML attribute ID | Attribute value to match |
| `SCIM` | SCIM attribute header ID | Attribute value to match |
| `SCIM_GROUP` | Identity Provider ID | SCIM group ID |
| `PLATFORM` | `linux`, `android`, `ios`, `mac`, `windows` | `"true"` or `"false"` |
| `POSTURE` | Posture profile `posture_udid` | `"true"` or `"false"` |
---
## Workflow
### Step 1: Gather Requirements
Ask the administrator:
**Required:**
- Rule name
- Session timeout value (e.g., "8 Hours", "30 Days", "Never")
- Idle timeout value (e.g., "30 Minutes", "1 Hours", "Never")
**Optional:**
- Description
- Which applications or segment groups to scope to
- Which users/groups this applies to
- Platform restrictions
- Posture requirements
**Common scenarios:**
- "Sessions should expire after 8 hours for all apps" -> global timeout rule
- "Sensitive apps should have a 30-minute idle timeout" -> scoped to APP_GROUP
- "Contractors should re-authenticate every 4 hours" -> scoped to SCIM_GROUP
- "Mobile devices should have shorter timeouts" -> scoped to PLATFORM
---
### Step 2: Look Up Required IDs
**For application scoping:**
```text
zpa_list_segment_groups()
zpa_list_application_segments()
```text
**For identity conditions:**
```text
get_zpa_scim_group(search="<group_name>")
get_zpa_saml_attribute(search="<attribute_name>")
```text
**For posture profiles:**
```text
get_zpa_posture_profile(search="<profile_name>")
```text
---
### Step 3: Create the Rule
```text
zpa_create_timeout_policy_rule(
name="<rule_name>",
action_type="RE_AUTH",
reauth_timeout="<session_timeout>",
reauth_idle_timeout="<idle_timeout>",
description="<description>",
conditions=<conditions_payload>
)
```text
---
### Step 4: Verify
```text
zpa_get_timeout_policy_rule(rule_id="<returned_rule_id>")
```text
---
## Ready-to-Use Examples
### Example 1: Standard Timeout for a Segment Group
Set 8-hour session timeout and 30-minute idle timeout for internal applications.
**Step 1: Find the segment group**
```text
zpa_list_segment_groups()
```text
**Step 2: Create rule**
```text
zpa_create_timeout_policy_rule(
name="Standard Timeout - Internal Apps",
action_type="RE_AUTH",
reauth_timeout="8 Hours",
reauth_idle_timeout="30 Minutes",
description="Standard session and idle timeouts for internal applications",
conditions=[
{
"operator": "OR",
"operands": [
{
"object_type": "APP_GROUP",
"values": ["<internal_apps_segment_group_id>"]
}
]
}
]
)
```text
---
### Example 2: Strict Timeout for Sensitive Applications
Short session timeout (4 hours) and aggressive idle timeout (10 minutes) for sensitive apps.
```text
zpa_create_timeout_policy_rule(
name="Strict Timeout - Sensitive Apps",
action_type="RE_AUTH",
reauth_timeout="4 Hours",
reauth_idle_timeout="10 Minutes",
description="Short timeouts for sensitive/high-security applications",
conditions=[
{
"operator": "OR",
"operands": [
{
"object_type": "APP_GROUP",
"values": ["<sensitive_apps_segment_group_id>"]
}
]
}
]
)
```text
---
### Example 3: Contractor-Specific Timeout
Contractors must re-authenticate every 4 hours with a 15-minute idle timeout.
**Step 1: Look up contractor group**
```text
get_zpa_scim_group(search="Contractors")
```text
**Step 2: Create rule**
```text
zpa_create_timeout_policy_rule(
name="Contractor Timeout",
action_type="RE_AUTH",
reauth_timeout="4 Hours",
reauth_idle_timeout="15 Minutes",
description="Shorter session for contractor accounts",
conditions=[
{
"operator": "OR",
"operands": [
{
"object_type": "SCIM_GROUP",
"entry_values": [
{"lhs": "<idp_id>", "rhs": "<contractors_scim_group_id>"}
]
}
]
}
]
)
```text
--Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.