Adding AI Security Checks to Make Workflows
Add AI security checks to Make (Integromat) workflows — generic HTTP modules, API key auth, and branching on guard verdicts.
Add AI security checks to Make (formerly Integromat) workflows using the HTTP module to call IdenticAPI Unified Guard. There is no native IdenticAPI Make app — configure the request URL, Bearer authentication, JSON body, and Router filters on decision yourself.
This guide mirrors the n8n pattern for Make's visual automation builder: guard before AI modules, guard after generation, branch on allow / review / block.
For n8n-specific steps, see n8n AI Security. For code integrations, see Node.js Guardrails.
Reference scenario
Webhook / Form → HTTP: input guard → Router (allow?)
→ OpenAI / Anthropic module → HTTP: output guard → Router (allow?)
→ Gmail / Slack / CRM module
→ else: send fallback email
Make executes modules sequentially per route. Place guard modules on the critical path before side effects.
Prerequisites
- Make account with HTTP module access
- IdenticAPI API key stored in Make Connections or scenario variables
- Understanding of your AI module's output field names
Create a connection for IdenticAPI
Use HTTP > Make a request with custom headers:
| Setting | Value |
|---|---|
| URL | https://www.identicapi.com/api/v1/guard |
| Method | POST |
| Headers | Authorization: Bearer idapi_test_your_synthetic_key_here |
| Headers | Content-Type: application/json |
For production, store the Bearer token in a secured Make variable or connection — not in scenario notes.
Input guard module
HTTP > Make a request
Body type: Raw / JSON
{
"text": "{{1.message}}",
"checks": ["prompt_injection", "pii_secrets"],
"redact": true
}
Replace {{1.message}} with the mapped field from your trigger (Webhook, Google Forms, Typeform, etc.). If you assemble context from multiple modules, use a Text aggregator or Set variable module first, then reference the combined string.
Response mapping
Parse JSON response. Key fields:
decision— route on thisrequest_id— log for support ticketschecks— array of per-check resultsusage_units— billing visibility
Router: input decision
Add Flow Control > Router after input guard:
| Route | Filter |
|---|---|
| Allowed | decision equal to allow |
| Blocked / Review | decision equal to block OR decision equal to review |
Allowed route → AI module (OpenAI Create a Completion, Anthropic, etc.)
Blocked route → Send fallback (Gmail, Slack) or Ignore with ops notification
Do not run AI modules on the blocked route.
AI generation module
Configure OpenAI, Claude, or Gemini module with guarded input only. Make does not apply IdenticAPI checks automatically.
Map the user message from the original trigger, not from unvalidated intermediate storage.
Output guard module
Second HTTP > Make a request:
{
"text": "{{openai.text}}",
"checks": ["output_safety", "pii_secrets"]
}
Adjust {{openai.text}} to match your AI module output — field names vary by app version (e.g., {{3.result}}, {{anthropic.content}}).
Router: output decision
Same Router pattern:
allow→ customer-facing modules (Slack, Gmail, Airtable)block/review→ fallback message withrequest_id
Example fallback Slack text:
Automated response withheld for safety review. Ref: {{request_id}}
Never paste blocked model output into notifications.
Error handling
Configure the HTTP module error handler:
- Security-sensitive scenarios: disable automatic ignore; route errors to ops notification; do not proceed to AI
- Low-risk internal scenarios: document explicit fail-open policy if you must continue
Default recommendation: fail closed — Fail Open vs Fail Closed.
Agent-style scenarios (CRM, email send)
Before modules that delete rows or send external email, call guard with agent_action:
{
"checks": ["agent_action"],
"agent_action": {
"tool_name": "gmail",
"action": "send",
"arguments": {
"to": "{{email.to}}",
"subject": "{{email.subject}}"
}
}
}
Combine with Make's built-in Gmail connection filters (domain allowlists) — guardrails complement connection settings.
Variables and environments
| Environment | API key prefix | Make practice |
|---|---|---|
| Staging | idapi_test_ | Separate scenario clone |
| Production | idapi_live_ | Restrict scenario edit access |
Use Make Teams folder permissions to limit who can view Bearer tokens.
Operations bundle pattern
Create a scenario snippet or duplicate template:
- HTTP Input Guard
- Router
- HTTP Output Guard
- Router
Reuse across chatbots, ticket summarization, and lead-qualification flows.
curl debugging
Validate payloads outside Make:
curl -X POST https://www.identicapi.com/api/v1/guard \
-H "Authorization: Bearer idapi_test_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"text": "Summarize this ticket. api_key=sk_live_EXAMPLE",
"checks": ["prompt_injection", "pii_secrets"],
"redact": true
}'
Expect decision: block when secrets are detected.
Unified Guard schema
| Field | Type | Required |
|---|---|---|
checks | array | Yes (1–4 check names) |
text | string | For text-based checks |
redact | boolean | Optional |
agent_action | object | When agent_action in checks |
Valid check names: prompt_injection, pii_secrets, output_safety, agent_action.
Documentation: Unified Guard.
Data minimization in Make
Make stores execution history. Avoid logging full user messages in subsequent modules if executions are retained long-term. Pass request_id and decision to logging sheets instead of raw LLM output on block paths.
Testing checklist
- Benign input →
allow→ AI runs → outputallow→ delivery module fires - Prompt injection sample → input not
allow→ AI module never runs - Invalid API key → HTTP error → fail-closed path verified
- Output guard
block→ customer module does not receive model text
Related guides
Summary
Make AI security uses generic HTTP modules against POST /api/v1/guard with Bearer idapi_test_ or live keys, Router filters on decision, and explicit error handling. Guard input before AI apps and output before customer-facing actions — there is no native IdenticAPI integration. Integrate Unified Guard in Make · Documentation
Frequently asked questions
Is there a native IdenticAPI module in Make?
No. Use the HTTP > Make a request module to POST https://www.identicapi.com/api/v1/guard with Authorization Bearer header and JSON body per the Unified Guard schema.
How do I route on guard decisions in Make?
Add a Router module after each HTTP guard call. Continue to AI modules only when decision equals allow. Send block and review paths to fallback emails or Slack messages with request_id.
What should the input guard HTTP body contain?
text mapped from your trigger, checks including prompt_injection and pii_secrets, and redact true when your policy redacts PII before the AI module runs.
How do I secure Make scenarios when the guard API is down?
Configure HTTP module error handlers to notify ops and skip AI modules rather than proceeding unguarded. Fail closed is the recommended default for customer-facing automations.
Can Make guard agent-style actions like email send?
Yes. Call Unified Guard with checks containing agent_action and an agent_action object describing the tool, action, and arguments before Gmail or HTTP modules that perform side effects.
Related reading
- Adding AI Security Checks to n8n Workflows
Add AI security checks to n8n workflows — HTTP Request nodes, authentication, verdict branching, and error handling with…
- How to Combine Prompt Injection, PII and Output Safety Checks
Combine prompt injection, PII, and output safety in one request using Unified Guard — real API schema, parallel checks, …
- How to Add AI Guardrails to a Node.js API
Add AI guardrails to Node.js APIs — server-side guard calls, environment variables, request validation, and verdict hand…