You need to sign in to do that
Don't have an account?
yeshab
Creating my Own User Provisioning Flow
I have created a flow and implemented apex plugin class. when I try to save this flow as User Provisioning Flow, I get error:
Implementation of my plugin class:
global override Process.PluginDescribeResult buildDescribeCall() {
Process.PluginDescribeResult describeResult = new Process.PluginDescribeResult();
describeResult.inputParameters = new
List<Process.PluginDescribeResult.InputParameter>{
new Process.PluginDescribeResult.InputParameter('testInputParam',
Process.PluginDescribeResult.ParameterType.INTEGER, true),
new Process.PluginDescribeResult.InputParameter('User',
Process.PluginDescribeResult.ParameterType.STRING, true),
new Process.PluginDescribeResult.InputParameter('UserProvAccount',
Process.PluginDescribeResult.ParameterType.STRING, true),
new Process.PluginDescribeResult.InputParameter('UserProvisioningRequest',
Process.PluginDescribeResult.ParameterType.INTEGER, true)
};
describeResult.outputParameters = new
List<Process.PluginDescribeResult.OutputParameter>{
new Process.PluginDescribeResult.OutputParameter('testOutputParam',
Process.PluginDescribeResult.ParameterType.INTEGER),
new Process.PluginDescribeResult.OutputParameter('ExternalUserId',
Process.PluginDescribeResult.ParameterType.STRING),
new Process.PluginDescribeResult.OutputParameter('ExternalUsername',
Process.PluginDescribeResult.ParameterType.STRING)
};
return describeResult;
}
not sure what am I missing or what is wrong?
Any pointers/suggestions would be nice.Thank you in advance.
Implementation of my plugin class:
global override Process.PluginDescribeResult buildDescribeCall() {
Process.PluginDescribeResult describeResult = new Process.PluginDescribeResult();
describeResult.inputParameters = new
List<Process.PluginDescribeResult.InputParameter>{
new Process.PluginDescribeResult.InputParameter('testInputParam',
Process.PluginDescribeResult.ParameterType.INTEGER, true),
new Process.PluginDescribeResult.InputParameter('User',
Process.PluginDescribeResult.ParameterType.STRING, true),
new Process.PluginDescribeResult.InputParameter('UserProvAccount',
Process.PluginDescribeResult.ParameterType.STRING, true),
new Process.PluginDescribeResult.InputParameter('UserProvisioningRequest',
Process.PluginDescribeResult.ParameterType.INTEGER, true)
};
describeResult.outputParameters = new
List<Process.PluginDescribeResult.OutputParameter>{
new Process.PluginDescribeResult.OutputParameter('testOutputParam',
Process.PluginDescribeResult.ParameterType.INTEGER),
new Process.PluginDescribeResult.OutputParameter('ExternalUserId',
Process.PluginDescribeResult.ParameterType.STRING),
new Process.PluginDescribeResult.OutputParameter('ExternalUsername',
Process.PluginDescribeResult.ParameterType.STRING)
};
return describeResult;
}
not sure what am I missing or what is wrong?
Any pointers/suggestions would be nice.Thank you in advance.
Either remove your Apex class from your flow and re-add it to your flow, which should refresh and let you pick the smaller set of parameters from your ProcessPlugin class, OR add the required variables to your list of input and output parameters in your Apex class.
Additionally, to make things easier, I would think about porting your Process.Plugin implementation to utiliz the InvocableMethod annotation instead, as that's the desired way now to implement Apex in Flows and Processes.