diff --git a/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs b/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs
index 2960b5887..cae3cbacf 100644
--- a/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs
+++ b/src/modules/Elsa.Http/Activities/FlowSendHttpRequest.cs
@@ -12,7 +12,7 @@ namespace Elsa.Http;
///
/// Send an HTTP request.
///
-[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request (flow)", Kind = ActivityKind.Task)]
+[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request (flow)", Kind = ActivityKind.Action)]
public class FlowSendHttpRequest : SendHttpRequestBase, IActivityPropertyDefaultValueProvider
{
///
diff --git a/src/modules/Elsa.Http/Activities/SendHttpRequest.cs b/src/modules/Elsa.Http/Activities/SendHttpRequest.cs
index b45e5558f..0fd76e72c 100644
--- a/src/modules/Elsa.Http/Activities/SendHttpRequest.cs
+++ b/src/modules/Elsa.Http/Activities/SendHttpRequest.cs
@@ -10,7 +10,7 @@ namespace Elsa.Http;
///
/// Send an HTTP request.
///
-[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request", Kind = ActivityKind.Task)]
+[Activity("Elsa", "HTTP", "Send an HTTP request.", DisplayName = "HTTP Request", Kind = ActivityKind.Action)]
public class SendHttpRequest : SendHttpRequestBase
{
///
diff --git a/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs b/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs
new file mode 100644
index 000000000..3c2c114ba
--- /dev/null
+++ b/src/modules/Elsa.Http/Activities/SendHttpRequestTask.cs
@@ -0,0 +1,220 @@
+using System.Net;
+using System.Net.Http.Headers;
+using System.Runtime.CompilerServices;
+using Elsa.Extensions;
+using Elsa.Http.ContentWriters;
+using Elsa.Http.UIHints;
+using Elsa.Workflows;
+using Elsa.Workflows.Attributes;
+using Elsa.Workflows.UIHints;
+using Elsa.Workflows.Models;
+using HttpHeaders = Elsa.Http.Models.HttpHeaders;
+
+namespace Elsa.Http;
+
+///
+/// Sends HTTP requests from a background task.
+///
+[Activity("Elsa", "HTTP", "Send an HTTP request from a background task.", DisplayName = "HTTP Request Task", Kind = ActivityKind.Job)]
+public class SendHttpRequestTask : Activity
+{
+ ///
+ public SendHttpRequestTask([CallerFilePath] string? source = default, [CallerLineNumber] int? line = default) : base(source, line)
+ {
+ }
+
+ ///
+ /// The URL to send the request to.
+ ///
+ [Input(Description = "The URL to send the request to.")]
+ public Input Url { get; set; } = default!;
+
+ ///
+ /// The HTTP method to use when sending the request.
+ ///
+ [Input(
+ Description = "The HTTP method to use when sending the request.",
+ Options = new[] { "GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS", "HEAD" },
+ DefaultValue = "GET",
+ UIHint = InputUIHints.DropDown
+ )]
+ public Input Method { get; set; } = new("GET");
+
+ ///
+ /// The content to send with the request. Can be a string, an object, a byte array or a stream.
+ ///
+ [Input(Description = "The content to send with the request. Can be a string, an object, a byte array or a stream.")]
+ public Input