public static async Task <Guid> CreateUserDefinedFunctionAsync(HttpClient httpClient, ILogger logger, UserDefinedFunction userDefinedFunction, string js)
        {
            logger.LogInformation($"Creating UserDefinedFunction with Metadata: {JsonConvert.SerializeObject(userDefinedFunction.ToCreate(), Formatting.Indented)}");
            var displayContent = js.Length > 100 ? js.Substring(0, 100) + "..." : js;

            logger.LogInformation($"Creating UserDefinedFunction with Content: {displayContent}");

            var metadataContent = new StringContent(JsonConvert.SerializeObject(userDefinedFunction.ToCreate()), Encoding.UTF8, "application/json");

            metadataContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json; charset=utf-8");

            var multipartContent = new MultipartFormDataContent("userDefinedFunctionBoundary");

            multipartContent.Add(metadataContent, "metadata");
            multipartContent.Add(new StringContent(js), "contents");

            var response = await httpClient.PostAsync("userdefinedfunctions", multipartContent);

            var id = await GetIdFromResponse(response, logger, multipartContent.ToString());

            if (id != Guid.Empty)
            {
                await FeedbackHelper.Channel.SendMessageAsync($"UserDefinedFunction '{userDefinedFunction.Name}' successfully created with the ID {id}", MessageType.Info);
            }
            return(id);
        }