Skip to main content

Overview

Admin extensions add custom functionality to the Shopify admin panel. Create order action buttons, product bulk actions, custom dashboards, and workflow automations.

Extension Types

Product Actions

Add bulk actions to product lists
  • Tag products automatically
  • Generate SEO descriptions
  • Update pricing
  • Sync to external systems

Order Actions

Add actions to order details
  • Send custom notifications
  • Create shipment labels
  • Apply custom fulfillment
  • Export to warehouse

Customer Actions

Enhance customer management
  • Segment customers
  • Bulk email campaigns
  • Loyalty program enrollment
  • Custom tagging

Custom Pages

Add new pages to admin
  • Analytics dashboards
  • Inventory management
  • Custom reports
  • Integration settings

Admin Extension Targets

Available extension points:

Example: Product SEO Generator

Generate an admin extension that creates SEO-optimized descriptions:
1

Describe Your Extension

2

Review Generated Code

Synapse creates:
  • Action button in product details
  • GraphQL queries for product data
  • Mutation to update description
  • Loading/success states
  • Error handling
3

Deploy & Test

  • Automatic validation and deployment
  • Available immediately in admin
  • Test on sample products
4

Use in Admin

  1. Go to Products → [Any Product]
  2. Click “More actions”
  3. Select your custom action
  4. Watch it process and update

Generated Extension Structure

Main Component

Common Admin Patterns

Use Case: Auto-tag products based on attributesTarget: admin.product-index.action.renderFeatures:
  • Select multiple products
  • Analyze titles/descriptions
  • Apply relevant tags
  • Show progress
Prompt Example:

UI Components for Admin

  • <Button> - Primary/secondary actions
  • <ActionList> - Multiple action options
  • <Modal> - Confirmation dialogs
  • <Toast> - Success/error messages
  • <TextField> - Text inputs
  • <Select> - Dropdowns
  • <Checkbox> - Boolean options
  • <Form> - Form container
  • <Spinner> - Loading indicator
  • <ProgressBar> - Progress tracking
  • <Banner> - Info/warnings
  • <Badge> - Status indicators
  • useApi() - Access admin data
  • useData() - Current resource
  • useSessionToken() - Authentication
  • useLocale() - Internationalization

Making API Calls

Admin extensions can call external APIs and Shopify Admin API:
Call your own backend:

Best Practices

Performance

  • Batch Operations: Process bulk actions in chunks
  • Background Jobs: Use webhooks for long operations
  • Caching: Cache API responses where appropriate
  • Rate Limits: Respect Shopify API rate limits

UX Guidelines

  • Clear Feedback: Show progress and results
  • Confirmation: Ask before destructive actions
  • Error Handling: Graceful failure with retry options
  • Undo: Provide undo for reversible actions

Security

  • Authentication: Always verify session tokens
  • Validation: Validate all inputs
  • Permissions: Check user permissions
  • Audit Logs: Log all actions for compliance

Advanced Features

Webhooks

Trigger on Shopify events:

Background Jobs

Long-running tasks:

Custom Settings

Store app configuration:

Analytics

Track usage:

Example Prompts

Testing Admin Extensions

1

Deploy to Dev Store

Extensions automatically deploy to your development store’s admin
2

Access Extension

Navigate to the admin page where your extension appears
3

Test Different Scenarios

  • Single item actions
  • Bulk actions with multiple items
  • Error conditions
  • Edge cases
4

Verify Results

  • Check data updates correctly
  • Confirm error handling works
  • Test loading states
  • Validate permissions

Troubleshooting

Causes:
  • Wrong extension target
  • Not installed in dev store
  • Permissions issue
Solutions:
  • Verify target in shopify.extension.toml
  • Check Apps in admin settings
  • Review app scopes
  • Clear browser cache
Causes:
  • Session token expired
  • Missing permissions
  • Rate limit exceeded
Solutions:
  • Refresh session token
  • Add required scopes to app
  • Implement rate limit handling
  • Check API error responses
Causes:
  • Processing too many items at once
  • Not batching requests
  • Blocking UI thread
Solutions:
  • Process in smaller batches
  • Use Promise.all for parallel requests
  • Show progress indicator
  • Consider background jobs

Next Steps

Checkout Extensions

Build customer-facing checkout UI

Functions

Add backend logic with Functions

Extension Standards

Quality guidelines and best practices

Debugging

Debug and troubleshoot extensions