Automates customer onboarding workflows for e-commerce platforms. Fetches recent WooCommerce orders, identifies first-time customers within a specified timeframe, syncs their information to a BigQuery CRM database, and sends personalized welcome emails using a template.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill ecommerce-customer-onboarding-automator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ecommerce Customer Onboarding Automator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-ecommerce-customer-onboarding-automator)More formats (shields.io, HTML) on the badges page.
---
name: ecommerce-customer-onboarding-automator
description: Automates customer onboarding workflows for e-commerce platforms. Fetches recent WooCommerce orders, identifies first-time customers within a specified timeframe, syncs their information to a BigQuery CRM database, and sends personalized welcome emails using a template.
---
# Instructions
## Objective
Automate the onboarding process for new e-commerce customers by:
1. Identifying customers who completed their **first order** within the **past 7 days**.
2. Syncing their core information (name, email, order details) from WooCommerce to a BigQuery CRM table.
3. Sending a personalized welcome email to each identified customer.
## Prerequisites & Setup
* **WooCommerce Connection:** Ensure access to the WooCommerce store's API (`woocommerce-woo_orders_list`).
* **BigQuery Dataset:** Confirm the target BigQuery dataset (e.g., `woocommerce_crm`) and table (e.g., `new_customers`) exist. The table should have at least these columns: `customer_name` (STRING), `email` (STRING), `order_id` (INT64), `order_date` (TIMESTAMP), `order_total` (FLOAT64).
* **Email Template:** Locate or create the `welcome_email_template.md` file. The skill expects to find it at `/workspace/dumps/workspace/` by default.
## Execution Steps
### 1. Fetch and Analyze Recent Orders
* Use `woocommerce-woo_orders_list` to retrieve completed orders. Start with parameters: `{"status": ["completed"], "perPage": 100, "order": "desc", "orderby": "date"}`.
* **Critical Logic:** Analyze the order metadata. In the provided trajectory, orders from first-time customers within the past 7 days were tagged with `"period": "recent_7_days"` in their `meta_data`. You must implement a similar filtering logic based on your store's data structure.
* **First-Time Customer Check:** Ensure a customer's email appears only once in the filtered set (or check against a historical customer list in BigQuery if available).
* **Date Filtering:** Use the `date_completed` field and calculate if it falls within the last 7 days from the current date.
### 2. Locate and Read the Email Template
* Use `filesystem-search_files` to find `welcome_email_template.md`.
* Use `filesystem-read_file` to load its content. The template should contain placeholders like `{{customer_name}}`, `{{order_id}}`, `{{order_total}}`, and `{{order_date}}`.
### 3. Prepare BigQuery Environment
* Use `google-cloud-bigquery_list_datasets` and `google-cloud-bigquery_get_dataset_info` to verify the target dataset exists.
* Use `google-cloud-bigquery_run_query` to inspect the `INFORMATION_SCHEMA` and confirm the schema of the target table (e.g., `new_customers`) matches the data you will insert.
### 4. Transform and Sync Customer Data
* For each identified first-time customer, extract:
* `customer_name`: Combine `billing.first_name` and `billing.last_name`.
* `email`: From `billing.email`.
* `order_id`: The order's `id`.
* `order_date`: Convert `date_completed` to a TIMESTAMP.
* `order_total`: The order's `total` (as a float).
* Construct a single `INSERT` query for BigQuery with all customer values. Use parameterized values or explicit casting (e.g., `TIMESTAMP('...')`) to ensure data type compatibility.
* Execute the insert query using `google-cloud-bigquery_run_query`.
* **Verification:** Run a `SELECT` query to confirm all records were inserted correctly.
### 5. Generate and Send Welcome Emails
* For each customer, personalize the email template by replacing the placeholders with their specific data.
* Use `emails-send_email` to send the email.
* **Subject:** Follow the template's subject line.
* **Body:** Use the fully personalized email body.
* **To:** The customer's email address.
* Send emails sequentially or in small batches to avoid rate limits.
## Key Decisions & Error Handling
* **Pagination:** If you have more than 100 recent orders, implement pagination using the `page` parameter in `woocommerce-woo_orders_list`.
* **Duplicate Prevention:** Before inserting into BigQuery, consider checking if the `email` or `order_id` already exists in the target table to prevent duplicates if the skill runs multiple times.
* **Template Flexibility:** The skill is designed to use an external template file. If the file is not found, you may need to create a default template or ask the user for its location.
* **Email Send Errors:** Log or note if any email fails to send, but proceed with the remaining customers.
## Completion
After all emails are sent, provide a summary report including:
* The number of first-time customers identified.
* Confirmation of data sync to BigQuery.
* Confirmation of emails sent.
* Use `local-claim_done` to mark the task as complete.
No comments yet. Be the first to comment!