S’exécute surWrit Cloud
Sur cette page
Aucun node à installer. Trois mécanismes qui marchent déjà.
Soyons directs : il n’existe pas de node Writ officiel pour n8n, ni d’app pour Zapier, ni de module pour Make. N’allez pas chercher dans un annuaire. Ce qui existe, ce sont trois mécanismes génériques que ces trois outils parlent déjà — et chacun se configure en cinq minutes.
cadrage ▸ ce qui existe
Choisissez le sens de l’appel.
La question est de savoir dans quel sens va l’appel. Writ est soit ce que votre flux appelle, soit ce qui démarre votre flux — et OAuth est la façon dont un outil détient votre autorisation sans que vous y colliez une clé.
| Mécanisme | À utiliser quand |
|---|---|
| Appeler Writ depuis l’outil | Votre flux a besoin de données ou d’une action sur un site sans API exploitable. Une étape de requête HTTP suffit. |
| Connecter via OAuth | Vous préférez que l’outil détienne une autorisation révocable plutôt qu’une clé collée — et vous voulez que son écran de connexion se configure tout seul. |
| Recevoir des événements de Writ | Un changement ou un run terminé doit démarrer votre flux, plutôt que votre flux ne l’interroge en boucle. |
appel ▸ requête http
1 · Appeler Writ depuis l’outil.
Publiez un workflow comme endpoint, puis pointez dessus le node HTTP Request de l’outil — ou Webhooks by Zapier, ou le module HTTP de Make. C’est toute l’intégration.
http-request-step.sh
curl -X POST https://api.usewrit.app/v1/acme/price-check \
-H "Authorization: Bearer $WRIT_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/product/42"}' HTTP Request node — field by field
{
"method": "POST",
"url": "https://api.usewrit.app/v1/acme/price-check",
"headers": {
"Authorization": "Bearer csk_...",
"Content-Type": "application/json"
},
"body": { "url": "https://example.com/product/42" }
} | Méthode et URL | POST sur le chemin de votre endpoint. |
| Authorization | Une clé consommateur fabriquée pour cette seule intégration, envoyée en Bearer. Révocable sans toucher au reste. |
| Corps | Du JSON, correspondant aux entrées déclarées par votre workflow. |
| Réponse | Synchrone par défaut : l’appel attend et rend le résultat en ligne, prêt à être mappé dans l’étape suivante. |
Quand un run dure plus longtemps que l’outil ne patiente
Demandez plutôt une référence d’emblée. Envoyez Prefer: respond-async, ou ajoutez ?async=true si l’étape HTTP de l’outil ne sait pas poser d’en-tête — vous recevez un 202 et une référence de run à interroger.
async.sh
curl -X POST https://api.usewrit.app/v1/acme/price-check \
-H "Authorization: Bearer $WRIT_CONSUMER_KEY" \
-H "Prefer: respond-async" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/product/42"}'
# Query-parameter form, for tools whose HTTP step cannot set a header:
curl -X POST "https://api.usewrit.app/v1/acme/price-check?async=true" \
-H "Authorization: Bearer $WRIT_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/product/42"}' Le contrat complet des endpoints — chemins, codes de statut, fraîcheur, interrogation d’une référence de run — vit sur Managed endpoints. Cette page ne reprend que ce dont un outil d’automatisation a besoin.
Managed endpoints →oauth ▸ auto-configuré
2 · Connecter via OAuth.
Writ fait tourner un serveur OAuth 2.0 en authorization code avec PKCE, et publie un document de découverte sur /api/oauth/.well-known/oauth-authorization-server. Les intégrations OAuth génériques lisent ce document et se configurent seules — endpoints, scopes et méthode PKCE, sans que vous ne tapiez rien.
discovery.sh
curl https://api.usewrit.app/api/oauth/.well-known/oauth-authorization-server | Type de client | Comment il s’authentifie |
|---|---|
| Client confidentiel | Le style Zapier/n8n : enregistrez l’application, puis utilisez son client secret. Accepté au token endpoint en client_secret_post ou client_secret_basic. |
| Client public | PKCE sans aucun secret. Méthode de code challenge S256. |
| Device code | Pour tout ce qui ne peut pas ouvrir une redirection navigateur — validez sur un autre appareil. |
Vous pouvez consulter chaque application connectée et en révoquer n’importe laquelle à tout moment. La révocation est justement l’intérêt d’OAuth par rapport à une clé durable collée dans un outil tiers.
événements ▸ vers l’outil
3 · Laisser Writ démarrer le flux.
Chacun de ces outils vous donne une URL de réception — un node Webhook trigger dans n8n, un Catch Hook chez Zapier, un Custom Webhook dans Make. Pointez un moniteur ou une automatisation Writ dessus et votre flux démarre quand quelque chose se produit vraiment.
- 1 · Copiez l’URL de réception — Depuis l’étape déclencheur de votre outil.
- 2 · Ajoutez-la comme destinataire webhook dans Writ — Sur le moniteur ou l’automatisation qui doit démarrer le flux.
- 3 · Vérifiez la signature — Les livraisons sont signées en HMAC. Vérifiez la signature avant de faire confiance au contenu.
Le contrat de signature exact, les noms d’en-têtes et un exemple de vérification vivent sur Webhooks. Si votre outil ne sait pas vérifier une signature dans le flux, placez une petite étape de code devant — sinon vous exposez un endpoint où n’importe qui peut poster.
Webhooks →aussi ▸ deux autres portes
Deux autres entrées.
Tous les outils n’ont pas besoin d’une étape HTTP. Si le vôtre parle déjà l’un de ces protocoles, servez-vous-en directement :
référence ▸ suite
Continuer
Le contrat complet d’un endpoint publié.
→ Clés consommateurUne clé par intégration, révocable seule.
→ WebhooksLe contrat de signature, vérifié.
→ AuthentificationFamilles de tokens, scopes, OAuth.
→ MCPLes workflows comme outils pour tout client MCP.
→ StreamingLa surface de chat compatible OpenAI.
→faq
Questions d’intégration, répondues.
Existe-t-il un node Writ pour n8n, ou une app Zapier ?
Comment authentifier l’étape HTTP ?
Mon run dure plus longtemps que l’outil ne patiente. Que faire ?
L’outil configurera-t-il OAuth tout seul ?
Puis-je révoquer l’accès d’un outil plus tard ?
Ai-je besoin de tout cela si mon outil parle MCP ?
fin ▸ câbler
Publiez un endpoint et pointez une étape dessus.
Un seul node de requête HTTP fait toute l’intégration, et il fonctionne dans chaque outil de cette page.