Skip to content

Productivity

Google Sheets, Notion, Airtable, and Stripe integrations.

10 modules

ModuleDescription
Google Sheets 읽기Google Sheets 스프레드시트에서 데이터 읽기
Google Sheets 쓰기Google Sheets 스프레드시트에 데이터 쓰기
Notion 페이지 생성Notion 데이터베이스에 새 페이지 생성
Notion 데이터베이스 쿼리필터와 정렬로 Notion 데이터베이스에서 페이지 쿼리
Stripe 결제 생성Stripe로 결제 인텐트 생성
Stripe 고객 조회Stripe에서 고객 정보 조회
Stripe 결제 목록Stripe에서 최근 결제 목록 조회
Airtable 레코드 생성Airtable 테이블에 새 레코드 생성
Airtable 레코드 읽기Airtable 테이블에서 레코드 읽기
Airtable 레코드 업데이트Airtable 테이블의 기존 레코드 업데이트

Modules

Google Sheets 읽기

api.google_sheets.read

Google Sheets 스프레드시트에서 데이터 읽기

Parameters:

NameTypeRequiredDefaultDescription
credentialsobjectNo-Google 서비스 계정 JSON 자격 증명 (기본값: env.GOOGLE_CREDENTIALS_JSON)
spreadsheet_idstringYes-Google Sheets 스프레드시트 ID (URL에서)
rangestringYes-읽을 A1 표기법 범위
include_headerbooleanNoTrue첫 행을 열 헤더로 파싱

Output:

FieldTypeDescription
valuesarray첫 행을 열 헤더로 파싱
dataarray행 배열 (각 행은 값 배열)
row_countnumber행 배열 (각 행은 값 배열)

Example: Read with headers

yaml
spreadsheet_id: 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms
range: Sheet1!A1:D100
include_header: true

Google Sheets 쓰기

api.google_sheets.write

Google Sheets 스프레드시트에 데이터 쓰기

Parameters:

NameTypeRequiredDefaultDescription
credentialsobjectNo-Google 서비스 계정 JSON 자격 증명 (기본값: env.GOOGLE_CREDENTIALS_JSON)
spreadsheet_idstringYes-Google Sheets 스프레드시트 ID (URL에서)
rangestringYes-Google Sheets 스프레드시트 ID (URL에서)
valuesarrayYes-쓸 A1 표기법 범위
value_input_optionstringNoUSER_ENTERED입력 값 해석 방법

Output:

FieldTypeDescription
updated_rangestring업데이트된 범위
updated_rowsnumber업데이트된 범위
updated_columnsnumber업데이트된 범위
updated_cellsnumber업데이트된 행 수

Example: Write data with headers

yaml
spreadsheet_id: 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms
range: Sheet1!A1
values: [["Name", "Email", "Status"], ["John Doe", "john@example.com", "Active"], ["Jane Smith", "jane@example.com", "Active"]]

Notion 페이지 생성

api.notion.create_page

Notion 데이터베이스에 새 페이지 생성

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Notion 통합 토큰 (기본값: env.NOTION_API_KEY)
database_idstringYes-Notion 데이터베이스 ID (32자 16진수 문자열)
propertiesobjectYes-페이지 속성 (제목, 텍스트, 선택 등)
contentarrayNo-페이지 속성 (제목, 텍스트, 선택 등)

Output:

FieldTypeDescription
page_idstringNotion 블록으로서의 페이지 콘텐츠
urlstringNotion 블록으로서의 페이지 콘텐츠
created_timestring생성된 페이지 ID

Example: Create task page

yaml
database_id: your_database_id
properties: {"Name": {"title": [{"text": {"content": "New Task"}}]}, "Status": {"select": {"name": "In Progress"}}, "Priority": {"select": {"name": "High"}}}

Notion 데이터베이스 쿼리

api.notion.query_database

필터와 정렬로 Notion 데이터베이스에서 페이지 쿼리

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Notion 통합 토큰 (기본값: env.NOTION_API_KEY)
database_idstringYes-Notion 데이터베이스 ID
filterobjectNo-Notion 데이터베이스 ID
sortsarrayNo-쿼리 필터 조건
page_sizenumberNo100결과 정렬 순서

Output:

FieldTypeDescription
resultsarray반환할 결과 수
countnumber페이지 객체 배열
has_moreboolean페이지 객체 배열

Example: Query all pages

yaml
database_id: your_database_id

Example: Query with filter

yaml
database_id: your_database_id
filter: {"property": "Status", "select": {"equals": "In Progress"}}
sorts: [{"property": "Created", "direction": "descending"}]

Stripe 결제 생성

payment.stripe.create_payment

