Skip to main content
Glama

mcp-google-sheets

index.ts5.31 kB
import { HttpMethod, createCustomApiCallAction, } from '@activepieces/pieces-common'; import { PieceAuth, Property, createPiece, } from '@activepieces/pieces-framework'; import { PieceCategory } from '@activepieces/shared'; import { adjustInventoryLevelAction } from './lib/actions/adjust-inventory-level'; import { cancelOrderAction } from './lib/actions/cancel-order'; import { closeOrderAction } from './lib/actions/close-order'; import { createCollectAction } from './lib/actions/create-collect'; import { createCustomerAction } from './lib/actions/create-customer'; import { createDraftOrderAction } from './lib/actions/create-draft-order'; import { createFulfillmentEventAction } from './lib/actions/create-fulfillment-event'; import { createOrderAction } from './lib/actions/create-order'; import { createProductAction } from './lib/actions/create-product'; import { createTransactionAction } from './lib/actions/create-transaction'; import { getAssetAction } from './lib/actions/get-asset'; import { getCustomerAction } from './lib/actions/get-customer'; import { getCustomersAction } from './lib/actions/get-customers'; import { getCustomerOrdersAction } from './lib/actions/get-customer-orders'; import { getFulfillmentAction } from './lib/actions/get-fulfillment'; import { getFulfillmentsAction } from './lib/actions/get-fulfillments'; import { getLocationsAction } from './lib/actions/get-locations'; import { getProductAction } from './lib/actions/get-product'; import { getProductVariantAction } from './lib/actions/get-product-variant'; import { getProductsAction } from './lib/actions/get-products'; import { getTransactionAction } from './lib/actions/get-transaction'; import { getTransactionsAction } from './lib/actions/get-transactions'; import { updateCustomerAction } from './lib/actions/update-customer'; import { updateOrderAction } from './lib/actions/update-order'; import { updateProductAction } from './lib/actions/update-product'; import { uploadProductImageAction } from './lib/actions/upload-product-image'; import { getBaseUrl, sendShopifyRequest } from './lib/common'; import { newAbandonedCheckout } from './lib/triggers/new-abandoned-checkout'; import { newCancelledOrder } from './lib/triggers/new-cancelled-order'; import { newCustomer } from './lib/triggers/new-customer'; import { newOrder } from './lib/triggers/new-order'; import { newPaidOrder } from './lib/triggers/new-paid-order'; import { updatedProduct } from './lib/triggers/updated-product'; const markdown = ` **Shop Name**: You can find your shop name in the url For example, if the URL is \`https://example.myshopify.com/admin\`, then your shop name is **example**. **Admin Token**: 1. Login to your Shopify account 2. Go to Settings -> Apps 3. Click on Develop apps 4. Create an App 5. Fill the app name 6. Click on Configure Admin API Scopes (Select the following scopes 'read_orders', 'write_orders', 'write_customers', 'read_customers', 'write_products', 'read_products', 'write_draft_orders', 'read_draft_orders') 7. Click on Install app 8. Copy the Admin Access Token `; export const shopifyAuth = PieceAuth.CustomAuth({ description: markdown, required: true, props: { shopName: Property.ShortText({ displayName: 'Shop Name', required: true, }), adminToken: PieceAuth.SecretText({ displayName: 'Admin Token', required: true, }), }, validate: async ({ auth }) => { try { await sendShopifyRequest({ auth, method: HttpMethod.GET, url: '/shop.json', }); return { valid: true, }; } catch (e) { return { valid: false, error: 'Invalid Shop Name or Admin Token', }; } }, }); export const shopify = createPiece({ displayName: 'Shopify', description: 'Ecommerce platform for online stores', logoUrl: 'https://cdn.activepieces.com/pieces/shopify.png', authors: ["kishanprmr","MoShizzle","AbdulTheActivePiecer","khaledmashaly","abuaboud","ikus060"], categories: [PieceCategory.COMMERCE], minimumSupportedRelease: '0.30.0', auth: shopifyAuth, actions: [ adjustInventoryLevelAction, cancelOrderAction, closeOrderAction, createCollectAction, createCustomerAction, createDraftOrderAction, createFulfillmentEventAction, createOrderAction, createProductAction, createTransactionAction, getAssetAction, getCustomerAction, getCustomersAction, getCustomerOrdersAction, getFulfillmentAction, getFulfillmentsAction, getLocationsAction, getProductAction, getProductVariantAction, getProductsAction, getTransactionAction, getTransactionsAction, updateCustomerAction, updateOrderAction, updateProductAction, uploadProductImageAction, createCustomApiCallAction({ baseUrl: (auth) => { return getBaseUrl((auth as { shopName: string }).shopName); }, auth: shopifyAuth, authMapping: async (auth) => { const typedAuth = auth as { adminToken: string }; return { 'X-Shopify-Access-Token': typedAuth.adminToken, }; }, }), ], triggers: [ newAbandonedCheckout, newCancelledOrder, newCustomer, newOrder, updatedProduct, newPaidOrder, ], });

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