Definition
An operation is idempotent if running it multiple times produces the same result as running it once. Reading a file is idempotent. Deleting a user by ID is idempotent (the user is gone either way). Incrementing a counter is not idempotent (it increments every time). Idempotency is a critical property for any system that might retry - without it, retries cause duplicate rows, duplicate charges, or duplicate emails.
To make a non-idempotent operation idempotent, you typically add an idempotency key - a unique identifier the client generates once per logical attempt. The server checks if it has already processed that key; if so, it returns the original result rather than running the operation again. Stripe, SQS, and most modern APIs expose idempotency keys for this reason.
How SheetLinkWP relates to Idempotency
SheetLink Forms generates a unique submission ID for every form entry and includes it in every delivery payload. On the classic Apps Script method, the connector checks recent rows for that ID before appending, so a retry after a partial success does not create a duplicate Sheet row. The Multi-CRM Routing add-on uses the same submission ID as the Stripe-style Idempotency-Key header when calling HubSpot, Salesforce, Zoho, and Pipedrive - so retries land on the same CRM record instead of creating duplicates.