### Profile Creation

```mermaid
flowchart TD
    creationSteps__key_CHECK_QUOTA["Checking your profile quota"]
    creationSteps__key_CHECK_QUOTA_HTTP_OK{"Verifying quota response"}
    creationSteps__key_SHOW_QUOTA_HTTP_ERROR["Couldn't Check Your Profile Quota"]
    creationSteps__key_CHECK_QUOTA_OK{"Verifying quota"}
    creationSteps__key_SHOW_QUOTA_EXCEEDED["Profile Quota Reached"]
    creationSteps__key_GET_LOCAL_STORAGE["Reading storage"]
    creationSteps__key_BUILD_DEFAULT_PROFILE_NAME["Building Default Profile Name"]
    creationSteps__key_BUILD_DEFAULT_PROFILE_DESCRIPTION["Building Default Profile Description"]
    creationSteps__key_ENTER_PROFILE_NAME["Enter Profile Name"]
    creationSteps__key_BUILD_CREDENTIALS_PAYLOAD["Building Credentials Payload"]
    creationSteps__key_CREATE_PROFILE["Creating Profile..."]
    creationSteps__key_CHECK_CREATE_PROFILE_OK{"Verifying Profile Creation Started"}
    creationSteps__key_SHOW_CREATE_PROFILE_ERROR["Couldn't Start Profile Creation"]
    creationSteps__key_WAIT_PROFILE_CREATION["Waiting for profile creation"]
    creationSteps__key_OBSERVE_PROFILE_CREATION["Checking profile creation status"]
    creationSteps__key_CHECK_OBSERVE_HTTP_OK{"Verifying status response"}
    creationSteps__key_SHOW_OBSERVE_HTTP_ERROR["Couldn't Read Profile Creation Status"]
    creationSteps__key_CHECK_WORKFLOW_STATUS{"Reading profile creation status"}
    creationSteps__key_PARSE_PROFILE_OUTPUT["Reading new profile id"]
    creationSteps__key_SHOW_PROFILE_CREATION_FAILED["Profile Creation Failed"]
    creationSteps__key_WAIT_EXECUTION_TIME["Still working..."]
    creationSteps__key_SHOW_PROFILE_TIMEOUT["Profile Creation Is Taking Longer Than Expected"]
    creationSteps__key_BUILD_PROFILE_ID_STATES["Building Profile states"]
    creationSteps__key_REDIRECT_TO_TASKS["Continuing To Profile Monitoring"]
    creationSteps__key_REDIRECT_TO_REGISTRATION["Returning To Template Setup"]
    creationSteps__start(["Profile Creation"])
    creationSteps__key_GET_LOCAL_STORAGE__next__if{"{% assign profileIdSize = outputs.GET_LOCAL_STORAGE.PROFILE.ID | append: &quot;&quot; | strip %} {%if profileIdSize != &quot;&quot; %}   true {%endif%}"}
    creationSteps__key_WAIT_EXECUTION_TIME__next__if{"{% assign c = outputs.WAIT_EXECUTION_TIME.count | plus: 0 %} {% if c &lt; 10 %}true{% else %}false{% endif %}"}
    creationSteps__key_REDIRECT_TO_TASKS__next__end(["END"])
    creationSteps__key_REDIRECT_TO_REGISTRATION__next__end(["END"])
    creationSteps__start --> creationSteps__key_CHECK_QUOTA
    creationSteps__key_CHECK_QUOTA --> creationSteps__key_CHECK_QUOTA_HTTP_OK
    creationSteps__key_CHECK_QUOTA_HTTP_OK -->|"YES"| creationSteps__key_CHECK_QUOTA_OK
    creationSteps__key_CHECK_QUOTA_HTTP_OK -->|"NO"| creationSteps__key_SHOW_QUOTA_HTTP_ERROR
    creationSteps__key_SHOW_QUOTA_HTTP_ERROR --> creationSteps__key_REDIRECT_TO_REGISTRATION
    creationSteps__key_CHECK_QUOTA_OK -->|"YES"| creationSteps__key_GET_LOCAL_STORAGE
    creationSteps__key_CHECK_QUOTA_OK -->|"NO"| creationSteps__key_SHOW_QUOTA_EXCEEDED
    creationSteps__key_SHOW_QUOTA_EXCEEDED --> creationSteps__key_REDIRECT_TO_REGISTRATION
    creationSteps__key_GET_LOCAL_STORAGE --> creationSteps__key_GET_LOCAL_STORAGE__next__if
    creationSteps__key_GET_LOCAL_STORAGE__next__if -->|"YES"| creationSteps__key_BUILD_PROFILE_ID_STATES
    creationSteps__key_GET_LOCAL_STORAGE__next__if -->|"NO"| creationSteps__key_BUILD_DEFAULT_PROFILE_NAME
    creationSteps__key_BUILD_DEFAULT_PROFILE_NAME --> creationSteps__key_BUILD_DEFAULT_PROFILE_DESCRIPTION
    creationSteps__key_BUILD_DEFAULT_PROFILE_DESCRIPTION --> creationSteps__key_ENTER_PROFILE_NAME
    creationSteps__key_ENTER_PROFILE_NAME --> creationSteps__key_BUILD_CREDENTIALS_PAYLOAD
    creationSteps__key_BUILD_CREDENTIALS_PAYLOAD --> creationSteps__key_CREATE_PROFILE
    creationSteps__key_CREATE_PROFILE --> creationSteps__key_CHECK_CREATE_PROFILE_OK
    creationSteps__key_CHECK_CREATE_PROFILE_OK -->|"YES"| creationSteps__key_WAIT_PROFILE_CREATION
    creationSteps__key_CHECK_CREATE_PROFILE_OK -->|"NO"| creationSteps__key_SHOW_CREATE_PROFILE_ERROR
    creationSteps__key_SHOW_CREATE_PROFILE_ERROR --> creationSteps__key_REDIRECT_TO_REGISTRATION
    creationSteps__key_WAIT_PROFILE_CREATION --> creationSteps__key_OBSERVE_PROFILE_CREATION
    creationSteps__key_OBSERVE_PROFILE_CREATION --> creationSteps__key_CHECK_OBSERVE_HTTP_OK
    creationSteps__key_CHECK_OBSERVE_HTTP_OK -->|"YES"| creationSteps__key_CHECK_WORKFLOW_STATUS
    creationSteps__key_CHECK_OBSERVE_HTTP_OK -->|"NO"| creationSteps__key_SHOW_OBSERVE_HTTP_ERROR
    creationSteps__key_SHOW_OBSERVE_HTTP_ERROR --> creationSteps__key_REDIRECT_TO_REGISTRATION
    creationSteps__key_CHECK_WORKFLOW_STATUS -->|"Completed"| creationSteps__key_PARSE_PROFILE_OUTPUT
    creationSteps__key_CHECK_WORKFLOW_STATUS -->|"Failed"| creationSteps__key_SHOW_PROFILE_CREATION_FAILED
    creationSteps__key_CHECK_WORKFLOW_STATUS -->|"Cancelled"| creationSteps__key_SHOW_PROFILE_CREATION_FAILED
    creationSteps__key_CHECK_WORKFLOW_STATUS -->|"default"| creationSteps__key_WAIT_EXECUTION_TIME
    creationSteps__key_PARSE_PROFILE_OUTPUT --> creationSteps__key_BUILD_PROFILE_ID_STATES
    creationSteps__key_SHOW_PROFILE_CREATION_FAILED --> creationSteps__key_REDIRECT_TO_REGISTRATION
    creationSteps__key_WAIT_EXECUTION_TIME --> creationSteps__key_WAIT_EXECUTION_TIME__next__if
    creationSteps__key_WAIT_EXECUTION_TIME__next__if -->|"YES"| creationSteps__key_WAIT_PROFILE_CREATION
    creationSteps__key_WAIT_EXECUTION_TIME__next__if -->|"NO"| creationSteps__key_SHOW_PROFILE_TIMEOUT
    creationSteps__key_SHOW_PROFILE_TIMEOUT --> creationSteps__key_REDIRECT_TO_REGISTRATION
    creationSteps__key_BUILD_PROFILE_ID_STATES --> creationSteps__key_REDIRECT_TO_TASKS
    creationSteps__key_REDIRECT_TO_TASKS --> creationSteps__key_REDIRECT_TO_TASKS__next__end
    creationSteps__key_REDIRECT_TO_REGISTRATION --> creationSteps__key_REDIRECT_TO_REGISTRATION__next__end
```
