public override async Task Run()
        {
            ActivityUI.RestoreCustomFields(Storage);

            var issueInfo = ExtractIssueInfo();
            await _atlassianService.CreateIssue(issueInfo, AuthorizationToken);

            var credentialsDTO = JsonConvert.DeserializeObject <CredentialsDTO>(AuthorizationToken.Token);
            var jiraUrl        = $"{credentialsDTO.Domain}/browse/{issueInfo.Key}";


            Payload.Add(Crate.FromContent("jira issue", new StandardPayloadDataCM(new KeyValueDTO()
            {
                Key = "jira issue key", Value = issueInfo.Key
            })));
            Payload.Add(Crate.FromContent("jira issue", new StandardPayloadDataCM(new KeyValueDTO()
            {
                Key = "jira domain", Value = credentialsDTO.Domain
            })));
            await _pushNotificationService.PushUserNotification(MyTemplate, "Jira Issue Created", $"Created new jira issue: {jiraUrl}");

            Payload.Add(Crate <KeyValueListCM> .FromContent(RuntimeCrateLabel, new KeyValueListCM(
                                                                new KeyValueDTO(JiraIdField, issueInfo.Key),
                                                                new KeyValueDTO(JiraUrlField, jiraUrl))));
        }
        public override async Task FollowUp()
        {
            ActivityUI.RestoreCustomFields(Storage);
            var configProps = GetConfigurationProperties();

            var projectKey = ActivityUI.AvailableProjects.Value;

            if (!string.IsNullOrEmpty(projectKey))
            {
                ToggleProjectSelectedVisibility(true);

                if (projectKey != configProps.SelectedProjectKey)
                {
                    FillIssueTypeDdl(projectKey);
                    await FillAssigneeSelector(projectKey);
                }

                var issueTypeKey = ActivityUI.AvailableIssueTypes.Value;
                if (!string.IsNullOrEmpty(issueTypeKey))
                {
                    ToggleFieldsVisibility(true);

                    if (configProps.SelectedIssueType != issueTypeKey)
                    {
                        await FillFieldDdls();
                    }
                }
                else
                {
                    ToggleFieldsVisibility(false);
                }
            }
            else
            {
                ToggleProjectSelectedVisibility(false);
            }

            configProps.SelectedProjectKey = ActivityUI.AvailableProjects.Value;
            configProps.SelectedIssueType  = ActivityUI.AvailableIssueTypes.Value;

            SetConfigurationProperties(configProps);

            await Task.Yield();
        }