So in my tenant we have a source that points to a custom table within Service Now. This web services connector reads the table and tacks the information about what application the user has access to. We then use the Service Desk to create add and remove request.
This design turned out to not be optimal. The main reason being that every time we would aggregate that source it would create duplicate tickets for any out standing access that had not yet been granted. With this running every 4 hours cause a huge influx of tickets to the support teams.
What I have learned around this connector is that it is best to have each app as its own source in ISC. Then set up the Service Desk to for that source. You might even add more then one Service Desk integration. This will allow you to target which catalog item you wish so that you can leverage existing Service Now Workflows.
This will allow you to inject into the ticket all the needed information based on the form. You will need a Service Now Developers help with making sure you target all the required fields and that the ServiceNow workflow will work with process.
Another option would be to reverse this flow and use ServiceNow to trigger the request engine in ISC. In this workflow A user would submit a request in Service Now then the entitlement will be requestable in ISC. ServiceNow would then send an API call to grab the user ID and the workflow should already have the ID for the entitlement. The ServiceNow workflow would then send a API request to ISC to request the access. ISC would then provision the access.
Hope this helps and gives you some ideas how you can proceed with your project. Please let us know if you further questions.