[n8n] ์์ผ ์๋ฆผ ์ด๋ฉ์ผ ๋ณด๋ด๊ธฐ
๐ก ์ํฌํ๋ก์ฐ ๋ชฉํ
- ๊ตฌ๊ธ ์ํธ์์ ์์ผ ๋ชฉ๋ก ์กฐํ
- ์ค๋, ๋ด์ผ, ์ผ์ฃผ์ผ ํ ์์ผ์ธ ์ฌ๋ ํํฐ๋ง
- ๋์์์๊ฒ ์ด๋ฉ์ผ ์ ์ก
๊ตฌ๊ธ ์ํธ ์์ฑ
์ด๋ฆ, ์์ผ, ์ด๋ฉ์ผ ์ฃผ์ ์ปฌ๋ผ์ ํฌํจํ ๊ตฌ๊ธ ์ํธ๋ฅผ ์์ฑํ๋ค. ์ค์ต์ ์ํด 3๋ช ์ ์์ผ์ ๊ฐ๊ฐ ์ค๋, ๋ด์ผ, ์ผ์ฃผ์ผ ํ ๋ ์ง๋ก ๋ณ๊ฒฝํ๋ค.
| Name | Birthdate | |
| Emily Chen | 05/05/1990 | emily.chen@example.com |
| Michael Davis | 05/06/1985 | michael.d@example.com |
| Sarah Johnson | 05/11/1992 | sarah.j@example.com |
| David Lee | 18/01/1988 | david.l@example.com |
| Olivia Garcia | 06/05/1995 | olivia.g@example.com |
| James Wilson | 01/04/1983 | james.w@example.com |
| Sophia Miller | 16/10/1991 | sophia.m@example.com |
| Daniel Brown | 12/09/1987 | daniel.b@example.com |
| Isabella Jones | 08/02/1993 | isabella.j@example.com |
| Alexander White | 12/05/1986 | alexander.w@example.com |
| Mia Martinez | 11/08/1994 | mia.m@example.com |
| William Taylor | 27/05/1989 | william.t@example.com |
| Charlotte Hall | 07/07/1996 | charlotte.h@example.com |
| Ethan King | 22/03/1984 | ethan.k@example.com |
| Ava Lewis | 16/11/1990 | ava.l@example.com |
| Noah Clark | 09/01/1982 | noah.c@example.com |
| Sofia Hill | 25/04/1997 | sofia.h@example.com |
| Lucas Green | 02/09/1981 | lucas.g@example.com |
| Amelia Baker | 19/06/1998 | amelia.b@example.com |
| Ben Carter | 10/10/1980 | ben.c@example.com |

๊ตฌ๊ธ ์ํธ ๋ ธ๋ ์ถ๊ฐ
๋จ์ถํค n > Google Sheets > Get row(s) in sheet ์ก์
๋
ธ๋๋ฅผ ์ถ๊ฐํ ๋ค, ๋
ธ๋ ์ค์ ์ฐฝ์์ ์์ผ ์ ๋ณด๊ฐ ํฌํจ๋ ์ํธ(Sheet)๋ฅผ ์ง์ ํ๋ค.

