Automations

Connect Signoti to Make, n8n, or Zapier

When Signoti finishes reviewing a contract, it can automatically notify you, create tasks, or trigger any action in your workflow. This guide walks you through the setup in under 10 minutes.

Before you start: open Signoti Settings → Automations and have that tab ready.
Make.com

Make.com

1

Download and import the template

In Signoti Settings → Automations, click "Download" on the Make template you want. Then in Make, go to Scenarios → click the three-dot menu (⋯) → Import Blueprint → select the downloaded file.

2

Create the webhook connection

When Make prompts you to connect "Signoti Webhook", click "Create a webhook", give it a name (e.g. "Signoti"), and click Save. Make will immediately show you the webhook URL — copy it.

3

Connect your email account

When Make prompts you to connect an email account, choose Gmail, Outlook, or SMTP. Authorize it. Then in the email module, update the "To" field with your email address.

4

Activate the scenario

Click OK on all dialogs, then toggle the scenario switch at the bottom left to ON. The scenario is now live.

5

Paste the URL into Signoti

Go back to Signoti Settings → Automations. Paste the webhook URL from step 2, make sure the events you want are checked, click Save, then Send test. You should receive a test email within seconds.

n8n

n8n

1

Download and import the template

In Signoti Settings → Automations, click "Download" on the n8n template. In n8n, click "Add workflow" → "Import from file" → select the downloaded file. The workflow opens with three nodes.

2

Get the webhook URL

Click the "Signoti Webhook" node. You will see a Test URL and a Production URL. Use the Test URL while setting up, switch to Production URL when you go live. Copy the URL.

3

Configure email credentials

Go to Settings → Credentials → Add credential → search for SMTP or Gmail. Fill in your server details. For Gmail with OAuth, search "Gmail OAuth2" and follow the authorization flow.

4

Connect email to the node

Click the "Send alert email" node. In the Credential field, select the SMTP or Gmail credential you just created. Update the "To Email" field with your address.

5

Activate and connect to Signoti

Save the workflow and click the Activate toggle (top right). Then paste the webhook URL into Signoti Settings → Automations, save, and click Send test.

Zapier or any other platform

Create a "Webhooks by Zapier" trigger (or any webhook trigger in your platform), copy the URL it provides, paste it into Signoti Settings → Automations, and click Send test. Map the JSON fields to whatever actions you need.

Webhook payload reference

Every webhook from Signoti sends a POST request with this JSON body. Use these fields in your automation to build alerts, tasks, and reminders.

event

Which event fired: analysis.completed, contract.high_risk_found, or contract.renewal_date_found

document.file_name

Original filename of the uploaded PDF

document.contract_type

AI-detected contract type (e.g. Service Agreement, NDA)

document.report_url

Direct link to the full report in Signoti

analysis.summary

Plain-language summary of the document

analysis.risk_counts.high

Number of high-risk clauses found

analysis.risk_counts.medium

Number of medium-risk clauses found

analysis.clauses

Array of all analysed clauses with risk level, explanation, and recommendation

{
  "event": "contract.high_risk_found",
  "sent_at": "2026-05-02T12:34:56.000Z",
  "document": {
    "id": "a1b2c3d4-...",
    "file_name": "service-agreement.pdf",
    "document_type": "contrato",
    "contract_type": "Service Agreement",
    "jurisdiction_country": "US",
    "jurisdiction_region": "CA",
    "analysis_language": "en",
    "created_at": "2026-05-02T12:30:00.000Z",
    "report_url": "https://app.signoti.com/dashboard/documents/a1b2c3d4-..."
  },
  "analysis": {
    "summary": "Service agreement with automatic renewal...",
    "risk_counts": { "high": 1, "medium": 2, "low": 0 },
    "clauses": [
      {
        "clause_name": "Automatic renewal",
        "location": "Section 8",
        "risk_level": "high",
        "is_unusual": true,
        "why_it_matters": "You may be locked in for another year.",
        "recommendation": "Negotiate a 30-day opt-out window."
      }
    ],
    "general_recommendations": ["Review indemnification limits..."]
  }
}

Verifying webhook signatures (optional)

Signoti signs every request so you can confirm it came from your account. The signature is in the x-signoti-signature header. Formula: HMAC-SHA256(secret, "${timestamp}.${rawBody}")

The timestamp is in the x-signoti-timestampheader. Example in Node.js:

import { createHmac } from "crypto"

function verifySignature(secret, timestamp, rawBody, signature) {
  const expected = "sha256=" + createHmac("sha256", secret)
    .update(`${timestamp}.${rawBody}`)
    .digest("hex")
  return expected === signature
}

// In your webhook handler:
const timestamp = req.headers["x-signoti-timestamp"]
const signature = req.headers["x-signoti-signature"]
const rawBody = JSON.stringify(req.body) // use raw body string
const valid = verifySignature(YOUR_SECRET, timestamp, rawBody, signature)

Your webhook secret is shown once when you first save, and every time you rotate it in Signoti Settings → Automations.

Go to Settings → Automations
Automation guide — Make, n8n, Zapier | Signoti - Signoti