# Account Provisioning using ISC Forms & Workflow

**URL:** <https://developer.sailpoint.com/discuss/t/account-provisioning-using-isc-forms-workflow/58151>\
**Category:** Community Blog\
**Tags:** forms, identity-security-cloud, workflows, provisioning\
**Created:** [May 28, 2024, 1:22pm UTC](https://developer.sailpoint.com/discuss/t/account-provisioning-using-isc-forms-workflow/58151 "2024-05-28T13:22:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![vinay\_kulkarni](https://avatars.discourse-cdn.com/v4/letter/v/54ee81/32.png) [@vinay\_kulkarni](https://developer.sailpoint.com/discuss/u/vinay_kulkarni)\
**Post date:** [May 28, 2024, 1:22pm UTC](https://developer.sailpoint.com/discuss/t/account-provisioning-using-isc-forms-workflow/58151/1 "2024-05-28T13:22:35Z")

</div>

![Tutorials-Blue](https://global.discourse-cdn.com/sailpoint/original/2X/f/f68892b010c1d63812f7eaa1032404c817e5ce48.png)

This article demonstrates how Identity Security Cloud (ISC) Forms and Workflows can be used to enable the provisioning of user accounts from inputs in a form.

# Use case

I came across a customer use-case where an application(end resource) needed certain fields that only the manager of a user can know. The application has a REST API for provisioning user accounts. ISC Forms would allow the manager to provide the additional information needed for user provisioning, and ISC Workflows can automate the task of provisioning the account based on those form inputs.

# Current behavior

Currently, if any access request is submitted from ISC’s Request Access centre which triggers a form via Workflow, form input provided by the user cannot be injected in the provisioning plan and the out-of-the-box ISC features cannot be utilized without customization.

**Solution Configuration Overview**

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/4/4566b02e178372c2f51d90dc7a248153f3e40a30.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/2/26fe0967cd183a577425510a10ffec01c597befb.png)

To simulate this application, we need the following:

1. A delimited file source and the [V3 account APIs](https://developer.sailpoint.com/docs/api/v3/accounts) which I can invoke from Workflows. There will be another Webservices source pointing to the actual target which in this case is Demo Connection source (kind of loop back) and perform aggregation to correlate to identity and can have other HTTP operations configured depending on case to handle.
2. A form where the manager can select the identity for whom access to demo app needs to be requested and along with selecting other fields to provision on the end resource.
3. A workflow with the “Form Submitted” trigger that uses the HTTP Request actions calling the account API to create accounts on the flat file source.
4. An external application (outside of ISC) which will be a starting point for manager and it authenticates user against ISC and launches the form.

# Solution Implementation

> **Note:** Solution demonstrated in this article is to achieve a use case which enables user to search a user in ISC and input the role, activity, and division attributes in the form. Upon submission, other attributes are fetched from “Requested For” user identity and used to create the account.

## Demo Connection Source

Define a Delimited File Source. This acts as a demo app and has access items(entitlements) as role and activities which manager can select along with division as a string field.

**Account Schema**

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/5/5f7114751f40c5b10ce7a21c2aded4741bdaa940.png)

**Entitlement Schema**  
Activities

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/f/f45e93db91bd98c46de174f47acec321181fa5bf.png)

Roles

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/3/3ed48554b3c2299b0101ab03b2885d0a92cfbedd.png)

## Demo Connection User Access Form

Design a Form which enables a manager to select users from ISC and select certain inputs for submitting access request.

**User** : Select field that uses predefined for Identities.  
**Role** : Select field that uses Search for Entitlement with query **source.name** : “Demo Connection” AND schema:“roles”  
**Activity** : Select field that uses Search for Entitlement with query **source.name** :“Demo Connection” AND schema:“activities”

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/f/f2a8741c6993a647e14105245dc88b51ae429148.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/3/36eee6a1b031f8f0411c446f81e7e248aee734db.png)

## Demo Connection User Access Workflow

Simple workflow which checks if identity has account on Demo connections if not then create one ,else send notification to test email to take manual action.

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/d/d5852208c7eaa0cbce861b4672537f3fe5d7c997.png)

## External Application

This is sample application, where user is authenticated against ISC and launches the ISC form using API. A similar application is showcased in Developer Days 2024 using Angular UI.

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/4/4eb20787869a029772850559d29c13301fbc0cc7.png)

## Demo walkthrough

Manager logs in to External App and launches form, fills the details in form and submit. Account is created on end point using the [create account](https://developer.sailpoint.com/docs/api/v3/create-account) API.

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/4/4eb20787869a029772850559d29c13301fbc0cc7.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/4/4ead86a1db52d7de27b5769fba3a6cae102173d3.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/a/aedd4760491fbc1a781376db84c824afb637cbf3.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/0/0fc0ca51605a4e01a4aa02f395e3ddd38d580a1f.png)

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/f/fe8fbe084dc39976a03d5315ee3090cccbda8889.png)

**Account provisioned on Demo App**

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/3/3715f9958cb4c8a1f08a78ab05ebbf3afefd0a3f.png)

**Demo Connection Source**

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/7/7738a496e43ff73865f9f5948cda9d984cdf6119.png)

# Summary

- Periodic aggregation needs to be scheduled on actual web service source to aggregate newly created account via workflow ,that will correlate to identity and while other provisioning operations can be handled via HTTP operation .
- Identity attribute defined “hasDemoAppAccount” which holds value of true /false and is used in workflow to determine if it is a create account or update account and take respective action.
- As apis of end resource are directly called , logging will happen in workflow executions.
- Approach may be explored further for other use-cases to determine the feasibility.

---

<div class="post-metadata">

**Author:** ![RAKGDS](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/rakgds/32/2795_2.png) [@RAKGDS](https://developer.sailpoint.com/discuss/u/RAKGDS)\
**Post date:** [July 9, 2024, 5:13am UTC](https://developer.sailpoint.com/discuss/t/account-provisioning-using-isc-forms-workflow/58151/2 "2024-07-09T05:13:08Z")

</div>

Hi Vinay,  
Thank you for the great post. Can you please help with the api which you are using to launch the form ? I did see the Developer Day video but was not able to find the api which we use to launch the form from external source? Could you please help ?

---

<div class="post-metadata">

**Author:** ![vinay\_kulkarni](https://avatars.discourse-cdn.com/v4/letter/v/54ee81/32.png) [@vinay\_kulkarni](https://developer.sailpoint.com/discuss/u/vinay_kulkarni)\
**Post date:** [July 9, 2024, 12:17pm UTC](https://developer.sailpoint.com/discuss/t/account-provisioning-using-isc-forms-workflow/58151/3 "2024-07-09T12:17:03Z")

</div>

Hi Rakesh - Thank you  
For invoking form it uses

> **[create-form-instance | SailPoint Developer Community](https://developer.sailpoint.com/docs/api/beta/create-form-instance/)**
>
> Creates a form instance.

Hope it helps.

---

<div class="post-metadata">

**Author:** ![sai\_kovuru](https://avatars.discourse-cdn.com/v4/letter/s/d78d45/32.png) [@sai\_kovuru](https://developer.sailpoint.com/discuss/u/sai_kovuru)\
**Post date:** [February 27, 2026, 6:28pm UTC](https://developer.sailpoint.com/discuss/t/account-provisioning-using-isc-forms-workflow/58151/4 "2026-02-27T18:28:25Z")

</div>

Hello @vinay_kulkarni Would you mind pasting the script of the workflow you created?  
That would be great for the reference?