- Resource (์์ ์์ญ): Sheet Within Document
- Operation (์ํ ์์ ): Get Row(s)
- Document (๋์ ํ์ผ): ์์ฑํ ๋ฌธ์ ์ ํ
- Sheet (์ํธ ์ง์ ): ์์ผ ์ ๋ณด๊ฐ ํฌํจ๋ ์ํธ ์ ํ
Execute step ๋ฒํผ์ ํด๋ฆญํด์ ์ํฌํ๋ก์ฐ๋ฅผ ์คํํด ๋ณด๋ฉด ๊ตฌ๊ธ ์ํธ์ ๊ฐ ํ(row)์ ๊ฐ์ฒด ํํ๋ก ๋ถ๋ฌ์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
[
{
"row_number": 2,
"name": "Emily Chen",
"birthdate": "05/10/1990",
"email": "emily.chen@example.com"
},
{
"row_number": 3,
"name": "Michael Davis",
"birthdate": "05/11/1985",
"email": "michael.d@example.com"
},
// ...
]
์์ผ ๋ ์ง๋ณ ๋ถ๊ธฐ ์ฒ๋ฆฌ — Switch ๋ ธ๋
Switch ๋ ธ๋๋ ์ ๋ ฅ ๋ฐ์ดํฐ ๊ฐ์ด ํน์ ์กฐ๊ฑด๊ณผ ์ผ์นํ๋์ง ํ์ธํ ํ, ์กฐ๊ฑด๋ณ๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ๋ถ๊ธฐ์ํค๋ ๋ ธ๋๋ค. ์์ผ์ด ์ค๋์ธ์ง, ๋ด์ผ์ธ์ง, ์ผ์ฃผ์ผ ํ์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅธ ์๋ฆผ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋๋ก ๋๋ ์ ์๋ค.
๋จ์ถํค n > Switch ๊ฒ์ ํ ๋
ธ๋๋ฅผ ์ถ๊ฐํ๋ค.
์ค๋(Today) ์์ผ ๋ถ๊ธฐ
n8n์ ๋ ์ง/์๊ฐ์ ํธ๋ฆฌํ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก Luxon ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ด์ฅํ๊ณ ์๋ค. Luxon์ผ๋ก ๋ ์ง๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด 05/10/1990๊ณผ ๊ฐ์ ๋ฌธ์์ด์ Luxon์ DateTime ๊ฐ์ฒด๋ก ๋ณํํด์ผ ํ๋ค.
๊ตฌ๊ธ ์ํธ์์ ๊ฐ์ ธ์จ ์์ผ ๊ฐ์ 05/10/1990 ํ์์ด์ง๋ง, ์ค๋์ด ์์ผ์ธ์ง ํ์ธํ ๋๋ ์ฐ๋๊ฐ ํ์ ์์ผ๋ฏ๋ก ์/์ผ๋ง ์ถ์ถํ๋ฉด ์ถฉ๋ถํ๋ค. Routing Rules ์ฒซ ๋ฒ์งธ ํ๋(๋น๊ตํ ์
๋ ฅ๊ฐ)์ ์๋ ํํ์์ ์
๋ ฅํ๋ฉด 05/10 ํ์์ผ๋ก ๋ณํํ ์ ์๋ค.
{{ DateTime.fromFormat($json.Birthdate, "M/d/y").setZone("Asia/Seoul").toFormat('MM/dd') }}
์ ํํ์์์ ์ฌ์ฉํ ๋ฉ์๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
- fromFormat(text, format, options?): ๋ ์ง ๋ฌธ์์ด์ DateTime ๊ฐ์ฒด๋ก ๋ณํ
- ์ฒซ ๋ฒ์งธ ์ธ์: ํ์ฑํ ๋ฌธ์์ด ๋ ์ง. ์:
05/10/1990 - ๋ ๋ฒ์งธ ์ธ์: ํด๋น ๋ฌธ์์ด์ ๋ ์ง ํฌ๋งท. ์:
M/d/y
- ์ฒซ ๋ฒ์งธ ์ธ์: ํ์ฑํ ๋ฌธ์์ด ๋ ์ง. ์:
- setZone(zone, options?): ๊ธฐ์ค ํ์์กด ์ค์ . ํ์์กด ๊ฐ์ TZ identifier๋ฅผ ์ฌ์ฉํ๋ค.
- toFormat(format, options?): DateTime ๊ฐ์ฒด๋ฅผ ์ง์ ํ ํ์์ ๋ฌธ์์ด๋ก ๋ณํ. ์ธ์์๋
yyyy(๋ ),MM(์),dd(์ผ) ๊ฐ์ ๋ ์ง ํฌ๋งท ํ ํฐ์ ์ฌ์ฉํ๋ค.
๋ ๋ฒ์งธ ํ๋์ ๋น๊ต ์กฐ๊ฑด์ is equal to(๋ ๊ฐ์ด ์ผ์น)๋ก ์ ํํ๋ค. ์ธ ๋ฒ์งธ ํ๋ ๋น๊ต ๋์๊ฐ์๋ ํ์ฌ ๋ ์ง๋ฅผ ์ฒซ ๋ฒ์งธ ํ๋์ ๋์ผํ ๋ ์ง ํฌ๋งท(MM/dd)์ผ๋ก ๋ณํํ๊ธฐ ์ํด ์๋ ํํ์์ ์
๋ ฅํ๋ค. $now๋ ํ์ฌ๋ฅผ ๋ํ๋ด๋ Luxon DateTime ๊ฐ์ฒด์ด๋ค.
{{ $now.toFormat('MM/dd') }}
๊ฐ ๋ธ๋์น๋ฅผ ๋ ์ฝ๊ฒ ๊ตฌ๋ถํ๊ธฐ ์ํด Rename Output ์ต์
์ ์ฒดํฌํ ํ today๋ก ๋ณ๊ฒฝํ๋ค.

