Webservice SaaS Connector -2 Step account Create

:bangbang: Please be sure you’ve read the docs and API specs before asking for help. Also, please be sure you’ve searched the forum for your answer before you create a new topic.

Hello,

I am trying to integrate a WebService SaaS application which needs a 2 step account creation. Both the create account steps are linked :

Step 1 - Create Contact user add contact endpoint → Returns a SystemId (unique identifier) - Creates a CONTACT type object in the target source

[
  {
    "CompanySystemId": $plan.CompanySystemId$,
    "FirstName": "$plan.FirstName$",
    "Username": "$plan.Username$",
    "LastName": "$plan.LastName$",
    "Email": "$plan.Email$",
    "ContactID": "$plan.ContactID$",
    "Cell": "",
    "DepartmentName": "",
    "Inactive": false,
    "Primary": false,
    "AddUser": false,
    "SystemId": -1,
    "AddressID": "",
    "Website": "",
    "Ext": "",
    "Fax": "",
    "Field1": "",
    "Field10": "",
    "Field2": "",
    "Field3": "",
    "Field4": "",
    "Field5": "",
    "Field6": "",
    "Field7": "",
    "Field8": "",
    "Field9": "",
    "AltPhone": "",
    "Title": "",
    "Phone":"",
    "Notes": "",
    "UserInfo": null
  }
]

Example Response

[
{
"ObjectType": "Contact",
"ReferenceId": null,
"StatusCode": "S",
"StatusMessage": "Success.",
"SystemId": 123
}
]

Step 2 - Create User → Take the SystemId and other user information including the requested group and call the Add User endpoint. The contact’s SystemID = user’s ContactId - Creates a USER type object on the target source which holds the needed access for the user

[
  {
    "ContactUserName": "$plan.ContactUserName$",
    "ContactId": $response.ContactSystemId$,
    "Username": "$plan.Username$",
    "Password": "$plan.Password$",
    "FirstName": "$plan.FirstName$",
    "LastName": "$plan.LastName$",
    "Email": "$plan.Email$",
    "GroupName": "$plan.GroupName$",
    "CompanyId": $plan.CompanySystemId$,
    "CompanyCode": "$plan.CompanyCode$",
    "CompanyName": "$plan.CompanyName$",
    "IsDisabled": false,
    "IsNamedLic": $plan.IsNamedLic$,
    "LicenseTypeId": $plan.LicenseTypeId$,
    "CanEditExpiredPassword": true,
    "CanUsePMWebAdmin": $plan.CanUsePMWebAdmin$,
    "IsSAMLAuthenticated": false,
    "PasswordDoesNotExpire": true
  }
]

Current State:

  • Contact creation works just fine.
  • $response.ContactSytemID$ gets the SystemID from the response for Step 1
  • $plan is not available in step2 so the body does not have any user information other than the ContactSystemID from the first step create account operation

Questions:

  1. Can the Create Account operations be chained?
  2. If not, how might have you implemented something like this - Remeber this is a SaaS webservice so no VA
  3. Did you / would you use
    1. Customizer?
    2. BeforeProvisioningRule?
    3. Pixie dust???

please refer these Create Account Operation Through Multiple API calls - #9 by nileshnikalje

Would this work for a WebService SaaS source (not using VA)?

Hi @nikhilmahadkar , For web service saas connector, before and after operations rules will not be there, if we want to customize , we have to use the customizers.

That is the option I am leaning towards as well.

Hi @nikhilmahadkar
Not sure if it will work, what if you perform a get operation before second call, then use that get operation response which must have all the values you need to run the second call?
I know there is a drawback that it will become 3 operations now. But worth trying it

Hi @nikhilmahadkar ,

We did the same thing currently and it works fine for US by using Webservice SaaS connector.

ISC call sequentially the endpoints with same operation type in order define by the sequence number. And in our case plan is always available in all steps.

If you already have the Sailpoint CLI (Getting started with the SailPoint CLI - Content / Video Library - SailPoint Developer Community) you can :

  1. Activate the debug mode on your source : Administrator Settings
  2. Open review logs in real time by using the CLI commands : sail conn logs tail
  3. Then test account creation in ISC and review in realtime all details : plan, api calls, data…

Thanks.

Hi @nikhilmahadkar ,

Could you please let us know what are you seeing in the logs ? The same use case is working fine for us

Thanks