public async Task <IActionResult> Setup([FromBody] IntegrationSetupRequest request) { var appApi = new ApplicationApi(new Configuration { BasePath = "https://cms.voicify.com", DefaultHeader = new Dictionary <string, string> { { "Authorization", $"Bearer {request.AccessToken}" } } }); var apps = await appApi.GetApplicationsForOrganizationAsync(request.OrganizationId); // app selector // text field for realm // text field for token var response = new IntegrationSetupResponse() { SetupSections = new List <IntegrationSetupSection> { new IntegrationSetupSection { InstructionsMarkdown = @"Link your Quick Base account to a Voicify app by selecting the app, and providing a Quick Base user token and realm. Once linked, this integration will create a Quick Base app for you and supply all the tables and integrations you need to get started.", Properties = new List <IntegrationSetupProperty> { new IntegrationSetupProperty { Id = "voicify-app", Label = "Voicify Application", Required = true, Field = new SelectField { Options = apps.Select(a => new SelectFieldOption { Label = a.Name, Value = a.Id }).ToList() } }, new IntegrationSetupProperty { Id = "quick-base-token", Label = "Quick Base User Token", Required = true, Field = new ShortTextField { Placeholder = "User token. You can get this from your Quick Base Account" } }, new IntegrationSetupProperty { Id = "quick-base-realm", Label = "Quick Base Realm", Required = true, Field = new ShortTextField { Placeholder = "realm" } } } } } }; return(Ok(response)); }