This quickstart applies to one-off tasks and recurring cron and rrule schedules.
1. Define your task
Your task definition is where you’ll perform your tasks, such as sending emails, processing files, or moving data between systems.
With Mergent, tasks are defined by HTTP request handlers inside your application.
open Lwt.Infix open Cohttp open Cohttp_lwt_unix let perform_task () = (* This is where you'll perform your task. For now, we'll just log it. *) Lwt_io.printf "Performing task: %s\n" let server = let callback _conn req _body = let uri = req |> Request.uri |> Uri.to_string in match Uri.path (Request.uri req) with | "/api/tasks" -> begin perform_task () >>= fun () -> Server.respond_string ~status:`OK ~body:"" () end | _ -> Server.respond_string ~status:`Not_found ~body:"Route not found" () in Server.create ~mode:(`TCP (`Port 3000)) (Server.make ~callback ())
2. Get your handler’s URL
Before you can run your task, your handler must be accessible from the internet.
To do this, you can use a tool like ngrok, or deploy your application to a platform like Vercel or Render.
For more information, see our guide to localhost dev & webhooks.
3. Create your first task
Once your task handler is reachable via a URL, you can create your first task. Go to the Mergent Tasks Dashboard and click the Create button.
In this step, you’ll set the Request URL to your task handler’s URL. You’ll also provide the required parameters (in the request body) for your handler to carry out the task.
Typically, developers use a
type parameter to distinguish between different
tasks. This allows your task handler to route and process tasks accordingly.
Feel free to structure your parameters in a way that works best for your
Click Create to queue the task. Once the task executes, you should see the related log in your console, indicating a successful run. 🎊
4. Next Steps
At this point, you have a few options: