--- title: "Create Job" url: https://docs.catalyst.zoho.com/en/sdk/python/v1/job-scheduling/jobs/create-job/ description: "This page describes the Python method to create a job in your project with sample code snippets." last_updated: 2026-09-08T11:07:33Z service: Job Scheduling type: general related_links: - name: "Component Help Documentation" url: /en/job-scheduling/help/job/introduction/ - name: "Java SDK" url: /en/sdk/java/v1/job-scheduling/jobs/create-job/ - name: "JavaScript SDK Documentation" url: /en/sdk/javascript/v1/job-scheduling/job/create-job/ - name: "REST API Collection" url: /en/api/code-reference/job-scheduling/job/submit-job/submit-webhook-job/#SubmitWebhookJobByID --- # Create Job Using the following SDK method, you can create and submit Jobs to trigger [Job Functions](https://docs.catalyst.zoho.com/en/serverless/help/functions/job-functions/), Webhooks, [Circuits](https://docs.catalyst.zoho.com/en/serverless/help/circuits/introduction/), and [App Sail](https://docs.catalyst.zoho.com/en/serverless/help/appsail/introduction/) services. You can also pass optional arguments in the form of JSON key value pairs. SDK snippet to create and submit Job to trigger: **Job Function** ```python # create function job function_job = job_scheduling.JOB.submit_job( { "job_name": "test_job", # set a name for the job "jobpool_name": "test", # set the name of the function jobpool where the job should be submitted "target_type": "Function", # set the target type as Function for function jobs "target_name": "target_function", # set the target function's name (optional) (either target_id or target_name is mandatory) # 'target_id': '123467890', # set the target functions's Id (optional) (either target_id or target_name is mandatory) "params": { "arg1": "test", "arg2": "job", }, # set params to be passed to target function (optional) "job_config": { "number_of_retries": 2, # set the number of retries "retry_interval": 15 * 60, # set the retry interval }, # set job config - job retries => 2 retries in 15 mins (optional) } ) ``` **Circuit** ```python # create circuit job circuit_job = job_scheduling.JOB.submit_job( { "job_name": "test_job", # set a name for the job "jobpool_name": "test", # set the name of the circuit jobpool where the job should be submitted "target_type": "Circuit", # set the target type as Circuit for circuit jobs "target_name": "target_circuit", # set the target circuit's name (optional) (either target_id or target_name is mandatory) # 'target_id': '123467890', # set the target circuit's Id (optional) (either target_id or target_name is mandatory) "test_cases": {"arg1": "job", "arg2": "test"}, # set the circuit test cases "job_config": { "number_of_retries": 2, # set the number of retries "retry_interval": 15 * 60, # set the retry interval }, # set job config - job retries => 2 retries in 15 mins (optional) } ) ``` **Webhook** ```python # create webhook job webhook_job = job_scheduling.JOB.submit_job( { "job_name": "test_job", # set a name for the job "jobpool_name": "test", # set the name of the webhook jobpool where the job should be submitted "target_type": "Webhook", # set the target type as Webhook for webhook jobs "request_method": "POST", # set the webhook request's method "url": "https://catalyst.zoho.com", # set the webhook request's url "params": { "arg1": "test", "arg2": "job", }, # set the webhook request's query params (optional) "headers": { "IS_TEST_REQUEST": "true" }, # set the webhook request's headers (optional) "request_body": "test_request", # set the webhook request's body (optional) "job_config": { "number_of_retries": 2, # set the number of retries "retry_interval": 15 * 60, # set the retry interval }, # set job config - job retries => 2 retries in 15 mins (optional) } ) ``` **AppSail** ```python # create appsail job appsail_job = job_scheduling.JOB.submit_job( { "job_name": "test_job", # set a name for the job "jobpool_name": "test", # set the name of the AppSail jobpool where the job should be submitted "target_type": "AppSail", # set the target type as AppSail for appsail jobs "target_name": "target_appsail", # set the target appsail's name (optional) (either target_id or target_name is mandatory) # 'target_id': '123467890', # set the target appsail's Id (optional) (either target_id or target_name is mandatory) "request_method": "POST", # set the appsail request's method "url": "/test", # set the appsail's url path (optional) "params": { "arg1": "test", "arg2": "job", }, # set the appsail request's query params (optional) "headers": { "IS_TEST_REQUEST": "true" }, # set the appsail request's headers (optional) "request_body": "test_request", # set the appsail request's body (optional) "job_config": { "number_of_retries": 2, # set the number of retries "retry_interval": 15 * 60, # set the retry interval }, # set job config - job retries => 2 retries in 15 mins (optional) } ) ```