Replies: 13 comments 19 replies
-
FTR, this is the JSON Schema for Workflows:
Where the main properties are:
Based on this configuration, workflows are started as follows:
For testing purposes, you can set the server config option For the first iteration, the goal was to provide a set of capabilities to allow administrators to detect and act on inactive accounts. To achieve that, the following built-in steps can be configured within a workflow:
Future release will introduce other built-in steps to aid in onboarding and offboarding users, such as join/leave groups, As for the events that can trigger a workflow, the following are supported in this first release:
The conditions that can be used to filter the resources that will be affected by a workflow include:
|
Beta Was this translation helpful? Give feedback.
-
Why does the workflow need to set?:
|
Beta Was this translation helpful? Give feedback.
-
Are we planning to get rid of:
That still makes no sense to me. |
Beta Was this translation helpful? Give feedback.
-
Are we planning to update:
This is more clunky than we discussed |
Beta Was this translation helpful? Give feedback.
-
JSON sucks, are we planning to support YAML? |
Beta Was this translation helpful? Give feedback.
-
Having to escape |
Beta Was this translation helpful? Give feedback.
-
If I understand correctly, workflows are event-driven. So, what if we want to add a workflow to deactivate inactive users to an already old installation of Keycloak that's configured to delete events after a specific period? In this setup, inactive users created before that period won't have any events in the |
Beta Was this translation helpful? Give feedback.
-
@bahaa Idea in this case is to enable the workflow for existing resources. The resources that match the workflow's conditions will be bound to the workflow as if a login event was received, this way enabling you to force the assignment of the workflow if they don't become active again. |
Beta Was this translation helpful? Give feedback.
-
If a user is being notified, disabled and deleted - can we get some regular events of that operation? Im my first test, I didn't see any event where I can listen to in a custom listener. This is useful if I want to notify other systems about e.g. a user deletion or being disabled. |
Beta Was this translation helpful? Give feedback.
-
When a user is being disabled while having an existing session, the session(s) will still exist and being active. Is this intended? |
Beta Was this translation helpful? Give feedback.
-
There's a small, but essential typo in the blog post, I provided as PR: keycloak/keycloak-web#655 |
Beta Was this translation helpful? Give feedback.
-
Is there anything planned, that an admin can see at a user directly that there's a current active workflow and when which steps will be executed? This could provide a better overview at a user, if there's something going on and when this user might be deactivated/deleted. |
Beta Was this translation helpful? Give feedback.
-
Hi, i came here to thank you for this feature it sounds really nice and promising :) We currently have an inhouse built tool which manages the following workflows:
i guess the first 2 workflows might be able to be handled by a keycloak integrated workflow. e.g. for 1. you already have an event for user created so we might only need something like i guess our workflow 4. is to special or would require too much changes to keycloak but if we could get rid of the other once and replace them with keycloak integrated workflows sound quiet interessting :) If you have any further questions feel free to ping me. Thanks for your work on keycloak :) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
In Keycloak 26.4 we've introduced a new feature called Workflows, designed to automate administrative tasks such as automatically notifying/disabling/removing inactive users, onboarding, offboarding, among other things. In the first iteration it is focusing on user resources but the plan is to expand the feature so that actions can be taken automatically on other resources - e.g. disable a client or an IDP that hasn't been used to authenticate users for some time.
See out blog post for a walk-through: https://www.keycloak.org/2025/10/workflows-experimental-26-4
It is in experimental stage and we will be publishing a blog post about the current state of it - to be linked here once published. The work and more details about the feature roadmap can be found in the respective epic.
As always, feedback is most welcome! We invite the community to discuss and comment either here or in the epic that is tracking all the work we're doing in this area.
Beta Was this translation helpful? Give feedback.
All reactions