{"record":{"id":"846541864dfe8da9","repo":"flowable/flowable-engine","slug":"user-propertyvalue-does-not-exist","errorCode":null,"errorMessage":"User \" + propertyValue + \" does not exist","messagePattern":"User \" \\+ propertyValue \\+ \" does not exist","errorType":"exception","errorClass":"FlowableObjectNotFoundException","httpStatus":404,"severity":"error","filePath":"modules/flowable-rest/src/main/java/org/flowable/rest/form/UserFormType.java","lineNumber":45,"sourceCode":"\n    private static final long serialVersionUID = 1L;\n\n    public static final String TYPE_NAME = \"user\";\n\n    @Override\n    public String getName() {\n        return TYPE_NAME;\n    }\n\n    @Override\n    public Object convertFormValueToModelValue(String propertyValue) {\n        // Check if user exists\n        if (propertyValue != null) {\n            // TODO: perhaps better wiring mechanism for service\n            long count = ProcessEngines.getDefaultProcessEngine().getIdentityService().createUserQuery().userId(propertyValue).count();\n\n            if (count == 0) {\n                throw new FlowableObjectNotFoundException(\"User \" + propertyValue + \" does not exist\", User.class);\n            }\n            return propertyValue;\n        }\n        return null;\n    }\n\n    @Override\n    public String convertModelValueToFormValue(Object modelValue) {\n        return (String) modelValue;\n    }\n}\n","sourceCodeStart":27,"sourceCodeEnd":57,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-rest/src/main/java/org/flowable/rest/form/UserFormType.java#L27-L57","documentation":"UserFormType converts a form value into a model value by validating that the referenced user exists in the Flowable identity tables. When the given username matches no user in the default process engine's identity service, it throws FlowableObjectNotFoundException with User.class as the entity type.","triggerScenarios":"Calling convertFormValueToModelValue with a non-null propertyValue string that does not match any user returned by identityService.createUserQuery().userId(propertyValue) — i.e. count == 0.","commonSituations":"Typo or wrong casing in the assignee/candidate username in form or process variables, users stored in an external identity provider (LDAP/AD) not synced into Flowable's ACT_ID_USER tables, or pointing at the wrong process engine (getDefaultProcessEngine) whose database lacks the user.","solutions":["Confirm the user exists via identityService.createUserQuery().userId(name).count() before using it as a form value.","Sync your identity data: if users live in LDAP/AD, configure the LDAP identity service integration or import users into ACT_ID_USER.","Check which ProcessEngine is the default; wire the form type to the engine whose identity store actually contains the user.","Fix the username spelling/case in the form value or process configuration."],"exampleFix":"// before\nString value = userFormType.convertFormValueToModelValue(\"john.doe\");\n// after\nlong count = identityService.createUserQuery().userId(\"john.doe\").count();\nif (count == 0) { throw new IllegalArgumentException(\"Unknown user john.doe\"); }\nString value = userFormType.convertFormValueToModelValue(\"john.doe\");","handlingStrategy":"validation","validationCode":"long count = ProcessEngines.getDefaultProcessEngine().getIdentityService().createUserQuery().userId(userName).count();\nif (count > 0) { value = formType.convertFormValueToModelValue(userName); }","typeGuard":"boolean userExists(String id) { return id != null && ProcessEngines.getDefaultProcessEngine().getIdentityService().createUserQuery().userId(id).count() > 0; }","tryCatchPattern":"try { value = formType.convertFormValueToModelValue(userName); } catch (FlowableObjectNotFoundException e) { /* unknown user in identity store */ }","preventionTips":["Pre-validate usernames against identityService before form conversion","Keep ACT_ID_USER in sync with your identity provider (LDAP/AD import)","Confirm which ProcessEngine is the default in your deployment"],"tags":["flowable","forms","identity","user-not-found"],"backgroundTag":"user-not-found","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}