Skip to main content
Glama

mcp-google-sheets

find-item.ts2.51 kB
import { notionAuth } from '../../'; import { createAction } from '@activepieces/pieces-framework'; import { notionCommon } from '../common'; import { Client } from '@notionhq/client'; export const findDatabaseItem = createAction({ auth: notionAuth, name: 'notion-find-database-item', displayName: 'Find Database Item', description: 'Searches for an item in database by field.', props: { database_id: notionCommon.database_id, filterDatabaseFields: notionCommon.filterDatabaseFields, }, async run(context) { const databaseId = context.propsValue.database_id; const filterFields = context.propsValue.filterDatabaseFields; const notion = new Client({ auth: context.auth.access_token, notionVersion: '2022-02-22', }); const { properties } = await notion.databases.retrieve({ database_id: databaseId as string, }); const filterArray = []; for (const fieldKey in filterFields) { const fieldValue = filterFields[fieldKey]; const fieldType = properties[fieldKey].type; if (fieldValue === '' || fieldValue === undefined) { continue; } switch (fieldType) { case 'number': filterArray.push({ property: fieldKey, number: { equals: Number(fieldValue) }, }); break; case 'rich_text': filterArray.push({ property: fieldKey, rich_text: { equals: fieldValue }, }); break; case 'email': filterArray.push({ property: fieldKey, email: { equals: fieldValue }, }); break; case 'select': filterArray.push({ property: fieldKey, select: { equals: fieldValue }, }); break; case 'phone_number': filterArray.push({ property: fieldKey, phone_number: { equals: fieldValue }, }); break; case 'url': filterArray.push({ property: fieldKey, url: { equals: fieldValue } }); break; case 'title': filterArray.push({ property: fieldKey, title: { equals: fieldValue }, }); break; } } const { results } = await notion.databases.query({ database_id: databaseId as string, filter: { and: filterArray, }, }); return { success: results.length > 0, results, }; }, });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server