diff --git a/package.json b/package.json
index c83408a5ad6dfca838119c59f596cb83ee2e0bce..33ce4a6c5ab274cb94956c7e7f66fc2730913cfe 100644
--- a/package.json
+++ b/package.json
@@ -44,6 +44,7 @@
     "@types/d3": "^5.7.2",
     "@types/lodash": "^4.14.149",
     "@types/luxon": "^1.21.0",
+    "@types/node-fetch": "^2.5.7",
     "@types/react": "^16.9.15",
     "@types/react-dom": "^16.9.8",
     "@types/react-router-dom": "^5.1.3",
diff --git a/src/cozy-client.d.ts b/src/cozy-client.d.ts
index 7af0d41b8278cc1c40bb598ec1b901317fc19d08..57ae513900b5e53b1c6301e30ffe047a46e1db94 100644
--- a/src/cozy-client.d.ts
+++ b/src/cozy-client.d.ts
@@ -74,3 +74,5 @@ export type QueryState<D> = {
   count: number
   data: D[]
 }
+
+export function fromEnv(env: NodeJS.ProcessEnv, schema: object): () => Client
diff --git a/src/targets/services/service.ts b/src/targets/services/service.ts
index 4443dacc35351cfcf0089d2502c2189e6ada7562..c0788e1ffd2154653da9c9bd8e48822ed9900418 100644
--- a/src/targets/services/service.ts
+++ b/src/targets/services/service.ts
@@ -2,26 +2,21 @@ import fetch from 'node-fetch'
 global.fetch = fetch
 
 import CozyClient from 'cozy-client'
-import { schema } from 'doctypes'
+import schema from 'doctypes'
 
-const assertEnvVar = varName => {
+const assertEnvVar = (varName: string) => {
   if (!process.env[varName]) {
     throw new Error(`${varName} environment variable is not set`)
   }
 }
 
-// TODO Check to use CozyClient.fromEnv
-export const runService = service => {
+export const runService = (service: Function) => {
   assertEnvVar('COZY_URL')
   assertEnvVar('COZY_CREDENTIALS')
 
-  const client = new CozyClient({
-    uri: process.env.COZY_URL.trim(),
-    schema,
-    token: process.env.COZY_CREDENTIALS.trim(),
-  })
+  const client = CozyClient.fromEnv(process.env, { schema })
 
-  return service({ client }).catch(e => {
+  return service({ client }).catch((e: ExceptionInformation) => {
     // eslint-disable-next-line no-console
     console.error(e)
     process.exit(1)
diff --git a/yarn.lock b/yarn.lock
index 05d86c03cc6273b34156f0fc618ce84e2e156416..fbfbd082d74a107839dc326a74a81eb4469bf6c2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1566,6 +1566,14 @@
   resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
   integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
 
+"@types/node-fetch@^2.5.7":
+  version "2.5.7"
+  resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c"
+  integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==
+  dependencies:
+    "@types/node" "*"
+    form-data "^3.0.0"
+
 "@types/node@*":
   version "14.0.23"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.23.tgz#676fa0883450ed9da0bb24156213636290892806"
@@ -3401,7 +3409,7 @@ columnify@1.5.4:
     strip-ansi "^3.0.0"
     wcwidth "^1.0.0"
 
-combined-stream@^1.0.6, combined-stream@~1.0.6:
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
   version "1.0.8"
   resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
   integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -6301,6 +6309,15 @@ forever-agent@~0.6.1:
   resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
   integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
 
+form-data@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
+  integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
+
 form-data@~2.3.2:
   version "2.3.3"
   resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -9220,13 +9237,6 @@ minilog@3.1.0, "minilog@https://github.com/cozy/minilog.git#master":
   dependencies:
     microee "0.0.6"
 
-"minilog@git+https://github.com/cozy/minilog.git#master":
-  version "3.1.0"
-  uid f01f7d9dfe20981177dd34b9662c2f077d818f82
-  resolved "git+https://github.com/cozy/minilog.git#f01f7d9dfe20981177dd34b9662c2f077d818f82"
-  dependencies:
-    microee "0.0.6"
-
 minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"