{"id":18710707,"url":"https://github.com/apify/startupjobs2jazzhr","last_synced_at":"2025-11-03T16:28:28.534Z","repository":{"id":185616922,"uuid":"673800304","full_name":"apify/startupjobs2jazzHR","owner":"apify","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-28T15:02:20.000Z","size":167,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-16T16:19:55.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-02T13:00:20.000Z","updated_at":"2023-08-02T13:06:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"bb49c031-3b99-4cbe-aa44-2e0657281329","html_url":"https://github.com/apify/startupjobs2jazzHR","commit_stats":null,"previous_names":["apify/startupjobs2jazzhr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apify%2Fstartupjobs2jazzHR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apify%2Fstartupjobs2jazzHR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apify%2Fstartupjobs2jazzHR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apify%2Fstartupjobs2jazzHR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apify","download_url":"https://codeload.github.com/apify/startupjobs2jazzHR/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239576223,"owners_count":19662106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T12:35:24.700Z","updated_at":"2025-11-03T16:28:28.506Z","avatar_url":"https://github.com/apify.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StartupJobs2JazzHR\nThis actor (see [Apify Actor documentation](https://docs.apify.com/actor) for more info on Apify actors) transfers job applications from StartupJobs that are connected to a job offer that exists in JazzHR and puts them into JazzHR. The transferred applications are saved into the dataset so that on consecutive runs, they are not processed again. \n\nFor example, if the job application is for a backend developer in StartupJobs, but this job offer does not exist on JazzHR, the application will not be transferred.    \nTo pair StartupJobs job offers with those in JazzHR, the offers simply need to have their names equal.   \n\nThe actor is built on [StartupJobs API](https://www.startupjobs.cz/dev/public-api) and [JazzHR API](http://www.resumatorapi.com/v1/).\n\n## Input\nThe StartupJobs and JazzHR token are needed so that the actor can use their public APIs.    \n​\nTo get a StartupJobs token you need to contact their support.    \n​\n[Here is how to get your JazzHR token](https://success.jazzhr.com/hc/en-us/articles/222540508-API-Overview#whereiskey).\n```\n{\n    \"startupJobsToken\": \"your StartupJobs api token\",\n    \"jazzHRToken\": \"your JazzHR api token\"\n}\n```\n## Run state\nThe actor keeps a record of already processed applications in the dataset, so it does not fetch their details from JazzHR unnecessarily on each run.\n​\n## Process overview\n1. Initialize state based on which the actor will filter transferable applications (state loaded from dataset and from JazzHR)\n2. Gets new StartupJobs applications and filters them by the following conditions:\n    1. Application was not posted before - determined by comparing with state.\n    2. Application is connected to job offer also listed on JazzHR as well. Decided based on JazzHR and StartupJobs offer name equality.\n3. POST filtered applications to JazzHR.\n4. Updates current state for next run.   \n\n## Documentation reference\n- [Apify SDK](https://sdk.apify.com/)\n- [Apify Actor documentation](https://docs.apify.com/actor)\n- [Apify CLI](https://docs.apify.com/cli)\n- [StartupJobs API](https://www.startupjobs.cz/dev/public-api)\n- [JazzHR API](http://www.resumatorapi.com/v1/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapify%2Fstartupjobs2jazzhr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapify%2Fstartupjobs2jazzhr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapify%2Fstartupjobs2jazzhr/lists"}