๋ฐ˜์‘ํ˜•

๐Ÿ’ก ์›Œํฌํ”Œ๋กœ์šฐ ๋ชฉํ‘œ

  1. ๊ตฌ๊ธ€ ์‹œํŠธ์—์„œ ์ƒ์ผ ๋ชฉ๋ก ์กฐํšŒ
  2. ์˜ค๋Š˜, ๋‚ด์ผ, ์ผ์ฃผ์ผ ํ›„ ์ƒ์ผ์ธ ์‚ฌ๋žŒ ํ•„ํ„ฐ๋ง
  3. ๋Œ€์ƒ์ž์—๊ฒŒ ์ด๋ฉ”์ผ ์ „์†ก

 

 

๊ตฌ๊ธ€ ์‹œํŠธ ์ƒ์„ฑ


์ด๋ฆ„, ์ƒ์ผ, ์ด๋ฉ”์ผ ์ฃผ์†Œ ์ปฌ๋Ÿผ์„ ํฌํ•จํ•œ ๊ตฌ๊ธ€ ์‹œํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์‹ค์Šต์„ ์œ„ํ•ด 3๋ช…์˜ ์ƒ์ผ์„ ๊ฐ๊ฐ ์˜ค๋Š˜, ๋‚ด์ผ, ์ผ์ฃผ์ผ ํ›„ ๋‚ ์งœ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

Name Birthdate Email
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 ๋…ธ๋“œ๋Š” ์ „๋‹ฌ๋ฐ›์€ ์•„์ดํ…œ ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต ์‹คํ–‰๋˜์–ด ๊ฐ ๋Œ€์ƒ์ž์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ฐœ์†กํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•