Skip to content

Productivity

Google Sheets, Notion, Airtable, and Stripe integrations.

10 modules

ModuleDescription
Leer Google SheetsLeer datos de hoja de calculo de Google Sheets
Escribir Google SheetsEscribir datos a hoja de calculo de Google Sheets
Notion crear paginaCrear una nueva pagina en base de datos de Notion
Notion consultar base de datosConsultar paginas de base de datos de Notion con filtros y ordenamiento
Stripe crear pagoCrear un intento de pago con Stripe
Stripe obtener clienteObtener informacion de cliente de Stripe
Stripe listar cargosListar cargos recientes de Stripe
Airtable crear registroCrear un nuevo registro en tabla de Airtable
Airtable leer registrosLeer registros de tabla de Airtable
Airtable actualizar registroActualizar un registro existente en tabla de Airtable

Modules

Leer Google Sheets

api.google_sheets.read

Leer datos de hoja de calculo de Google Sheets

Parameters:

NameTypeRequiredDefaultDescription
credentialsobjectNo-Credenciales JSON de cuenta de servicio de Google (por defecto env.GOOGLE_CREDENTIALS_JSON)
spreadsheet_idstringYes-ID de hoja de calculo de Google Sheets (de URL)
rangestringYes-Rango en notacion A1 para leer
include_headerbooleanNoTrueParsear primera fila como encabezados de columna

Output:

FieldTypeDescription
valuesarrayParsear primera fila como encabezados de columna
dataarrayArray de filas (cada fila es array de valores)
row_countnumberArray de filas (cada fila es array de valores)

Example: Read with headers

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

Escribir Google Sheets

api.google_sheets.write

Escribir datos a hoja de calculo de Google Sheets

Parameters:

NameTypeRequiredDefaultDescription
credentialsobjectNo-Credenciales JSON de cuenta de servicio de Google (por defecto env.GOOGLE_CREDENTIALS_JSON)
spreadsheet_idstringYes-ID de hoja de calculo de Google Sheets (de URL)
rangestringYes-ID de hoja de calculo de Google Sheets (de URL)
valuesarrayYes-Rango en notacion A1 para escribir
value_input_optionstringNoUSER_ENTEREDComo interpretar valores de entrada

Output:

FieldTypeDescription
updated_rangestringRango que fue actualizado
updated_rowsnumberRango que fue actualizado
updated_columnsnumberRango que fue actualizado
updated_cellsnumberNumero de filas actualizadas

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 crear pagina

api.notion.create_page

Crear una nueva pagina en base de datos de Notion

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Token de integracion de Notion (por defecto env.NOTION_API_KEY)
database_idstringYes-ID de base de datos de Notion (cadena hex de 32 caracteres)
propertiesobjectYes-Propiedades de pagina (titulo, texto, seleccion, etc.)
contentarrayNo-Propiedades de pagina (titulo, texto, seleccion, etc.)

Output:

FieldTypeDescription
page_idstringContenido de pagina como bloques de Notion
urlstringContenido de pagina como bloques de Notion
created_timestringID de pagina creada

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 consultar base de datos

api.notion.query_database

Consultar paginas de base de datos de Notion con filtros y ordenamiento

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Token de integracion de Notion (por defecto env.NOTION_API_KEY)
database_idstringYes-ID de base de datos de Notion
filterobjectNo-ID de base de datos de Notion
sortsarrayNo-Condiciones de filtro para consulta
page_sizenumberNo100Orden de clasificacion para resultados

Output:

FieldTypeDescription
resultsarrayNumero de resultados a devolver
countnumberArray de objetos de pagina
has_morebooleanArray de objetos de pagina

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 crear pago

payment.stripe.create_payment

Crear un intento de pago con Stripe

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Clave secreta de Stripe (o usar STRIPE_API_KEY env)
amountnumberYes-Clave secreta de Stripe (o usar STRIPE_API_KEY env)
currencystringNousdMonto en centavos (ej. 1000 para $10.00)
descriptionstringNo-Codigo de moneda de tres letras (ej. usd, eur)
customerstringNo-Descripcion del pago

Output:

FieldTypeDescription
idstringID de cliente de Stripe (opcional)
amountnumberID de cliente de Stripe (opcional)
currencystringIdentificador unico
statusstringMonto del pago
client_secretstringCodigo de moneda

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 obtener cliente

payment.stripe.get_customer

Obtener informacion de cliente de Stripe

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Clave secreta de Stripe (o usar STRIPE_API_KEY env)
customer_idstringYes-Clave secreta de Stripe (o usar 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 listar cargos

payment.stripe.list_charges

Listar cargos recientes de Stripe

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Clave secreta de Stripe (o usar STRIPE_API_KEY env)
limitnumberNo10Clave secreta de Stripe (o usar STRIPE_API_KEY env)
customerstringNo-Filtrar por ID de cliente (opcional)

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 crear registro

productivity.airtable.create

Crear un nuevo registro en tabla de Airtable

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Clave API de Airtable (o usar AIRTABLE_API_KEY env)
base_idstringYes-Clave API de Airtable (o usar AIRTABLE_API_KEY env)
table_namestringYes-ID de base de Airtable
fieldsjsonYes-Nombre de la tabla

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 leer registros

productivity.airtable.read

Leer registros de tabla de Airtable

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Clave API de Airtable (o usar AIRTABLE_API_KEY env)
base_idstringYes-Clave API de Airtable (o usar AIRTABLE_API_KEY env)
table_namestringYes-ID de base de Airtable
viewstringNo-Nombre de la tabla
max_recordsnumberNo100Nombre de vista a usar (opcional)

Output:

FieldTypeDescription
recordsarrayMaximo numero de registros a devolver
countnumberLos registros

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 actualizar registro

productivity.airtable.update

Actualizar un registro existente en tabla de Airtable

Parameters:

NameTypeRequiredDefaultDescription
api_keystringNo-Clave API de Airtable (o usar AIRTABLE_API_KEY env)
base_idstringYes-Clave API de Airtable (o usar AIRTABLE_API_KEY env)
table_namestringYes-ID de base de Airtable
record_idstringYes-Nombre de la tabla
fieldsjsonYes-ID del registro a actualizar

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.