Stripe로 결제 인텐트 생성

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Stripe 시크릿 키 (또는 STRIPE_API_KEY env 사용)
amountnumberYes-Stripe 시크릿 키 (또는 STRIPE_API_KEY env 사용)
currencystringNousd센트 단위 금액 (예: 1000 = $10.00)
descriptionstringNo-3자리 통화 코드 (예: usd, eur)
customerstringNo-결제 설명

Output:

FieldTypeDescription
idstringStripe 고객 ID (선택사항)
amountnumberStripe 고객 ID (선택사항)
currencystring고유 식별자
statusstring결제 금액
client_secretstring통화 코드

Example: Create $50 payment

yaml
amount: 5000
currency: usd
description: Product purchase

Example: Create payment for customer

yaml
amount: 2999
currency: usd
customer: cus_XXXXXXXXXXXXXXX
description: Subscription payment

Stripe 고객 조회

payment.stripe.get_customer

Stripe에서 고객 정보 조회

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Stripe 시크릿 키 (또는 STRIPE_API_KEY env 사용)
customer_idstringYes-Stripe 시크릿 키 (또는 STRIPE_API_KEY env 사용)

Output:

FieldTypeDescription
idstringUnique identifier
emailstringEmail address
namestringName of the item
creatednumberCreation timestamp
balancenumberAccount balance

Example: Get customer info

yaml
customer_id: cus_XXXXXXXXXXXXXXX

Stripe 결제 목록

payment.stripe.list_charges

Stripe에서 최근 결제 목록 조회

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Stripe 시크릿 키 (또는 STRIPE_API_KEY env 사용)
limitnumberNo10Stripe 시크릿 키 (또는 STRIPE_API_KEY env 사용)
customerstringNo-고객 ID로 필터링 (선택사항)

Output:

FieldTypeDescription
chargesarrayThe charges
countnumberNumber of items
has_morebooleanThe has more

Example: List recent charges

yaml
limit: 20

Example: List customer charges

yaml
customer: cus_XXXXXXXXXXXXXXX
limit: 50

Airtable 레코드 생성

productivity.airtable.create

Airtable 테이블에 새 레코드 생성

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Airtable API 키 (또는 AIRTABLE_API_KEY env 사용)
base_idstringYes-Airtable API 키 (또는 AIRTABLE_API_KEY env 사용)
table_namestringYes-Airtable 베이스 ID
fieldsjsonYes-테이블 이름

Output:

FieldTypeDescription
idstringUnique identifier
createdTimestringRecord creation timestamp
fieldsjsonThe fields

Example: Create customer record

yaml
base_id: appXXXXXXXXXXXXXX
table_name: Customers
fields: {"Name": "John Doe", "Email": "john@example.com", "Status": "Active"}

Example: Create task

yaml
base_id: appXXXXXXXXXXXXXX
table_name: Tasks
fields: {"Title": "Review PR", "Assignee": "Alice", "Priority": "High"}

Airtable 레코드 읽기

productivity.airtable.read

Airtable 테이블에서 레코드 읽기

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Airtable API 키 (또는 AIRTABLE_API_KEY env 사용)
base_idstringYes-Airtable API 키 (또는 AIRTABLE_API_KEY env 사용)
table_namestringYes-Airtable 베이스 ID
viewstringNo-테이블 이름
max_recordsnumberNo100사용할 뷰 이름 (선택사항)

Output:

FieldTypeDescription
recordsarray반환할 최대 레코드 수
countnumber레코드

Example: Read all customers

yaml
base_id: appXXXXXXXXXXXXXX
table_name: Customers
max_records: 100

Example: Read from specific view

yaml
base_id: appXXXXXXXXXXXXXX
table_name: Tasks
view: Active Tasks
max_records: 50

Airtable 레코드 업데이트

productivity.airtable.update

Airtable 테이블의 기존 레코드 업데이트

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Airtable API 키 (또는 AIRTABLE_API_KEY env 사용)
base_idstringYes-Airtable API 키 (또는 AIRTABLE_API_KEY env 사용)
table_namestringYes-Airtable 베이스 ID
record_idstringYes-테이블 이름
fieldsjsonYes-업데이트할 레코드 ID

Output:

FieldTypeDescription
idstringUnique identifier
fieldsjsonThe fields

Example: Update customer status

yaml
base_id: appXXXXXXXXXXXXXX
table_name: Customers
record_id: recXXXXXXXXXXXXXX
fields: {"Status": "Inactive"}

Example: Update task

yaml
base_id: appXXXXXXXXXXXXXX
table_name: Tasks
record_id: recYYYYYYYYYYYYYY
fields: {"Status": "Completed", "Completed Date": "2024-01-15"}

Released under the Apache 2.0 License.