Integrating External User Management Systems with AUTOMY

Knowledge Center — Integrations

By Carlos J Quintero ·

As enterprises adopt increasingly complex technology stacks, centralized identity management becomes critical for operational efficiency and security.

AUTOMY provides a robust and flexible API that allows clients to synchronize their internal user management systems—such as HR platforms, Active Directory, or custom databases—with AUTOMY’s user engine in real time.

This article covers how to fully automate user management within AUTOMY, including user creation, updates, deactivation, role assignments, and group/environment associations, all via API. 🧩 Use Case: Why Integrate? Let’s consider a common enterprise scenario: Your company uses an internal HR system (e.g., Workday, SAP, or a custom-built database).

When a new employee joins the company, you want to: Automatically create their user profile in AUTOMY.

Assign their position, manager, role, and area.

Add them to the appropriate user groups and environments.

Control their access level—without manual intervention.

Likewise, when an employee leaves or changes roles, you want that change to immediately reflect in AUTOMY’s platform. 🚀 Step 1: Authentication AUTOMY supports multiple authentication methods: 🔑 Basic Authentication http POST /auth Headers : clientId: {{your_client_id}} clientSecret: {{your_client_secret}} Basic Auth : Username: your API user Password: your API password Response : json { "accessToken": "your-jwt-token", "refreshToken": "your-refresh-token" } Store these tokens to authenticate further API calls. 🏢 Azure AD Authentication http POST /auth/ad Basic Auth : Username: ad Password: Azure AD token This is ideal if you already use Microsoft Entra ID for user access management. 👥 Step 2: Creating a User http POST /user Example Payload : json { "email": "john.doe@yourcompany.com", "names": "John", "lastNames": "Doe", "fullName": "John Doe", "role": "RoleUser", "positionId": "uuid-position", "userBossId": "uuid-manager", "accessType": 2, "isActive": true } 💡 You can fetch available positions and managers using /position/paged and /user/paged endpoints, respectively. 🔄 Step 3: Updating a User Full Update http PUT /user Send the full user object including the id.

Partial Update http PATCH /user/{userId} Example : json { "fullName": "John A.

Doe", "role": "RoleAdmin" } ⛔ Step 4: Deactivate or Delete Users To disable a user (recommended for offboarding): http POST /user/activate/{userId}/false To delete permanently: http DELETE /user/{userId} 🔍 Step 5: Retrieve User Information Get a User by ID http GET /user/{userId}?$expand=position($select=name),area($select=name),userGroups($select=name) Search Users http GET /user/paged?$filter=contains(fullName,'john') 🧱 Step 6: Assign Groups and Environments Groups and environments allow modular access control.

Update Groups http POST /user/updateGroups/{userId} json [ { "id": "group-uuid-1" }, { "id": "group-uuid-2" } ] Update Environments http POST /user/updateEnvironments/{userId} json [ { "id": "env-uuid-1" }, { "id": "env-uuid-2" } ] 🔧 Bonus: Automating Everything with Cron Jobs or Webhooks Once integrated, your system can: Call AUTOMY every time a user is added or modified.

Schedule nightly syncs of your full employee directory.