// local
Slack·Notion·Gmail 리포팅
팀이 매일 보는 채널이 곧 대시보드일 때 씁니다. 수집 결과를 Slack·Notion·Gmail 로 그대로 보냅니다.
// 상황
이런 상황이라면
리포트를 손으로 만든다
매일·매주 같은 숫자를 정리해 채널에 올리는 일이 반복됩니다.
보는 곳이 따로 있다
팀은 Slack·Notion 을 보는데 데이터는 다른 데 있습니다.
올리는 걸 잊는다
바쁘면 리포팅이 밀립니다.
// 흐름
어떻게 동작하나
- 01
데이터 수집
필요한 금융 데이터를 받습니다.
- 02
요약 구성
팀이 볼 형태로 요약을 만듭니다.
- 03
채널로 전달
Slack·Notion·Gmail 로 자동으로 보냅니다.
// 결과물
손에 남는 것
- 수집 결과를 팀 채널로 자동 전달
- 매일·매주 정해진 리포트
- 사람이 올리는 걸 잊을 일 없음
- 팀이 보는 곳에 바로 도착
// 실행 가이드
그대로 따라 하면 됩니다
사전 점검부터 검증까지 이 페이지에서 끝납니다. 실행 방식이 여럿이면 하나만 고르면 됩니다.
01사전 점검
아래 명령을 붙여 넣어 현재 환경이 준비됐는지 확인합니다.
repo secret H6S_API_KEY 가 등록돼 있다
gh secret list목록에 H6S_API_KEY 가 보인다
대안으로
gh secret set H6S_API_KEY # 또는 repo Settings → Secrets워크스페이스에 대상 자격증명이 있다
h6s credentials list그 기관에 매칭되는 자격증명이 1건 이상 보인다
대안으로
h6s credentials create --interactive --certSlack 봇 토큰·채널이 준비돼 있다
repo Settings → Secrets(SLACK_BOT_TOKEN) · Variables(SLACK_CHANNEL_ID)secret SLACK_BOT_TOKEN + variable SLACK_CHANNEL_ID 등록됨
대안으로
Slack 앱에서 봇 토큰 발급 후 secret/variable 등록 (chat:write 권한).
02실행
아래 파일을 .github/workflows/ 에 저장하고 기본 브랜치에 commit. 첫 검증은 Actions 탭 → Run workflow 로 수동 트리거.
# 입출금내역 수집 후 한 줄 요약이 Slack 채널로 전송됩니다.
# Discord 등 다른 채널도 outputs.summary / outputs.count 를 사용하면 동일하게 동작합니다.
name: 수집 후 Slack 알림
on:
schedule:
- cron: '0 0 * * 1' # 매주 월요일
workflow_dispatch: {}
jobs:
fetch-and-notify:
runs-on: ubuntu-latest
steps:
- id: fetch
uses: bolta-io/h6s-action@v0
with:
api-key: ${{ secrets.H6S_API_KEY }}
schema: bank.transactions.cb.v1
provider: CB_IBK
from: ${{ vars.FETCH_FROM }}
to: ${{ vars.FETCH_TO }}
- name: Slack 알림 (성공)
if: success()
uses: slackapi/slack-github-action@v1
with:
channel-id: ${{ vars.SLACK_CHANNEL_ID }}
slack-message: |
✅ headless 수집 완료
${{ steps.fetch.outputs.summary }}
Job: `${{ steps.fetch.outputs.job-id }}`
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
- name: Slack 알림 (실패)
if: failure()
uses: slackapi/slack-github-action@v1
with:
channel-id: ${{ vars.SLACK_CHANNEL_ID }}
slack-message: |
❌ headless 수집 실패 workflow run ${{ github.run_id }}
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}이 Slack step 2개를 기존 PR 워크플로우 마지막에 붙이면 PR + 알림을 함께 처리합니다.
03검증
- Actions 가 초록이면 성공 메시지, 빨강이면 실패 메시지가 채널에 도착한다.
- 성공 메시지에 fetch summary(건수·기간)와 Job ID 가 들어간다.
04흔한 에러
fetch step 에서 NO_API_KEY 로 실패secret 이름이 yml 의 secrets.H6S_API_KEY 와 다르다.
해결 secret 을 정확히 H6S_API_KEY 로 등록.
CREDENTIAL_INSUFFICIENT_FOR_PROVIDER그 provider 에 매칭되는 자격증명이 워크스페이스에 없습니다.
해결 h6s credentials create --interactive --cert (공동인증서 1개로 전 기관 공용).
cron 시간이 지나도 안 돈다yml 이 기본 브랜치에 없거나, repo 가 60일 비활성이라 scheduled workflow 가 멈췄다.
해결 기본 브랜치에 머지하고, 가끔 수동 트리거해 활성 유지.
Actions 는 초록인데 Slack에 아무것도 안 옴SLACK_BOT_TOKEN 미등록 또는 봇이 채널에 미초대.
해결 secret 등록 + 대상 채널에 봇 invite, SLACK_CHANNEL_ID 확인.
05변형
같은 사례에서 자주 바꾸는 옵션. 다른 사례는 아래 이전/다음에서.
고정 기간 대신 전주 자동 계산
- id: prev-week
run: |
echo "from=$(date -u -d '7 days ago' +%Y-%m-%d)" >> "$GITHUB_OUTPUT"
echo "to=$(date -u -d 'yesterday' +%Y-%m-%d)" >> "$GITHUB_OUTPUT"
# 이후 from/to 를 ${{ steps.prev-week.outputs.* }} 로 교체// 더 보기
관련 시나리오
어제 입출금 요약 · 4개 은행 27건 입금 +5,420,000 / 출금 -2,140,000 분개 후보 22건 (확정 18 · 검토 4)
일일 거래 요약 + 분개 후보 제안
전일 다은행 입출금을 룰북 + AI 로 분개 후보까지 붙여 팀 재무 슬랙에 매일 아침 한 줄.
법인카드 승인내역 2026-W18 · 신한카드 41건
- data/card/card.approvals.corp.v1-2026-W18.csv
법인카드 주간 승인내역 지출 모니터링
매주 월요일 09:00 KST 지난 7일치 법인카드 승인내역이 PR 로 생성됩니다. 가맹점·금액·할부·승인상태 컬럼은 그대로 유지되고, 매입 확정 전 단계까지 포함합니다.
// faq
자주 묻는 질문
어떤 채널로 보낼 수 있나요?
Slack, Notion, Gmail 등 팀이 쓰는 채널로 결과를 보내도록 연결할 수 있습니다.
요약 형식을 바꿀 수 있나요?
받은 데이터로 원하는 요약을 구성합니다. 표와 항목은 자유롭게 정합니다.
정해진 시간에 보내나요?
스케줄로 매일·매주 같은 시간에 자동 전달할 수 있습니다.
// related
함께 보면 좋은 흐름
같은 데이터를 제품 연동, 내부 시스템, 자동화 작업 중 어디에 둘지에 따라 구현 방식이 달라집니다.
API 연동 — 자체 ERP·어드민
CLI·AI 연동 — 재무 업무 자동화