Gadget Developers

GD

Gadget Developers

Build SAAS apps alongside thousands of other Gadget developers. Get help, and offer help to others in the community.

Join

Your webhook has been removed

Hi, I got an email from Shopify saying the below and suddenly our webhooks delivery failure rate shot up drastically: Your webhook for orders/updated at https://buymore.gadget.app/api/webhooks/shopify has been removed on 2025-07-08 12:05:29 UTC because it's failing to return a successful response....
No description

How to type the server-side Gadget Context object in React Router 7 loader function?

Example loader function: ```tsx // Server-side loader function export const loader = async ({ params, context }: LoaderFunctionArgs) => {...

can anyone tell me how can we display the image that is uploaded on gadget database on the frontend;

here's the image tag: <img class="projects-page__card-image-img" alt="FX project" data-image-url="https%3A%2F%2Fstorage.gadget.dev%2Ffiles%2F236236%2F475731%2Fproject%2Fimage%2FVr42pOVOAJnHg9tU1UR7H%2Fflooringxtra-logo.svg%3FX-Goog-Algorithm%3DGOOG4-RSA-SHA256%26X-Goog-Credential%3Dcore-api%2540gadget-core-production.iam.gserviceaccount.com%252F20250707%252Fauto%252Fstorage%252Fgoog4_request%26X-Goog-Date%3D20250707T141702Z%26X-Goog-Expires%3D10801%26X-Goog-SignedHeaders%3Dhost%26X-Goog-Signature%3D28ec5ff4bcc116d60c408f4e60ca0694796717f500e7fc5c1a275abd92a216ed5f834f11cba978fb4b6674526bfe3c2eb14b2cac45fa4de3359be2f354bbabe15aa64cbe97a86778eb6e25dfb3323ac4a5e0e5af4f126f4d41fe13d97a520c127123d6e6e3cb46762a74658e4be140e103e38ddcc4213aecca2b295908ad2ad67f88b8eacfdfae583dc68d08bc9b6e108272302372ecaa78ca9b7add34e17cb0a6bde27e6168faeba13c6d432b86f785bb29f50ff0cffcfc577797a768a31a35f35c80dfbef3f1ab953faad38a1162b11eaba56d869ec5f8f0b87d2a901dc822decebc65a9832c45321e82aaeb87480806280528bce6c06215a3edc5842fe447" crossorigin="anonymous" referrerpolicy="no-referrer" src="https://storage.gadget.dev/files/236236/475731/project/image/Vr42pOVOAJnHg9tU1UR7H/flooringxtra-logo.svg?X-Goog-Algorithm=GOOG4-RSA-SHA256&amp;X-Goog-Credential=core-api%40gadget-core-production.iam.gserviceaccount.com%2F20250707%2Fauto%2Fstorage%2Fgoog4_request&amp;X-Goog-Date=20250707T141702Z&amp;X-Goog-Expires=10801&amp;X-Goog-SignedHeaders=host&amp;X-Goog-Signature=28ec5ff4bcc116d60c408f4e60ca0694796717f500e7fc5c1a275abd92a216ed5f834f11cba978fb4b6674526bfe3c2eb14b2cac45fa4de3359be2f354bbabe15aa64cbe97a86778eb6e25dfb3323ac4a5e0e5af4f126f4d41fe13d97a520c127123d6e6e3cb46762a74658e4be140e103e38ddcc4213aecca2b295908ad2ad67f88b8eacfdfae583dc68d08bc9b6e108272302372ecaa78ca9b7add34e17cb0a6bde27e6168faeba13c6d432b86f785bb29f50ff0cffcfc577797a768a31a35f35c80dfbef3f1ab953faad38a1162b11eaba56d869ec5f8f0b87d2a901dc822decebc65a9832c45321e82aaeb87480806280528bce6c06215a3edc5842fe447">...
No description

Gadget API in Purchase Options Extension Permissions Issue

I've created a purchase options extension for my app following this guide: https://shopify.dev/docs/apps/build/purchase-options/purchase-options-extensions/start-building And I setup to use Gadget API for it by using this guide: https://docs.gadget.dev/api/example-app/development/external-api-calls/installing#creating-the-client-for-react-apps In development it works fine, I can access my resources. However, when I deployed extension in Prod when trying to get my resources I get error: Error fetching preorderCampaign: CombinedError: [GraphQL] GGT_PERMISSION_DENIED: The unauthenticated role cannot read preorderCampaign records....
No description

I am using the gadget client in cloudflare and it is working fine in development but giving an error

I keep getting the following error even though I copied and pasted the production development keys multiple times carefully and also made sure it has the correct access scopes: Failed to get shop details: [GraphQL] GGT_INVALID_API_KEY: Invalid API key. Please ensure you're passing an API Key directly copied from the Gadget Editor, which is a string starting with gsk-....

search related records on autotable

Is it possible to search autoable based on related records? For example searching orders by customer name -> orders by order.customer.name...

New app guidance

I'm building a Shopify app for dropshipping that syncs products and inventory between two types of stores: a supplier store and one or more purchaser stores. Product Sync: This will be a one-way sync from the supplier to the purchaser (i.e., products and details are copied from the supplier to the purchaser). Inventory Sync: This needs to be a two-way sync — whenever inventory is updated on either the supplier or purchaser side, a webhook is triggered to update the other side accordingly. The Problem: If a supplier store is connected to many purchaser stores (e.g., 100), a single sale on one purchaser store could trigger a cascade of webhook updates:...

LCP score using Remix SSR

I have a Shopify app that I migrated from React to Remix SSR about a month ago. My main goal was to get the BFS badge, since with React it was really hard to keep LCP under 2.5 seconds. App has around 900 installs, so I thought I wouldn’t need the cold start add-on to improve LCP scores. But I noticed the LCP didn’t get better - in fact, it seems slightly worse. Does this mean 900 installs isn’t enough to avoid the cold boot problem? Or should I just wait longer to see improvement? ...

Random webhook failure from a store

A store just got its webhook automatically removed by Shopify cause they were failing alot of their products/update webhook. Is there something I need to do on my end to fix this. I am currently on Version 2024-10

b2b company filling in orders and drafts

I'm noticing that b2b data isn't showing up on drafts and orders in the data models right away, looks lik eit might only be filled in by the nightly sync. Anybody else see that?

Unable to deploy

Hi team, I'm trying to deploy my app but the process is crashing during the "building frontend assets" phase. I don't see any errors in the logs, just "retrying: uploading production frontend assets to CDN" (trace id: e3d7b530486f3b69ccc81ace3b938c41)...
No description

Managing Store-Specific Cron Jobs for Abandoned Cart Recovery

I need to create cron jobs that run a script to recover abandoned carts for multiple stores. Each store has a specific time when the script should run (e.g., Store A at 12 am, Store B at 2 am, etc.). How can I efficiently manage these store-specific cron jobs to ensure the script runs at the designated time for each store?

Do proxy HTTP routes only work in production?

Building Shopify app proxy endpoints for secure data transfer. Frontend (theme extension) needs JSON data but receives HTML in all scenarios.

Differences in shopifyProduct.Update action results from webhook trigger vs Shop Sync

Struggling to understand how Shop Sync works vs a regular web hook trigger. I've added some extra fields to ShopifyProduct and added logic to the create and update actions to fill them out. Now if i create/update a product within Shopify, to trigger the web hook, these fields are filled out perfectly....
No description

GGT_PERMISSION_DENIED: Permission denied to access this resource.

What most likely the issue? Is it in the shopify admin side?
No description

Fastify rewrite URL

I am building a public API for our system using routes, and I want to set up a URL rewrite that rewrites the URL /docs to the latest version which is sitting in a folder called v1. So for example, if someone goes to the URL https://api.authentified.co/docs (which I am using AWS API Gateway to proxy the requests through to https://platform.authentified.co/REST/) I want it to rewrite to v1/docs. I can't seem to do it with a Fastify plugin, as rewriting seems to only be available at the Factory level. https://fastify.dev/docs/latest/Reference/Server/#rewriteurl At the moment it seems like a redirect is my only option, unless there's something I've missed?...

How to fetch Access Token using external API

I want to fetch access token using external API but it says: Response body: {"errors":[{"message":"Cannot query field "accessToken" on type "ShopifyShop".","locations":[{"line":23,"column":9}],"extensions":{"fromSandbox":false}}],"data":null,"extensions":{"logs":"https://ggt.link/logs/344243/7843c96fb433bd28c4a56a116b41a837","traceId":"7843c96fb433bd28c4a56a116b41a837"}}...

I need help understanding billing and teams in Gadget

Hello! I would like to upgrade the Gadget app I created form Hobby to Pro. I want to understand how the billing is done. I created this app with my company email (@nakedandthriving.com), I see it says Carlos's team. So, if my company wanted to add payment details they would need to do so from my account? Say another member at my company already has a different team. Can they add me to their existing team? And would that extend their billing plan to cover the app I've created? Not sure how this works....

GGT_APP_CRASH but I can't understand why

Hey! My "getsimio" app has this error in production - really often - but I've never managed to identify the reason. TraceId: 838da5cb8e2a9e3761bc46d88f8d70c0...

Shopify 502 on install of dev app

Has anyone seen 502 errors when installing dev apps onto dev stores through the Partner dashboard like so? These just started appearing and I'm not sure what may be causing them. Judging by the Gadget logs, the call never reaches Gadget so the logs can't tell me much....
No description