Make x Notion 자동화 개선하기 - 마크다운 변환 #번외편

소개

안녕하세요! 푸르공입니다!

지난 포스트에서 커뮤니티 문의사항을 자동으로 DB화하고 카테고리별로 구분하는 시스템을 소개해드렸는데요.

이번에는 그 다음 단계로 넘어가려고 합니다.

귀찮은 성격 덕분에(?)

바로 음성으로 컨텍스트를 입력하면 슬랙에서 이벤트를 받아 자동으로 답변 초안을 작성하는 기능인데요.

이를 구현하기 전에 먼저 해결해야 할 문제가 있어 번외편을 준비했습니다.

진행 방법

문제점

혹시 Make로 Notion 자동화를 하면서 가장 답답했던 경험이 무엇인가요?

바로 페이지를 생성할 때 블록을 하나하나 수동으로 선택해야 한다는 점일 거에요!

디버깅 그리고 Insight

디버깅 툴로 살펴보니 Make의 Notion 모듈은 공식 API를 사용하고 있더군요. (https://developers.notion.com/reference/patch-block-children)

텍스트 상자가있는 웹 페이지의 스크린 샷

이 API는 지정된 부모 block_id에 새로운 하위 블록들을 생성하고 추가하는 기능을 제공합니다. 그리고 재미있는 사실을 하나 발견했는데요.

use the "after" parameter and set its value to the ID of the block that the new block should be appended after.

공식 노션 Make 앱에서는 지원하지 않지만, "after" 파라미터를 사용하면 특정 블록 뒤에 새로운 내용을 추가할 수도 있다고 합니다! 커스텀 앱을 만들 때 이 옵션을 활용하면 다양한 용도로 사용할 수 있겠네요. 😅

해결책

한국어 텍스트가있는 앱의 스크린 샷

Make에서 자동화를 위한 고정된 포맷의 형식의 템플릿을 만들 수도 있겠지만,

자동화하고자 하는 시스템에서는 답변마다 구조가 조금씩 달라지다 보니 좀 더 유연한 방식이 필요했습니다.

그래서 마크다운 형식을 Notion 블록으로 자동 변환하는 방식으로 접근했습니다!

🚀 바로 마크다운을 Notion 블록 Object로 자동 매핑하는 기능!

라이브러리 링크가 포함된 페이지의 스크린샷

저는 보통 경량 컨테이너 기반 개발을 선호하기에 Go를 주력 언어로 사용하고 있습니다.

이번에도 Golang으로 개발을 진행했는데요, Perplexity AI를 활용해 관련 GitHub 프로젝트들을 탐색했고,

그 중 성능과 사용성 면에서 가장 적합해 보이는 오픈소스를 기반으로 PoC를 시작했습니다. 🙇🏻‍♂️

// 아래와 같은 markdown text가 주어지면
## Getting Started

// 아래의 형식으로 변환 🤖
{
  "object": "block",
  "type": "heading_2",
  "heading_2": {
    "rich_text": [
      {
        "type": "text",
        "text": {
          "content": "Getting Started",
        }
      }
    ],
    "color": "default",
    "is_toggleable": false
  }
};

이렇게 되면 제가 음성으로 컨텍스트를 입력하고,

GPT나 Claude, DeepSeek 등의 AI로 마크다운 형식의 답변을 생성한 뒤,

이를 자동으로 Notion 블록으로 변환해서 페이지에 등록할 수 있게 됩니다. 심.플.하.죠?

결과와 배운 점

슬랙 계정 생성 프로세스를 보여주는 다이어그램

이번에 개발한 마크다운 변환 모듈로 위 작업들이 한결 수월해질 것 같네요.

특히 음성으로 입력된 컨텍스트를 바로 노션 페이지로 변환할 수 있게 되어 정말 기대됩니다!

이렇게 해서 지난번에는 데이터를 체계적으로 쌓을 수 있는 기반을 마련했고,

이번에는 답변 초안 작성을 위한 마크다운 변환 모듈까지 완성했네요!

궁금하신 점 있으시다면 댓글로 남겨주세요~ 감사합니다 🙇‍♂️

앞으로 남은 부분:

  • Slack 음성 메시지를 활용한 답변 초안 작성 (진행중)

  • CS 내용 기반으로 뉴스레터 초안 작성 (진행중)

도움 받은 글 (옵션)

4
8개의 답글

👉 이 게시글도 읽어보세요