๋ด์ผ(Tomorrow) ์์ผ ๋ถ๊ธฐ
์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์งธ ํ๋๋ ์ค๋ ์์ผ ๋ถ๊ธฐ์ ๋์ผํ๊ฒ ์ค์ ํ๊ณ , ์ธ ๋ฒ์งธ ํ๋(๋น๊ต ๋์๊ฐ)์๋ plus(duration) ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํ์ฌ ๋ ์ง์ 1์ผ์ ๋ํด์ค๋ค. plus() ๋ฉ์๋ ์ธ์๋ ์ซ์(๋ฐ๋ฆฌ์ด) ํน์ years, months, weeks ์ฒ๋ผ ๊ธฐ๊ฐ์ ๋ํ๋ด๋ Luxon Duration ํํ๋ก ์
๋ ฅํ ์ ์๋ค. ์: { days: 1 }
{{ $now.plus({days:1}).toFormat('MM/dd') }}

์ผ์ฃผ์ผ ํ(In One Week) ์์ผ ๋ถ๊ธฐ
์ผ์ฃผ์ผ ํ ์์ผ ๋ถ๊ธฐ๋ ์์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ค์ ํ๋, ์ธ ๋ฒ์งธ ํ๋(๋น๊ต ๋์๊ฐ)๋ง plus() ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ์ผ์ฃผ์ผ ๋ค ๋ ์ง๋ก ๋ณ๊ฒฝํ๋ค.
{{ $now.plus({weeks:1}).toFormat('MM/dd') }}

Gmail ๋ ธ๋ ์ถ๊ฐ
Gmail > Send a message ๋ ธ๋๋ฅผ ์ถ๊ฐํ ํ ์ด์ ๋ ธ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์์ผ ์๋ฆผ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค. ์ค๋, ๋ด์ผ, ์ผ์ฃผ์ผ ํ ๋ถ๊ธฐ๋ก ๋๋ ์ ธ ์์ผ๋ฏ๋ก Gmail ๋ ธ๋๋ ์ด 3๊ฐ๋ฅผ ์์ฑํด์ผ ํ๋ค.

