소개
시도하고자 했던 것과 그 이유를 알려주세요.
아침마다 GPT와 영어 공부를 하는데 그날 공부한 내용을 노션에 자동으로 업데이트 하고 싶었습니다.
https://www.gpters.org/marketing/post/my-first-project-summarize-slK8cYaPWLaYXV8
[첫 시도로 GPT에게 오늘 공부한 내용을 요약해달라고 요청 -> JSON 파일을 파싱하여 구조화 한 후 노션 데이터베이스에 업데이트하는 순서로 진행하였습니다.]
이러한 이유로 실패한 작업이었습니다.
안된다고 생각하고 수동으로 기록하고 있었는데
우연히 "GPT와 나눈 대화 내용 노션에 기록하기"라는 데브남님의 유튜브를 보고 zapier를 MAKE로 수정하여 시도하게 되었습니다.
https://youtu.be/2NXUxf5y0Mw?si=k3cSsYvumFRQpb_F
진행 방법
어떤 도구를 사용했고, 어떻게 활용하셨나요?
Tip: 사용한 프롬프트 전문을 꼭 포함하고, 내용을 짧게 소개해 주세요.
Tip: 활용 이미지나 캡처 화면을 꼭 남겨주세요.
Tip: 코드 전문은 코드블록에 감싸서 작성해주세요. ( / 을 눌러 '코드 블록'을 선택)
ChatGPT에게 GPTs action기능을 활용하여 가능한지 문의하니 webhook을 이용하면 가능하다는 답변을 받고 바로 진행하였습니다.
MAKE에서 template있는지 먼저 확인해 보았습니다.
이 중에서 가장 심플한 Send data from a webhook to notion을 선택하고 진행하였습니다.
시나리오는 매우 간단합니다 GPTs 와 영어 공부한 내용을 요약해서 webhook으로 보내면 webhook에서 notion으로 학습 데이터를 보내는 것입니다.
가장 먼저 notion에서 데이터 베이스르 만듭니다.
두번째로 GPTs를 만듭니다
제가 GPTs 스터디 청강 중인데 2월1일 토요일에 온라인으로 들은 내용이 있어 쉽게 진행할 수 있었습니다.
새 작업 만들기 버튼을 눌러 스키마를 작성합니다.
스키마는 당연히 chatGPT에게 "영어 학습 데이터를 MAKE webhook으로 보내는 스키마를 작성해달라고 요청했습니다:"
{
"openapi": "3.1.0",
"info": {
"title": "영어 학습 기록 전송 API",
"version": "1.0.0",
"description": "영어 학습 데이터를 Make Webhook으로 전송하는 API"
},
"paths": {
"/": {
"post": {
"operationId": "sendEnglishLearningData",
"summary": "영어 학습 데이터 전송",
"description": "영어 학습 데이터(제목, 날짜, 원본 문장, 수정된 문장, 피드백, 단어 목록)를 Notion으로 전송합니다.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "학습 제목 (예: Daily Conversation about AI)"
},
"date": {
"type": "string",
"format": "date",
"description": "학습 날짜 (예: 2025-02-07)"
},
"original_sentence": {
"type": "string",
"description": "사용자가 입력한 원본 문장"
},
"corrected_sentence": {
"type": "string",
"description": "수정된 문장"
},
"feedback": {
"type": "string",
"description": "문법 및 표현 교정에 대한 피드백"
},
"vocabulary": {
"type": "array",
"items": {
"type": "string"
},
"description": "새로 배운 단어 목록"
}
},
"required": ["title", "date", "original_sentence", "corrected_sentence", "feedback", "vocabulary"]
}
}
}
},
"responses": {
"200": {
"description": "데이터 전송 성공",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "success"
},
"message": {
"type": "string",
"example": "데이터가 성공적으로 전송되었습니다."
}
}
}
}
}
},
"400": {
"description": "잘못된 요청",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"example": "error"
},
"message": {
"type": "string",
"example": "요청 데이터가 올바르지 않습니다."
}
}
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://hook.us2.make.com/f9iykazkbqaaymdr795tepo4w1ebjomd",
"description": "Make Webhook 서버"
}
]
}
그리고 영어 대화를 한 후 요약해서 보내달라고 요청을 합니다.
그러면 GPTs에서 webhook으로 JSON형식으로 전송이 되는데 이때 중요한 것이 있습니다.
바로 Redetermine data structure입니다.
먼저 data 구조를 만들어주기 위해 이 버튼을 눌러 활성화를 시킨 후 데이터를 보내야 webhook에거 data를 DB에 맞게 구조화 할 수 있습니다.
이 버튼이 활성화 되지 않은 상태에서 보내면 아무 소용이 없습니다.
버튼을 눌러서 stop사인에서 완료되었다는 표시가 바뀌는지 확인해야합니다.
그러고 나면 아래처럼 database에 맞는 mapping을 시행하면 완성입니다.
결과와 배운 점
배운 점과 나만의 꿀팁을 알려주세요.
과정 중에 어떤 시행착오를 겪었나요?
도움이 필요한 부분이 있나요?
앞으로의 계획이 있다면 들려주세요.
webhook을 처음 써봐서 구조화를 먼저 해야한다는 것을 아는데 시간이 오래 걸렸습니다.
무엇이든지 처음은 어렵지만 해내고 나니 혼자 뿌듯하네요 ^^
다음에는 주간 월간 분석 할 수 있게 고도화해 나갈 예정입니다.
감사합니다.
도움 받은 글 (옵션)
참고한 지피터스 글이나 외부 사례를 알려주세요.
GPTs 스터디의 캔로봇님과 유니님의 강의가 많은 도움이 되었습니다. 감사합니다.