Make data stores give a scenario a small, persistent memory. Instead of treating every run as an isolated event, a workflow can save a record, retrieve it by a unique key, check whether it already exists, update its state, or search a structured set of records. That makes data stores useful for deduplication, checkpoints, lightweight lookup tables, and controlled handoffs between scenarios.
Make’s current documentation describes a data store as similar to a simple database that can retain data from applications during execution and transfer data between individual scenario runs.[1] The important word is simple. A data store can solve a narrow state problem inside Make, but it should not automatically replace a CRM, order system, accounting platform, or production database.
Quick Summary
- Use a Make data store when a workflow needs durable state between scenario runs.
- Choose a stable, meaningful key before adding records; the key is the foundation for lookup and deduplication.
- Define only the fields the automation needs, with clear types and ownership.
- Prefer exact key lookups over broad searches when the business event already has a unique identifier.
- Make writes idempotent so a retry does not create duplicate records or repeat customer-facing actions.
- Back up data before changing a structure; field-name changes can break access to existing values.
- Do not store unnecessary secrets or sensitive customer data merely because the tool allows it.
- Keep a human owner, retention rule, monitoring plan, and migration path for consequential workflows.
Table of Contents
- What Make Data Stores Are
- When a Data Store Is the Right Tool
- When Not to Use a Make Data Store
- Design the Key Before the Record
- Create a Useful Data Structure
- Build an Idempotent Write Pattern
- Use Data Stores for Checkpoints and Recovery
- Search, Update, and Delete Records Deliberately
- Protect Data and Control Retention
- Test the Complete State Lifecycle
- Honest Limitations
- Frequently Asked Questions
What Make Data Stores Are
A Make data store is persistent storage managed inside a Make organization. A scenario can write a record during one execution and retrieve or update it during a later execution. Separate scenarios can also use the same store when that shared state is intentional and access is properly controlled.
The official Data stores documentation currently lists modules for common record operations, including:
- Add/Replace a Record
- Check the Existence of a Record
- Count Records
- Get a Record
- Search Records
- Update a Record
- Delete a Record and Delete All Records[1]
Each record has a unique key. You can supply that key or let Make generate one, but an automatically generated key is less useful when another system already provides a stable identifier. Make also supports a defined data structure—a list of fields and types—or a key-only store when the workflow only needs to know whether a key exists.[1]
That combination makes a data store more capable than a temporary variable but intentionally smaller in scope than a full application database.
If you are new to scenarios, modules, mapping, and execution, start with the Make.com tutorial for beginners. The rest of this guide assumes you already understand how a bundle moves through a scenario.
When a Data Store Is the Right Tool
A data store is strongest when the required state is small, structured, and closely tied to Make automation.
Deduplication
Save the source system’s immutable event or record ID as the key. Before creating a downstream record or sending a message, check whether that key already exists. If it does, route the replay to a safe no-op or review path instead of repeating the side effect.
Examples:
- Prevent the same webhook event from creating two CRM contacts.
- Avoid sending a welcome message twice after a retried form submission.
- Record that an invoice export has already been handed to an approved destination.
Processing checkpoints
A long workflow can save a compact state such as received, validated, sent_to_crm, awaiting_review, or complete. On retry, the scenario reads the record and resumes only the approved next step.
Lightweight lookup tables
A store can map a stable input to a small operational value: territory code to owner, form ID to pipeline, vendor ID to internal account, or source label to approved routing rule. This is practical when the mapping belongs to automation operations and does not need a richer management interface.
Controlled handoff between scenarios
One scenario can record a normalized work item and another can process it later. This can separate intake from a slower enrichment or delivery step. The record should still have a clear owner, status model, retry limit, and expiration rule; storage alone does not make a queue reliable.
When Not to Use a Make Data Store
Do not choose a data store merely because it is available in the same platform as the scenario.
Use the real system of record when the data belongs to a business application that already owns it. Customer consent belongs in the approved CRM or consent platform. Orders belong in the commerce or order-management system. Financial entries belong in accounting. Case records belong in the authorized practice system.
A different storage layer is usually appropriate when you need:
- complex relationships across many record types;
- high-volume analytics or reporting;
- fine-grained user permissions and audit requirements;
- advanced querying, transactions, or strict concurrency controls;
- customer-facing editing or a mature administrative interface;
- long-term regulated retention;
- independent backup, disaster recovery, or data residency controls;
- an application that must continue operating independently of Make.
The decision test is simple: is this compact automation state, or is it primary business data? Keep compact automation state in Make when the fit is clear. Keep primary business data in its authoritative system and store only the reference needed by the workflow.
Design the Key Before the Record
The unique key is the most important design decision in a Make data store. Make’s documentation says the key can later retrieve the record and that adding a duplicate key without the overwrite option produces an error.[1]
A strong key is:
- stable: it does not change when a name, email address, or status changes;
- unique: two real business events cannot accidentally share it;
- source-aware: it identifies where the value came from;
- safe to log: it does not expose a password, token, or unnecessary personal data;
- reproducible: the same event creates the same key during a retry.
Good patterns include:
stripe:event_idfor a specific payment-platform event;crm:contact_idfor a contact reference;form_id:submission_idfor a form submission;- a documented hash of approved non-secret identifiers when the source does not provide a durable ID.
Avoid using an email address as the only key unless the business process explicitly treats it as immutable and unique. People change addresses, shared inboxes exist, and case differences or whitespace can create accidental variants.
Also distinguish an event key from an entity key. One customer can generate many events. A customer ID works for the current customer snapshot; an event ID works for deduplicating one specific action. Using the wrong level can either allow duplicates or incorrectly suppress legitimate work.
Create a Useful Data Structure
A data structure defines the fields and data types stored with each key. Make’s documentation explains that a store can use a created or existing structure, while a key-only store is useful when the only question is whether a key exists.[1]
For a processing-state store, a practical structure might include:
source_record_idstatusfirst_seen_atlast_attempt_atattempt_countnext_actionownerexpires_atlast_error_category
Keep the fields operational. Do not copy the full source payload by default. Store a link or stable source reference when authorized users can inspect the original record in its system of record.
Treat structure changes as migrations
Make warns that data-structure field names act as unique identifiers for columns. Renaming a field can prevent retrieval of the original data under the old identifier. The documentation recommends backing up the data, using temporary fields, copying and converting values, validating them, and only then moving to the final structure.[1]
That means a production structure change deserves a small migration plan:
- Back up the store.
- Add the new field without deleting the old one.
- Copy or convert existing values.
- Validate representative and edge-case records.
- Update readers before removing legacy fields.
- Keep a rollback path until the new structure is proven.
Changing a label is not the same as changing the underlying field name. Treat internal identifiers as durable contracts between scenarios.
Build an Idempotent Write Pattern
Idempotency means the same input can be processed more than once without producing an unwanted additional effect. Data stores can support idempotency, but only when the workflow order is designed carefully.
A basic pattern is:
- Receive an event with a stable source event ID.
- Validate required fields and authentication before trusting the payload.
- Build the reproducible data-store key.
- Check whether the key exists.
- If it exists with
complete, stop safely. - If it exists with
in_progressorneeds_review, follow the documented recovery rule. - If it does not exist, create the processing record.
- Perform the downstream action.
- Update the record with the final state and reference.
The difficult case is a failure between steps 8 and 9. The downstream action may succeed while the state update fails. A blind retry can repeat the action. Reduce that risk by sending a stable external idempotency key when the destination supports one, searching the destination by the source reference before retrying, or routing uncertain outcomes to human review.
Do not turn on overwrite merely to make duplicate-key errors disappear. Overwrite is appropriate only when replacing the current record is the intended business behavior and you will not erase evidence needed for recovery.
For the broader exception design around retries, incomplete work, and human ownership, use the Make error-handling guide.
Use Data Stores for Checkpoints and Recovery
A status field should describe an observable business state, not a vague technical mood. Prefer validated, crm_created, or manual_review_required over working or error.
For each state, define:
- the event that enters it;
- the allowed next states;
- whether retry is safe;
- the owner and response time;
- the source record needed for investigation;
- the cleanup or expiration rule.
For example, a lead handoff might use:
received: authenticated payload accepted;validated: required fields passed validation;crm_created: CRM returned a durable record ID;notification_sent: internal owner was notified;complete: all required outcomes were verified;manual_review_required: the workflow cannot prove a safe automated next step.
This makes the store a compact recovery ledger. It does not replace the source system’s audit history, and it should not contain more customer data than the recovery process actually needs.
Search, Update, and Delete Records Deliberately
Use Get a Record when you know the exact key. Exact lookup is easier to reason about than a broad search and reduces the chance of selecting the wrong record.
Use Search Records only when the business rule truly depends on other fields. Make’s documentation says searches can filter, sort, set an order, and limit the number of returned results.[1] Define what zero, one, or several matches mean. A route that silently uses the first of several matches can turn a data-quality problem into the wrong action.
Use Update a Record when changing known state. Make’s module can optionally insert a missing record, but that upsert-style behavior should be intentional. If a missing record indicates an earlier control failed, silently creating it may conceal the defect.
Treat delete operations as production changes. Delete All Records is especially consequential. Restrict who can edit scenarios containing it, separate test stores from production stores, and require a backup and explicit operating step before destructive maintenance.
Make’s current documentation also ties total data-store allowance to plan credits, with 1 MB of storage per 1,000 credits, a 1 MB minimum per store, and a maximum of 1,000 data stores per organization. It currently states that an individual record can be up to 15 MB.[1] These limits and plan terms can change, so check the current documentation and pricing before designing near a capacity boundary.
Protect Data and Control Retention
A data store is convenient, not exempt from security or privacy obligations.
Use these controls:
- Store identifiers and operational state instead of full payloads when possible.
- Never store passwords, API keys, access tokens, or secret webhook values in records.
- Limit scenario and organization access to people who need it.
- Separate production, test, and development records.
- Avoid placing sensitive values in keys, scenario names, alerts, or logs.
- Define how long completed and failed records are retained.
- Delete records through an approved, recoverable process.
- Document where the primary record lives and how to reconcile differences.
Make’s security guidance emphasizes operational integrity, confidentiality, and authentication, and it documents platform controls such as encrypted connections and role-based access.[3] Those platform features do not decide what your team should collect, who should use it, or how long it should be retained.
For webhook-driven intake, authenticate the raw request before parsing or storing business data. The n8n webhook security guide explains the same vendor-neutral principle: verify first, parse second, and make replay behavior explicit.
Test the Complete State Lifecycle
A successful write is not enough. Test the state machine from creation through cleanup with controlled, non-production records.
Minimum test matrix
- First event: creates exactly one record with the expected key and fields.
- Exact replay: does not repeat the protected downstream action.
- Same entity, new event: creates or updates the correct record according to the documented key model.
- Missing required field: stops before writing misleading state.
- Duplicate key: follows the intended no-op, overwrite, or review rule.
- Downstream timeout: distinguishes known failure from uncertain outcome.
- State-update failure: does not blindly repeat a consequential action.
- Unknown status: fails closed rather than guessing the next route.
- Search with zero results: follows an explicit path.
- Search with several results: surfaces ambiguity instead of selecting an arbitrary record.
- Structure migration: preserves old records and lets updated scenarios read them.
- Retention job: removes only eligible records and produces a reviewable count.
After testing, inspect the records directly. Confirm the key, timestamps, status, source reference, and any downstream ID. Then test the scenario’s actual alert or review path. A store full of well-structured failures still needs an accountable human to resolve them.
Honest Limitations
Make data stores are useful for lightweight state close to a scenario. They are not a universal persistence layer.
They can become difficult to operate when many scenarios write the same records, several teams need to edit data, relationships become complex, searches replace exact keys, or reporting needs outgrow the interface. Capacity is plan-dependent, and storage limits should not be treated as a performance target. A 15 MB maximum record does not mean a 15 MB record is a good workflow design.
Data stores also do not remove race conditions. If two executions check for a key at nearly the same time, both may believe the record is absent before one write wins. Use the destination’s idempotency controls, sequential processing where justified, or a stronger transactional system when concurrency can create financial, customer, inventory, or compliance harm.
Finally, persistence does not create governance. The team still needs a system of record, access rules, monitoring, retention, backup, recovery, and ownership.
If you need help deciding which state belongs in Make and which belongs in your CRM or application, book an automation strategy call. We can map the source of truth, failure boundaries, and human review points before the workflow becomes difficult to unwind.
E-E-A-T and Responsible Implementation
This article is a source-backed implementation guide, not a claim of hands-on access to every Make plan, account, or organization configuration. Make’s current Help Center is the technical source for the modules, field behavior, structure warnings, and storage terms described here. Your approved systems, data policy, contracts, and live scenario behavior remain the source of truth for implementation.
Stephen Gardner’s operating approach is to design automation around stable identifiers, explicit state transitions, reversible changes, and human ownership for uncertain outcomes. Test with controlled records, verify downstream read-back, and do not let a convenient store become an undocumented second database.
Frequently Asked Questions
What is a Make data store?
A Make data store is persistent storage inside Make that scenarios can use to save, retrieve, search, update, and delete structured records across executions. It is similar to a simple database and is best suited to compact automation state.[1]
What should I use as a data-store key?
Use a stable, unique, reproducible identifier from the source event or entity. Include source context when IDs could collide. Avoid mutable values such as names and avoid sensitive values such as tokens or unnecessary personal data.
Can Make data stores prevent duplicate workflow actions?
They can support deduplication by recording a source event ID and checking it before a protected action. They do not guarantee end-to-end idempotency by themselves, especially when a downstream action succeeds but the state update fails. Use destination idempotency controls or human review for uncertain outcomes.
Should I store full webhook payloads in Make?
Usually not by default. Store the minimum approved fields and a stable reference to the authoritative source. Full payloads can increase storage, privacy, retention, and access risk. If a payload must be retained, document the purpose and deletion rule.
Can a Make data store replace my CRM or database?
Not usually. A data store is appropriate for lightweight workflow state and lookup data. Use a CRM or application database for primary customer records, complex relationships, mature permissions, reporting, transactions, and long-term governance.
What happens if I rename a data-structure field?
Make’s documentation warns that field names identify data-store columns. Renaming a field can prevent existing data from being retrieved under the old identifier. Back up the store and migrate through temporary fields rather than renaming production fields casually.[1]
How much data can a Make data store hold?
Make’s current documentation ties total data-store allowance to plan credits and states a 1 MB minimum allocation per store, while an individual record can be up to 15 MB.[1] Check the current Help Center and your plan before relying on a specific limit.
How do I test a data-store workflow?
Test first-time processing, exact replay, duplicate keys, missing data, uncertain downstream outcomes, search ambiguity, structure changes, and retention. Inspect the final record and the downstream system after every controlled test.
Final Takeaway
Use Make data stores as deliberate workflow memory, not as a convenient dumping ground. Start with the business event and its stable key. Store only the state needed to decide the next safe action. Make retries idempotent, treat structure changes as migrations, and keep primary business data in its rightful system.
The best data store is small enough to understand, explicit enough to recover, and governed well enough to delete when its job is done.
Sources
[1] https://help.make.com/data-stores — Make Help Center: Data stores (accessed August 16, 2026)
[2] https://help.make.com/data-structures — Make Help Center: Data structures (accessed August 16, 2026)
[3] https://help.make.com/securing-data-with-make — Make Help Center: Securing data with Make (accessed August 16, 2026)