Subject ํ๋ ์
๋ ฅ ์์. $json.Name ํํ์์ผ๋ก ์์ผ์ ์ด๋ฆ์ ํฌํจํ ์ ์๋ค.
Today is {{ $json.Name }}'s Birthday.
Message(๋ณธ๋ฌธ) ํ๋ ์
๋ ฅ ์์. $json.Email ํํ์์ผ๋ก ์ด๋ฉ์ผ์ ํฌํจํ ์ ์๋ค.
Hi!
Today is {{ $json.Name }}'s Birthday.
Here's the email by the way: {{ $json.Email }}
Gmail ๋ ธ๋๋ฅผ ๋ชจ๋ ์์ฑํ๋ค๋ฉด ๊ฐ ๋ ธ๋๋ฅผ ์ฃ์ง๋ก ์ฐ๊ฒฐํด์ ์ํฌํ๋ก์ฐ๋ฅผ ์์ฑํ๋ค. ๊ตฌ๊ธ ์ํธ์์ ๊ฐ์ ธ์จ 20๊ฐ ์์ดํ ์ด Switch ๋ ธ๋๋ก ์ ๋ฌ๋๋ฉด, Switch ๋ ธ๋๋ ๊ฐ ์์ดํ ์ ์ํํ๋ฉด์ ์์ผ ๊ฐ๊ณผ ์กฐ๊ฑด์ ๋น๊ตํ๋ค. ์ค๋, ๋ด์ผ, ์ผ์ฃผ์ผ ๋ค ์กฐ๊ฑด์ ์ผ์นํ๋ ์์ดํ ์ ํด๋น ์กฐ๊ฑด ๋ถ๊ธฐ๋ก ์ ๋ฌ๋ ํ Gmail ๋ ธ๋๋ฅผ ํตํด ์ด๋ฉ์ผ์ ๋ฐ์กํ๋ค. ๋ง์ฝ ์ฌ๋ฌ ์์ดํ ์ด ๊ฐ์ ์กฐ๊ฑด ๋ถ๊ธฐ๋ก ์ ๋ฌ๋๋ค๋ฉด, Gmail ๋ ธ๋๋ ์ ๋ฌ๋ฐ์ ์์ดํ ์๋งํผ ๋ฐ๋ณต ์คํ๋์ด ๊ฐ ๋์์์๊ฒ ์ด๋ฉ์ผ์ ๋ฐ์กํ๋ค.

'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [n8n] ์น์ฌ์ดํธ ๋ชจ๋ํฐ๋ง ํ ๋ ๊ทธ๋จ ๋ด ๋ง๋ค๊ธฐ (0) | 2026.05.16 |
|---|---|
| [n8n] ์ํฌํ๋ก์ฐ ์๋ํ ์ ๋ฌธ: ํต์ฌ ๊ฐ๋ + ๊ธฐ์ด ์ค์ต (0) | 2026.05.12 |
| [CLI] ์ ์ฉํ ์ ธ(Shell) ํฐ๋ฏธ๋ ๋จ์ถํค/ํ ๋ชจ์ (0) | 2026.04.10 |
| [OS] ํ๋ ๋งํฌ, ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ฐจ์ด์ (0) | 2025.10.19 |
| [JS] ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ ๊ณ์ฐํ๊ธฐ (0) | 2025.07.20 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[n8n] ์น์ฌ์ดํธ ๋ชจ๋ํฐ๋ง ํ ๋ ๊ทธ๋จ ๋ด ๋ง๋ค๊ธฐ
[n8n] ์น์ฌ์ดํธ ๋ชจ๋ํฐ๋ง ํ ๋ ๊ทธ๋จ ๋ด ๋ง๋ค๊ธฐ
2026.05.16 -
[n8n] ์ํฌํ๋ก์ฐ ์๋ํ ์ ๋ฌธ: ํต์ฌ ๊ฐ๋ + ๊ธฐ์ด ์ค์ต
[n8n] ์ํฌํ๋ก์ฐ ์๋ํ ์ ๋ฌธ: ํต์ฌ ๊ฐ๋ + ๊ธฐ์ด ์ค์ต
2026.05.12 -
[CLI] ์ ์ฉํ ์ ธ(Shell) ํฐ๋ฏธ๋ ๋จ์ถํค/ํ ๋ชจ์
[CLI] ์ ์ฉํ ์ ธ(Shell) ํฐ๋ฏธ๋ ๋จ์ถํค/ํ ๋ชจ์
2026.04.10 -
[OS] ํ๋ ๋งํฌ, ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ฐจ์ด์
[OS] ํ๋ ๋งํฌ, ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ฐจ์ด์
2025.10.19