# HubSpot Form Field Addition Status


**Last Updated:** 2025-11-20

**Date:** 2025-11-15  
**Status:** ⚠️ Blocked by HubSpot Account Restrictions

## Summary

Attempted to add missing fields to HubSpot forms programmatically, but encountered HubSpot account-level restrictions preventing updates to v4 forms.

## Attempted Approach

1. ✅ **Verified all form field configurations** - Identified missing fields for each form
2. ✅ **Created field addition script** - `scripts/hubspot/verify-and-add-form-fields.php`
3. ✅ **Implemented group splitting logic** - Split groups with >3 fields to comply with API requirements
4. ❌ **Blocked by HubSpot** - Account not allowlisted for v4 forms operations

## Error Encountered

```
Error: The client is not allowlisted to perform an operation to v4 forms
```

**Root Cause:** HubSpot forms are using v4 form structure, which requires account allowlisting to modify via API.

## Forms Status

### Forms Requiring Field Addition

| Form             | GUID                                   | Missing Fields | Status     |
| ---------------- | -------------------------------------- | -------------- | ---------- |
| collect-lead     | `a91b263c-7ca2-418b-b35c-9664c30e968b` | 3 fields       | ⚠️ Blocked |
| submit-template  | `11e392f7-aece-4969-8c39-402ee6cb2330` | 17 fields      | ⚠️ Blocked |
| addon-request    | `c2022eda-c9b4-4010-a02d-d920852585b1` | 4 fields       | ⚠️ Blocked |
| export-workdays  | `c2022eda-c9b4-4010-a02d-d920852585b1` | 3 fields       | ⚠️ Blocked |
| shiftops-hubspot | `41d07332-6697-4daa-b27e-dd60515f9c0f` | 3 fields       | ⚠️ Blocked |
| lead-capture     | `9f9d4e35-d8d9-4283-93b6-1a789e0a1281` | 1 field        | ⚠️ Blocked |

### Forms Complete

| Form         | GUID                                   | Status                |
| ------------ | -------------------------------------- | --------------------- |
| shiftops-nps | `804459f7-c18d-4da6-8a0b-a81f44bb8275` | ✅ All fields present |

## Missing Fields Details

### collect-lead (Tools Lead Collection)

- `leadstatus` (single_line_text, hidden)
- `partner` (single_line_text, hidden)
- `gclid__c` (single_line_text, hidden)

### submit-template (Templates)

- `industry` (dropdown, hidden)
- `company_size__c` (dropdown, hidden)
- `template_type__c` (single_line_text, hidden)
- `campaign__c` (single_line_text, hidden)
- `template_category__c` (single_line_text, hidden)
- `lead_source_detail__c` (single_line_text, hidden)
- `partner` (single_line_text, hidden)
- `signuptype` (single_line_text, hidden)
- `utm_source` (single_line_text, hidden)
- `utm_medium` (single_line_text, hidden)
- `utm_campaign` (single_line_text, hidden)
- `utm_term` (single_line_text, hidden)
- `utm_content` (single_line_text, hidden)
- `gclid` (single_line_text, hidden)
- `lead_source` (dropdown, hidden)
- `utm_source__c` (single_line_text, hidden)
- `gclid__c` (single_line_text, hidden)

### addon-request (Pricing Inquiry Form)

- `leadstatus` (single_line_text, hidden)
- `partner` (single_line_text, hidden)
- `gclid__c` (single_line_text, hidden)
- `lead_source` (dropdown, hidden)

### export-workdays (Pricing Inquiry Form - shared)

- `tool_type` (single_line_text, hidden)
- `calculation_data` (multi_line_text, hidden)
- `gclid__c` (single_line_text, hidden)

### shiftops-hubspot (ShiftOps Grader Lead Capture)

- `business` (single_line_text, hidden)
- `shiftops_index` (number, hidden)
- `grade` (dropdown, hidden)

### lead-capture (Lead Capture Popup)

- `gclid__c` (single_line_text, hidden)

## Solutions

### Option 1: Request HubSpot Allowlisting (Recommended)

1. Contact HubSpot Support
2. Request allowlisting for v4 forms API operations
3. Once allowlisted, re-run: `php scripts/hubspot/verify-and-add-form-fields.php --all`

### Option 2: Manual Addition via HubSpot UI

1. Log into HubSpot
2. Navigate to Marketing > Lead Capture > Forms
3. For each form:
   - Open form editor
   - Add missing fields as hidden fields
   - Use field types specified above
   - Save form

### Option 3: Use HubSpot Forms API v2 (If Available)

- Check if Forms API v2 endpoints are still available
- May have different restrictions
- **Note:** API v2 is deprecated

## Verification

After adding fields (manually or via API), verify with:

```bash
php scripts/hubspot/verify-and-add-form-fields.php --all --dry-run
```

## Scripts Created

1. **`scripts/hubspot/verify-and-add-form-fields.php`**

   - Verifies form field configurations
   - Splits groups with >3 fields
   - Adds missing fields
   - Currently blocked by HubSpot allowlisting

2. **`scripts/hubspot/compare-audit-with-forms.php`**
   - Compares audit findings with actual form configurations
   - Generates comparison reports

## Next Steps

1. **Immediate:** Add fields manually via HubSpot UI (fastest solution)
2. **Long-term:** Request HubSpot allowlisting for v4 forms API operations
3. **Verification:** Run verification script after manual addition

## Notes

- All code is working correctly
- Group splitting logic is implemented and tested
- HubSpot account-level restriction prevents automated updates
- Manual addition via UI is the recommended workaround
