{{contact.id}}, {{opportunity.id}}, and the multi-file upload field to create a shared Drive folder, upload each photo, and verify the uploaded file count matches the submitted count.
Opportunity) and Opportunities > Pipelines, store the returned Drive folder URL in {{opportunity.inspection_photos_folder_url}} and {{opportunity.photo_upload_status}}, then reference that single merge field inside your manager-approval email workflow.
Wire multi-photo form uploads to a single Opportunity folder URL in sub-account <YOUR_LOCATION_ID>: 1. In Settings > Custom Fields (Object: Opportunity), create URL field inspection_photos_folder_url and text field photo_upload_status. 2. In Sites > Forms, configure the inspection form with a multi-file upload field. 3. In Automation > Workflows, trigger on Form Submitted, send the file array and opportunity ID to the folder-creation webhook, write the shared folder URL back to opportunity.inspection_photos_folder_url, and gate the client approval email on photo_upload_status = Complete.
# Inspect forms and opportunity workflows in the target sub-account via ghl-crm ghl-crm forms list --context <YOUR_CONTEXT> --location <YOUR_LOCATION_ID> ghl-crm workflows list --context <YOUR_CONTEXT> --location <YOUR_LOCATION_ID>
Official GHL MCP vs. ghl-tools: HighLevel’s official hosted MCP (services.leadconnectorhq.com/mcp) covers public v2 CRM records (contacts, opportunities, appointments, conversations). ghl-tools MCP complements it with workflow graph inspection & recipes, funnel/form builders, DNS/BIMI checks, and ghl-crm doctor audits.
| Step | Menu Path in GHL | Action |
|---|---|---|
| Step 1 | Sites > Forms | Add a File Upload field configured to allow multiple images and make sure external file access is enabled in your sub-account settings so your webhook worker can download each photo URL without a login prompt. |
| Step 2 | Automation > Workflows | Trigger on Form Submitted, create or update the Opportunity, and fire an outbound Webhook action passing {{contact.id}}, {{opportunity.id}}, and the multi-file upload field to create a shared Drive folder, upload each photo, and verify the uploaded file count matches the submitted count. |
| Step 3 | Settings > Custom Fields | Opportunity) and Opportunities > Pipelines, store the returned Drive folder URL in {{opportunity.inspection_photos_folder_url}} and {{opportunity.photo_upload_status}}, then reference that single merge field inside your manager-approval email workflow. |
Connect Claude Code, Cursor, or OpenAI Codex to our ghl-tools MCP Server & Rust CLI to build workflows, forms, and funnels from your editor, or start your GoHighLevel plan through our partner link to unlock $612+ in ready-to-import kits (including GHL Inspection Form & Opportunity Pack) and weekly live clinics.