Programmers Make.com Dictionary

What are you trying to achieve?

Perhaps the community can help me create this dictionary for myself and for others coming from a coding environment to a no-code environment like Make.

I’ve been trying to create scenarios and often find myself thinking “If this were just code it would be so much easier, I’d just use a (INSERT CODING SCENARIO HERE) and move on”

So here is a list of common coding sentences. I’d love if the community could help me fill this out with how to do the same thing in Make.

:repeat_button: Control Flow Statements
These define logic and flow in most programming languages:

Conditionals
IF [condition] THEN [do something]
IF [condition] THEN [A] ELSE [B]
SWITCH [variable] { CASE A: …, CASE B: … }
TERNARY: [condition] ? [true value] : [false value]

Loops
WHILE [condition] { [do something] }
DO { [action] } WHILE [condition]
FOR [init; condition; increment] { [loop body] }
FOR EACH item IN collection { [process item] }
BREAK → exit loop
CONTINUE → skip to next iteration

:card_file_box: Data Structures / Algorithms
Lists / Arrays
FOR EACH item IN list: [do something with item]
APPEND item TO list
REMOVE item FROM list
IF item IN list THEN [do something]
SORT list BY [criteria]

Stacks / Queues
PUSH item ONTO stack
POP item FROM stack
ENQUEUE item TO queue
DEQUEUE item FROM queue
PEEK at top of stack / front of queue

Hash Tables / Dictionaries
SET key TO value
GET value FROM key
IF key EXISTS IN dictionary THEN …
ITERATE over keys / values / pairs

:oil_drum: Database Queries (SQL)
SELECT [columns] FROM [table] WHERE [condition]
INSERT INTO [table] (columns) VALUES (values)
UPDATE [table] SET [column = value] WHERE [condition]
DELETE FROM [table] WHERE [condition]
JOIN [table1] ON [common_field]
GROUP BY [column] HAVING [aggregate condition]
ORDER BY [column] ASC|DESC
COUNT(*), SUM([column]), AVG(…), MAX(…)

:gear: Automation / Scripting Patterns
Make.com, Zapier, or Workflow Builders
IF [field value] CONTAINS “X” THEN [send notification]
REPEAT FOR EACH [bundle/row]
MAP [array] TO [key-value pair]
AGGREGATE all values FROM [collection]
WAIT UNTIL [condition is met]
SET variable TO [result of step X]

:package: APIs / JSON Structures
GET /resource/{id}
POST /resource with { “name”: “value” }
IF response.status == 200 THEN proceed
FOR EACH item IN response.data
SET headers = { “Authorization”: “Bearer X” }

:locked_with_key: Error Handling / Logging
TRY { do something risky } CATCH { handle error }
LOG error TO console/file
THROW new Error(“Something went wrong”)
ASSERT condition, “error message if false”

Steps taken so far

I know some of these may be module specific but I’m sure we could figure out how to fill this out and be useful. I’ll start with an example:

IF [condition] THEN [do something] - Example - NOTION MODULE - Watch Database Items.

A basic implementation of IF [row changed] THEN [include in bundle to pass on]

IF [condition] THEN [A] ELSE [B] - Example ROUTER MODULE With FILTER.

Routes data in one of x number of directions. With filter you can create an IF THEN ELSE pretty easy. Setup your filter for the [condition]. So you would see ROUTER → Path A (IF [field exists]) then pass data along ELSE move to Path B and so on.

Does this make sense to anyone else but me? Would anyone else find something like this helpful ?