원본 영상: All 74 Make.com Functions Explained Using Examples
Make.com 인라인 함수 전체를 카테고리별로 실습하며, 코드 없이 단일 모듈 안에서 복잡한 데이터 변환·조건 분기·날짜 연산·배열 조작을 처리하는 방법을 보여준다.
- 인라인 함수의 가치: Zapier에서는 함수 하나에 모듈 하나가 필요하지만, Make.com에서는 “Set Multiple Variables” 한 모듈 안에 수백 개의 인라인 함수를 동시에 쓸 수 있다.
- 데이터 타입 이해가 전제: 숫자·문자열·Boolean·날짜·배열(리스트)·객체(object)가 각각 다른 타입이며, 잘못된 타입으로는 연산이 불가하다.
parseNumber, parseDate, toString 같은 변환 함수가 이를 해결한다.
- 배열(Array)은 “리스트”의 코딩 표현: 인덱스는 0부터 시작하며, 단순 값 배열(primitive array)과 객체 배열(object array)을 구분해서 함수를 적용해야 한다.
- 조건 로직을 인라인으로:
if/else, 중첩 if, and/or 연산자, Boolean 키워드를 조합해 별도 필터 모듈 없이 단일 필드에서 분기 처리가 가능하다.
| 함수 | 동작 |
|---|
ceil(n) | 소수점 올림 (1.2 → 2) |
floor(n) | 소수점 내림 (1.9 → 1) |
max(array) | 배열 최댓값 |
min(array) | 배열 최솟값 |
round(n * 100) / 100 | 소수점 2자리 반올림 패턴 (기본 round는 정수로만 반올림) |
sum(array) | 배열 합계 |
average(array) | 배열 평균 |
mod(25, 7) | 나머지 연산 (25 ÷ 7 = 나머지 4) |
parseNumber(value, ",") | 텍스트 숫자 → 숫자 타입 변환 |
formatNumber(n, 2, ".", ",") | 숫자 표시 형식 지정 (소수점 자리·구분자) |
pi | π값 |
randomNumber | 0~1 사이 난수 (A/B 분기 등에 활용) |
| 함수 | 동작 |
|---|
if(조건; A; B) | 조건 참이면 A, 거짓이면 B |
ifEmpty(값; 대체값) | 값이 비어있으면 대체값 사용 |
switch(값; 옵션1; 결과1; 옵션2; 결과2; ...) | 값 매칭 후 대응 결과 반환 |
omit(object; "키1"; "키2") | 객체에서 특정 키 제거 |
pick(object; "키1"; "키2") | 객체에서 특정 키만 선택 |
get(array; "1.name") | 배열·객체의 중첩 값 추출 (0-index 기반) |
and, or | 복수 조건 결합 |
true, false, null, ignore | Boolean 키워드 (문자열 “true”와 다름) |
| 함수 | 동작 |
|---|
length(text) | 문자 수 반환 |
lower(text) / upper(text) | 소문자/대문자 변환 |
capitalize(text) | 각 단어 첫 글자 대문자 |
startCase(text) | 첫 단어만 첫 글자 대문자 |
ascii(text; true) | 특수문자 제거·표준 ASCII 변환 (두 번째 인자 true: 유사 문자 치환) |
replace(text; "찾을값"; "바꿀값") | 텍스트 치환 |
trim(text) | 앞뒤 공백 제거 |
substring(text; 0; 3) | 0~3번째 문자 추출 (트윗 자르기 등에 활용) |
indexOf(text; "t") | 문자 위치 반환 (없으면 -1) |
toString(value) | 숫자·Boolean → 문자열 변환 |
encodeURL(text) | URL 인코딩 (공백 → %20) |
decodeURL(text) | URL 디코딩 |
stripHTML(text) | HTML 태그 완전 제거 |
contains(text; "단어") | 포함 여부 Boolean 반환 |
split(text; space) | 구분자로 텍스트 분리 (공백은 반드시 space 키워드 사용) |
uuid | 고유 식별자 생성 |
md5, sha1, sha256, sha512, base64 | 해시·인코딩 변환 |
| 함수 | 동작 |
|---|
now | 현재 시각 (가장 자주 사용) |
addSeconds(now; 32) | 시간 더하기 |
addMinutes / addHours / addDays / addMonths / addYears | 각 단위별 시간 추가 |
subtractSeconds 등 | 시간 빼기 |
setSeconds(now; 13) | 특정 단위만 지정값으로 변경 |
formatDate(date; "DD MMM YYYY") | 날짜 표시 형식 지정 |
parseDate(text; "YYYY MM DD") | 텍스트 → 날짜 타입 변환 |
compareDates(d1; d2; "minutes") | 두 날짜 차이를 지정 단위로 반환 |
| 함수 | 동작 |
|---|
join(array; 구분자) | 배열 → 텍스트 병합 (primitive 배열만) |
length(array) | 배열 항목 수 |
keys(object) | 객체의 키 목록 반환 |
slice(array; 1; 3) | 인덱스 1~2 추출 (끝 인덱스 미포함, 0-based) |
merge(array1; array2) | 두 배열 합치기 |
contains(array; 값) | 배열에 값 포함 여부 Boolean |
remove(array; 값1; 값2) | 배열에서 값 제거 (primitive 배열만) |
add(array; 값) | 배열에 값 추가 |
map(array; "키") | 배열에서 특정 키 값만 추출 |
map(array; "키"; "필터키"; "필터값") | 조건 필터 후 키 추출 |
sort(array; "키") | 키 기준 정렬 |
reverse(sort(...)) | 역순 정렬 패턴 |
shuffle(array) | 랜덤 순서 섞기 |
first(array) / last(array) | 첫/마지막 요소 |
flatten(array) | 중첩 배열 평탄화 |
distinct(array; "키") | 객체 배열 중복 제거 (키 기준) |
deduplicate(array) | primitive 배열 중복 제거 |
toArray(object) | 객체 → 배열 변환 |
- 본인 실측: 필드 입력 시 상당 비율에 인라인 함수를 사용한다고 밝힘
- 본인 실측:
now, if/else, contains, map을 가장 자주 사용
round 소수점 2자리 패턴: round(값 * 100) / 100 → 1.41 반환 확인
sum([1,2,3,4,5]) → 15, average([1,2,3,4,5]) → 3 시연
compareDates로 32분 차이 반환 시연
- 사용 도구: Make.com (JSON 모듈, Set Multiple Variables, Flow Control Iterator)
- 데이터 소스: ChatGPT로 생성한 JSON 샘플 데이터 (5명의 클라이언트 객체 배열)
- 소수점 반올림 패턴:
round(값 * 100) / 100 (Make.com 기본 round는 정수 반올림이므로 필수 패턴)
- URL 안전 문자열 패턴:
encodeURL(text) → URL 삽입 → 필요시 decodeURL로 복원
- 중복 제거 패턴: 객체 배열은
distinct(array; "name"), primitive 배열은 deduplicate(array)
- 조건 분기 패턴:
if(contains(text; "word"); true; false) — contains 결과를 if 조건으로 직접 사용
- 키워드 주의:
split, contains 등에서 공백·탭·줄바꿈은 문자열이 아닌 space, tab, newline 키워드를 사용해야 함
- Boolean 키워드 주의: 문자열
"true"와 Boolean 키워드 true는 다른 타입으로, 인라인 함수 조건 비교 시 반드시 키워드 사용