We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

REST:: deleted entitlement in the target(coupa) is not marking as inactive in Saviynt

npise
New Contributor III
New Contributor III

How to mark coupa entitlement as inactive(in saviynt) when its deleted in coupa. below is the json for account import

{
"accountParams": {
"connection": "acctAuth",
"createUsers": false,
"adminName": "admin",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://XXXXXX.coupahost.com/api/users",
"httpContentType": "application/json",
"httpMethod": "GET",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
}
},
"listField": "",
"keyField": "accountID",
"statusConfig": {
"active": "true",
"inactive": "false"
},
"colsToPropsMap": {
"accountID": "id~#~char",
"customproperty24": "custom-fields.start-date~#~char",
"customproperty34": "custom-fields.employee-status~#~char",
"customproperty59": "country-of-residence.code~#~char",
"customproperty9": "email~#~char",
"name": "login~#~char",
"status": "active~#~char",
"customproperty10": "employee-number~#~char",
"accounttype": "custom-fields.employee-type~#~char",
"customproperty57": "custom-fields.end-date~#~char",
"customproperty8": "manager.email~#~char",
"customproperty19": "lastname~#~char",
"customproperty18": "firstname~#~char",
"customproperty1": "custom-fields.qc-guid~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},
"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 100,
"totalCountPath": 300000
}
}
}
},
"acctEntMappings": {
"Role": {
"importAsEntitlement": false,
"listPath": "roles",
"idPath": "id",
"keyField": "entitlementID"
},
"User Group": {
"importAsEntitlement": false,
"listPath": "user-groups",
"idPath": "id",
"keyField": "entitlementID"
},
"Business Group": {
"importAsEntitlement": false,
"listPath": "content-groups",
"idPath": "id",
"keyField": "entitlementID"
}
}
},
"entitlementParams": {
"processingType": "SequentialAndIterative",
"entTypes": {
"Role": {
"entTypeOrder": 0,
"entTypeLabels": {
"customproperty1": "Meta Created"
},
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 1,
"http": {
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"url": "https://XXXXXX.coupahost.com/api/roles",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},

"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 50,
"totalCountPath": 10000
},
"disableDeletedEntitlements": true
}
}
}
},
"User Group": {
"entTypeOrder": 1,
"entTypeLabels": {
"customproperty1": "Meta Created"
},
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 2,
"http": {
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"url": "https://XXXXXX.coupahost.com/api/user_groups",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},

"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 50,
"totalCountPath": 10000
},
"disableDeletedEntitlements": true
}
}
}
},
"Business Group": {
"entTypeOrder": 2,
"entTypeLabels": {
"customproperty1": "Meta Created"
},
"call": {
"call1": {
"connection": "acctAuth",
"callOrder": 0,
"stageNumber": 3,
"http": {
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"url": "https://XXXXXX.coupahost.com/api/business_groups",
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "id~#~char",
"entitlement_value": "name~#~char",
"description": "description~#~char",
"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"
},

"pagination": {
"offset": {
"offsetParam": "offset",
"batchParam": "limit",
"batchSize": 50,
"totalCountPath": 10000
},
"disableDeletedEntitlements": true
}
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}

example: for business groups in coupa they deleted one entitlement and added another; after running import job new entitlement was added, however deleted entitlement was not marked as inactive.

Note: the entitlement referred above is associated to an application based role. 

4 REPLIES 4

stalluri
Regular Contributor
Regular Contributor

Check if you have enabled this at security system level.

stalluri_0-1696179119867.png

Check to which filed you are mapping the value while importing.

If you need any things else, please do let us know.

npise
New Contributor III
New Contributor III

Yes. Recon application is selected as "Yes".

Can you elaborate more when you say "Check to which filed you are mapping the value while importing." thank you!

SumathiSomala
All-Star
All-Star

@npise Could you please try by mapping status attribute in  "entitlementParams".

"Business Group": {

"entTypeOrder": 2,

"entTypeLabels": {

"customproperty1": "Meta Created"

},

"call": {

"call1": {

"connection": "acctAuth",

"callOrder": 0,

"stageNumber": 3,

"http": {

"httpHeaders": {

"Authorization": "${access_token}",

"Accept": "application/json"

},

"url": "https://XXXXXX.coupahost.com/api/business_groups",

"httpContentType": "application/json",

"httpMethod": "GET"

},

"listField": "",

"keyField": "entitlementID",

"statusConfig": {

"active": "true",

"inactive": "false"

},

"colsToPropsMap": {

"entitlementID": "id~#~char",

"entitlement_value": "name~#~char",

"status": "active~#~char",

"description": "description~#~char",

"acctEntMappingInfoColumnFromEnt": "STORE#ACC#ENT#MAPPINGINFO~#~char"

},

 

"pagination": {

"offset": {

"offsetParam": "offset",

"batchParam": "limit",

"batchSize": 50,

"totalCountPath": 10000

},

"disableDeletedEntitlements": true

}

}

}

}

}

},

"acctEntParams": {

"processingType": "acctToEntMapping"

}

}

 

Let me know if it helps.

Regards,
Sumathi Somala
If this reply answered your question, please Accept As Solution and give Kudos.

stalluri
Regular Contributor
Regular Contributor

This what i am talking about.

"statusConfig": {

"active": "true",

"inactive": "false"

},