diff --git a/.claude/skills/docs-writing.md b/.claude/skills/docs-writing.md index 6f6d985..01327e4 100644 --- a/.claude/skills/docs-writing.md +++ b/.claude/skills/docs-writing.md @@ -77,6 +77,7 @@ Follow this process when creating ConductorOne documentation: ## Technical Standards - Add language tags to all code blocks +- For CEL expressions, use `go` as the language tag (CEL isn't recognized for syntax highlighting) - Use relative paths for internal links - Include alt text on all images - List prerequisites at the start of procedural content diff --git a/product/admin/attribute-push-rules.mdx b/product/admin/attribute-push-rules.mdx new file mode 100644 index 0000000..42d9aef --- /dev/null +++ b/product/admin/attribute-push-rules.mdx @@ -0,0 +1,153 @@ +--- +title: "Attribute push rules" +og:title: "Attribute push rules" +description: "Automatically sync user attributes from ConductorOne to connected applications to keep user data consistent across your integrated systems." +og:description: "Automatically sync user attributes from ConductorOne to connected applications to keep user data consistent across your integrated systems." +sidebarTitle: "Attribute push rules" +--- + +Attribute push rules let you control which user attributes are synchronized to specific applications and how they're mapped. You can: + +- Sync ConductorOne attributes to application user profiles +- Transform attribute values using CEL expressions +- Target specific users based on conditions +- Map to both standard and custom attributes (when supported by the connector) + +## When to use attribute push rules + +Use attribute push rules when you need to: + +- Keep user profile data synchronized across applications +- Populate custom user fields in connected applications +- Maintain consistent user attributes for compliance or operational purposes +- Transform or derive attribute values before syncing + +## How attribute push works + +When you create a push rule: + +1. Select the connector you want to push attributes to +2. Map ConductorOne attributes to the target application's user attributes +3. Optionally use CEL expressions to transform values +4. Choose which users to target (all users or specific users) +5. Enable the configuration to begin syncing + +Attributes are pushed to the connected application automatically when: + +- The push configuration is created or updated +- A user's attribute values change in ConductorOne +- You manually trigger a push + +## Configure attribute push rules + +### Prerequisites + +- Admin permissions in ConductorOne +- A configured connector for the target application +- User attribute mappings defined in ConductorOne (**Admin** > **Settings** > **User data sources**) + +### Create a push rule + + + +Navigate to **Admin** > **Settings** > **User data sources**. + + +Select the **Push rules** tab. + + +Click **Add push rule**. + + +Select the connector you want to push attributes to. + + +For each attribute you want to sync: + + - Choose the target attribute name from the connector's available attributes + - Select a ConductorOne attribute to map, or write a CEL expression for custom logic + - If the connector supports custom attributes, you can specify a custom name + + +Under **User targeting**, choose: + + - **All users**: Push attributes for all users in your tenant + - **Specific users**: Use a CEL expression to target users matching specific criteria + + +Enable the push rule. + + +Click **Save**. + + + +### Edit or disable a push rule + + + +Navigate to **Admin** > **Settings** > **User data sources** > **Push rules**. + + +Find the push rule in the list. + + +Click the menu button (...) and select: + + - **Edit**: Modify attribute mappings or user targeting + - **Enable** or **Disable**: Turn the push rule on or off + - **Delete**: Remove the push rule completely + + + +## Attribute mappings + +### Direct attribute mapping + +Select a ConductorOne attribute from the dropdown to sync its value directly to the target application. + +**Example**: Map the `Department` attribute in ConductorOne to the `department` field in the target application. + +### CEL expressions + +For more advanced scenarios, use CEL (Common Expression Language) expressions to transform or derive attribute values. + +**Example**: Combine first and last name into a display name + +```go +user.first_name + " " + user.last_name +``` + +**Example**: Set a value based on a condition + +```go +user.department == "Engineering" ? "tech@company.com" : "general@company.com" +``` + +## User targeting + +### All users + +Syncs attributes for all users in your ConductorOne tenant. + +### Specific users + +Use a CEL expression to target specific users based on their attributes. + +**Example**: Target only active employees + +```go +user.status == "active" && user.employment_type == "full_time" +``` + +**Example**: Target users in specific departments + +```go +user.department in ["Engineering", "Product", "Design"] +``` + +## Custom attributes + +Some connectors support pushing to custom attributes that aren't part of the standard user schema. When configuring a push rule for these connectors, you can specify custom attribute names. + +Check the connector's documentation to see if custom attributes are supported.