Creating a dropdown list in product admin page, populated from an external API call

Topic summary

Goal: add a dropdown/checkbox list to the Shopify product admin page, populated from a company API’s JSON (key/name + value). Selected values must persist with the product and be available to an order-complete webhook. Current workaround is manual entry of comma-separated GUIDs in a metafield, which is not ideal.

Feasibility: asked whether this can be done via an extension and, if not, alternative approaches.

Latest update: a ScriptTag solution was suggested, but the linked Shopify docs indicate ScriptTags run on the storefront or order status page, not admin. Request for documentation on injecting into admin pages; if that’s not supported, a custom app will be explored.

Key terms:

  • Metafield: custom data field on Shopify resources.
  • Webhook: server callback triggered on events (here, order completion).
  • GUID: globally unique identifier.
  • ScriptTag: mechanism to inject JavaScript into storefront/order status pages.

Outcomes/next steps:

  • Verify whether ScriptTags can be used in admin pages; if not, proceed with a custom app approach.

Status: unresolved; investigation ongoing. The linked Shopify ScriptTag docs are central to understanding limitations.

Summarized with AI on December 19. AI used: gpt-5.

Hi all,

We’re needing to add a dropdown list (well, ideally a checkbox list, allowing the selection of potentially multiple list items) to the product admin page. This list needs to be populated based on the JSON response from a call to our company API. The response will just contain a key/name and a value. The selected value(s) will need to be persisted when saving the product, so that they can be retrieved from an order complete webhook (this process is currently working, but relies on a product admin manually entering a comma separated list of GUIDs into a metafield, which is obviously less than ideal.

Is this possible via an extension, and if not, how else could we achieve this functionality?

1 Like

Hi Punya, thanks for the quick reply.

The ScriptTag approach sounds like a fast solution to this problem, but this Shopify link suggests that it’s only really used in the storefront or on the order status page of the checkout. Do you have a link to some documentation on how to inject this into admin pages?

If this isn’t possible then I’ll also look into the creation of a custom app.

Thanks