> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 구독 추적하기

> 이메일에서 반복 결제를 찾아 매달 드는 비용을 계산합니다.

export const Connectors = ({items}) => <div style={{
  margin: "8px 0 20px"
}}>
    <style>{`
      .connectors-list, .connectors-list * { margin-top: 0 !important; margin-bottom: 0 !important; }
      .connectors-row {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 4px 0 !important;
        min-height: 0 !important;
        height: auto !important;
      }
      .connectors-row img {
        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        margin: 2px 0 0 !important;
        display: block !important;
      }
    `}</style>
    <div className="connectors-list">
      {items.map((item, i) => <div key={item.id} className="connectors-row" style={{
  borderTop: i === 0 ? "none" : "1px solid rgba(130,130,130,0.22)"
}}>
          <img src={`/images/connectors/${item.id}.svg`} alt="" width={20} height={20} />
          <div style={{
  minWidth: 0
}}>
            <div>
              <strong>{item.name}</strong>
              {item.why ? <span style={{
  opacity: 0.72
}}> · {item.why}</span> : null}
            </div>
            {item.auth === "api-key" ? <div style={{
  fontSize: "11.5px",
  lineHeight: 1.35,
  color: "#F26207",
  marginTop: "2px"
}}>
                Not a native connector. Agent will ask for your API key.
              </div> : null}
          </div>
        </div>)}
    </div>
  </div>;

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block max-w-full overflow-x-hidden font-sans !whitespace-pre-wrap !break-words" style={{
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
      <div className="pr-7" style={{
    whiteSpace: "pre-wrap",
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
        {children}
      </div>
    </CodeBlock>;
};

Gmail에서 구독 및 영수증 이메일을 스캔하고, 반복 결제를 식별하고, Google Sheets에서
월별 비용을 계산합니다. Agent가 업체명, 금액, 결제 주기를 추출하고, 갱신되기 전에
잊고 있던 체험판처럼 보이는 항목을 플래그로 표시합니다.

## 다음과 같은 경우에 적합합니다

* 도구와 서비스에 드는 실제 월별 지출을 알아야 하는 창업자 및 운영 리드.
* 갱신되기 전에 잊고 있던 체험판을 잡아내야 하는 재무 및 오피스 매니저.

## 커넥터

<Connectors
  items={[
{ id: "gmail", name: "Gmail", why: "영수증 및 갱신 이메일" },
{
  id: "google-sheets",
  name: "Google Sheets",
  why: "구독 및 월별 비용의 진행 목록",
},
]}
/>

## 시작하기 전에

Gmail과 Google Sheet를 연결하세요(또는 Agent에게 하나 만들어 달라고 요청하세요).
어떤 받은편지함이나 라벨을 검색해야 하는지 Agent에게 알려주세요.

## Agent에게 요청하기

<AiPrompt>
  매주 월요일 9시에 실행되는 루틴을 만들어 주세요. Gmail에서 구독 및 영수증
  이메일을 스캔하세요. 반복 결제를 식별하고, 업체명, 금액, 결제 주기를
  추출하고, 월별 비용을 계산하는 Google Sheet를 작성하세요. 잊고 있던
  체험판처럼 보이는 항목은 플래그로 표시해 주세요.
</AiPrompt>

## 예상 결과

Agent가 업체명, 금액, 결제 주기, 월별 합계로 구성된 표를 만듭니다. 원본
이메일과 몇 개의 행을 대조 확인하세요. 제목에 "subscription"이라고 적혀
있지 않은 업체는 첫 실행에서 누락될 수 있으니, 해당 라벨을 추가하고 다시
실행하세요. 알고 있는 업체 세 곳을 선택해 Gmail 영수증을 열고, 월별 합계를
신뢰하기 전에 금액과 결제 주기를 확인하세요.

## 나에게 맞게 조정하기

<AiPrompt>
  구독을 카테고리별로(개발 도구, 디자인, AI, 개인용) 그룹화하고 월 \[금액]을
  초과하는 항목을 강조해 주세요.
</AiPrompt>

<AiPrompt>
  연간 갱신이 \[금액]을 초과하는 경우 갱신 3일 전에 Slack 알림을 보내주세요.
</AiPrompt>

## 문제 해결

* **알고 있는 구독이 시트에서 빠져 있음:** 사용할 Gmail 라벨이나 검색어를 Agent에게 알려주고, 제목에 "subscription"이라고 적혀 있지 않은 업체도 포함하세요. 원본 이메일과 몇 개의 행을 대조 확인하세요.
* **금액이나 결제 주기가 잘못되어 보임:** 영수증에는 세금, 크레딧, 또는 다른 통화가 표시되는 경우가 많습니다. 이메일의 항목별 금액과 결제 주기를 유지하고, 추론한 행은 플래그로 표시하도록 Agent에게 요청하세요.
* **같은 업체가 두 번 나타남:** 업체명으로 병합하고 가장 최근 영수증을 유지한 다음 월별 합계를 다시 계산하도록 Agent에게 요청하세요.

## 관련 문서

<CardGroup cols={2}>
  <Card title="자리를 비운 동안 놓친 내용 따라잡기" href="/ko/use-cases/catch-up-while-away">
    휴가 후 창업자와 운영 리드를 위해 동일한 Gmail 커넥터를 사용합니다.
  </Card>

  <Card title="실시간 API 대시보드 만들기" href="/ko/use-cases/live-api-dashboard">
    주간 표 대신 실시간 대시보드를 제공합니다.
  </Card>
</CardGroup>
