diff --git a/azure-pipelines-translation.yml b/azure-pipelines-translation.yml
index 05514ae3273485445b07cca2dd66105c879c8161..d10d562c2b571c3b6536ac75b5fe2c5a417fcd1e 100644
--- a/azure-pipelines-translation.yml
+++ b/azure-pipelines-translation.yml
@@ -6,8 +6,21 @@ trigger:
     include:
     - dev
 pr: none
+schedules:
+  - cron: "0 1 * * *"
+    displayName: "translation update"
+    branches:
+      include:
+      - dev
+    always: true
 variables:
-  - group: translation
+- group: translation
+resources:
+  repositories:
+  - repository: azure
+    type: github
+    name: 'home-assistant/ci-azure'
+    endpoint: 'home-assistant'
 
 
 jobs:
@@ -26,3 +39,24 @@ jobs:
 
       ./script/translations_upload
     displayName: 'Upload Translation'
+
+- job: 'Download'
+  condition: eq(variables['Build.Reason'], 'Schedule')
+  pool:
+    vmImage: 'ubuntu-latest'
+  steps:
+  - task: UsePythonVersion@0
+    displayName: 'Use Python 3.7'
+    inputs:
+      versionSpec: '3.7'
+  - template: templates/azp-step-git-init.yaml@azure
+  - script: |
+      export LOKALISE_TOKEN="$(lokaliseToken)"
+      export AZURE_BRANCH="$(Build.SourceBranchName)"
+
+      ./script/translations_download
+    displayName: 'Download Translation'
+  - script: |
+      commit -am "[CI] Translation update"
+      commit push
+    displayName: 'Update translation'