Skip to content

Productivity

Google Sheets, Notion, Airtable, and Stripe integrations.

10 modules

ModuleDescription
Baca Google SheetsBaca data dari spreadsheet Google Sheets
Tulis Google SheetsTulis data ke spreadsheet Google Sheets
Buat Halaman NotionBuat halaman baru di database Notion
Query Database NotionQuery halaman dari database Notion dengan filter dan pengurutan
Stripe Buat PembayaranBuat payment intent dengan Stripe
Stripe Ambil PelangganAmbil informasi pelanggan dari Stripe
Stripe Daftar TagihanDaftar tagihan terbaru dari Stripe
Airtable Buat RekamanBuat rekaman baru di tabel Airtable
Airtable Baca RekamanBaca rekaman dari tabel Airtable
Airtable Perbarui RekamanPerbarui rekaman yang ada di tabel Airtable

Modules

Baca Google Sheets

api.google_sheets.read

Baca data dari spreadsheet Google Sheets

Parameters:

NameTypeRequiredDefaultDescription
credentialsobjectNo-Kredensial JSON service account Google (default ke env.GOOGLE_CREDENTIALS_JSON)
spreadsheet_idstringYes-ID spreadsheet Google Sheets (dari URL)
rangestringYes-Rentang notasi A1 untuk dibaca
include_headerbooleanNoTrueParse baris pertama sebagai header kolom

Output:

FieldTypeDescription
valuesarrayParse baris pertama sebagai header kolom
dataarrayArray baris (setiap baris adalah array nilai)
row_countnumberArray baris (setiap baris adalah array nilai)

Example: Read with headers

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

Tulis Google Sheets

api.google_sheets.write

Tulis data ke spreadsheet Google Sheets

Parameters:

NameTypeRequiredDefaultDescription
credentialsobjectNo-Kredensial JSON service account Google (default ke env.GOOGLE_CREDENTIALS_JSON)
spreadsheet_idstringYes-ID spreadsheet Google Sheets (dari URL)
rangestringYes-ID spreadsheet Google Sheets (dari URL)
valuesarrayYes-Rentang notasi A1 untuk ditulis
value_input_optionstringNoUSER_ENTEREDCara menginterpretasikan nilai input

Output:

FieldTypeDescription
updated_rangestringRentang yang diperbarui
updated_rowsnumberRentang yang diperbarui
updated_columnsnumberRentang yang diperbarui
updated_cellsnumberJumlah baris yang diperbarui

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"]]

Buat Halaman Notion

api.notion.create_page

Buat halaman baru di database Notion

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Token integrasi Notion (default ke env.NOTION_API_KEY)
database_idstringYes-ID database Notion (string hex 32 karakter)
propertiesobjectYes-Properti halaman (title, text, select, dll.)
contentarrayNo-Properti halaman (title, text, select, dll.)

Output:

FieldTypeDescription
page_idstringKonten halaman sebagai blok Notion
urlstringKonten halaman sebagai blok Notion
created_timestringID halaman yang dibuat

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"}}}

Query Database Notion

api.notion.query_database

Query halaman dari database Notion dengan filter dan pengurutan

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Token integrasi Notion (default ke env.NOTION_API_KEY)
database_idstringYes-ID database Notion
filterobjectNo-ID database Notion
sortsarrayNo-Kondisi filter untuk query
page_sizenumberNo100Urutan pengurutan untuk hasil

Output:

FieldTypeDescription
resultsarrayJumlah hasil yang dikembalikan
countnumberArray objek halaman
has_morebooleanArray objek halaman

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 Buat Pembayaran

payment.stripe.create_payment

Buat payment intent dengan Stripe

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Kunci rahasia Stripe (atau gunakan env STRIPE_API_KEY)
amountnumberYes-Kunci rahasia Stripe (atau gunakan env STRIPE_API_KEY)
currencystringNousdJumlah dalam sen (mis. 1000 untuk $10.00)
descriptionstringNo-Kode mata uang tiga huruf (mis. usd, eur)
customerstringNo-Deskripsi pembayaran

Output:

FieldTypeDescription
idstringID pelanggan Stripe (opsional)
amountnumberID pelanggan Stripe (opsional)
currencystringIdentifier unik
statusstringJumlah pembayaran
client_secretstringKode mata uang

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 Ambil Pelanggan

payment.stripe.get_customer

Ambil informasi pelanggan dari Stripe

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Kunci rahasia Stripe (atau gunakan env STRIPE_API_KEY)
customer_idstringYes-Kunci rahasia Stripe (atau gunakan env STRIPE_API_KEY)

Output:

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

Example: Get customer info

yaml
customer_id: cus_XXXXXXXXXXXXXXX

Stripe Daftar Tagihan

payment.stripe.list_charges

Daftar tagihan terbaru dari Stripe

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Kunci rahasia Stripe (atau gunakan env STRIPE_API_KEY)
limitnumberNo10Kunci rahasia Stripe (atau gunakan env STRIPE_API_KEY)
customerstringNo-Filter berdasarkan ID pelanggan (opsional)

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 Buat Rekaman

productivity.airtable.create

Buat rekaman baru di tabel Airtable

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-API key Airtable (atau gunakan env AIRTABLE_API_KEY)
base_idstringYes-API key Airtable (atau gunakan env AIRTABLE_API_KEY)
table_namestringYes-ID base Airtable
fieldsjsonYes-Nama tabel

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 Baca Rekaman

productivity.airtable.read

Baca rekaman dari tabel Airtable

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-API key Airtable (atau gunakan env AIRTABLE_API_KEY)
base_idstringYes-API key Airtable (atau gunakan env AIRTABLE_API_KEY)
table_namestringYes-ID base Airtable
viewstringNo-Nama tabel
max_recordsnumberNo100Nama view yang digunakan (opsional)

Output:

FieldTypeDescription
recordsarrayJumlah maksimum rekaman untuk dikembalikan
countnumberRekaman

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 Perbarui Rekaman

productivity.airtable.update

Perbarui rekaman yang ada di tabel Airtable

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-API key Airtable (atau gunakan env AIRTABLE_API_KEY)
base_idstringYes-API key Airtable (atau gunakan env AIRTABLE_API_KEY)
table_namestringYes-ID base Airtable
record_idstringYes-Nama tabel
fieldsjsonYes-ID rekaman yang akan diperbarui

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.