۶Ƶ

Configure Submit Actions for AEM Forms

Configure form submission handling to route data to spreadsheets, email, or backend systems using AEM Forms with Edge Delivery Services.

Quick Decision Guide

Choose your submission method:

Method
Best For
Setup Complexity
Use Cases
Forms Submission Service
Simple data capture
Low
Contact forms, surveys, basic data collection
AEM Publish Submission
Complex workflows
High
Enterprise integrations, custom processing, workflows

Prerequisites

Before configuring submit actions, ensure you have:

  • AEM Forms as a Cloud Service instance
  • Edge Delivery Services project configured
  • Form created using Document Authoring or Universal Editor
  • Required permissions for target destinations (spreadsheets, email systems, or AEM)
Method 1: Forms Submission Service

The Forms Submission Service is an ۶Ƶ-hosted endpoint ideal for simple data capture scenarios.

Supported Destinations

  • Spreadsheets: Google Sheets, Microsoft Excel (OneDrive/SharePoint)
  • Email: Send form data to specified email addresses

Configuration Steps

  1. Set Up Destination Access

    • For spreadsheets: Grant edit permission to forms@adobe.com on target spreadsheet
    • For email: Verify recipient email addresses are accessible
  2. Configure Form Submission

    • Open your form in the authoring environment
    • Set submit action to “Forms Submission Service”
    • Specify target spreadsheet URL or email addresses
    • Save and publish the form
  3. Test Submission

    • Submit test data through the form
    • Verify data appears in target destination
    • Check error logs if submission fails

Important Notes

  • Service account forms@adobe.com requires edit access to target spreadsheets
  • Email notifications are sent immediately upon form submission
  • Data validation occurs at the service level

Forms Submission Service Flow

Method 2: AEM Publish Submission

Submit form data directly to your AEM as a Cloud Service Publish instance for complex processing.

When to Use AEM Publish

  • Custom AEM Workflows required after submission
  • Form Data Model (FDM) integration with databases
  • Third-party service integrations (Marketo, Power Automate, Workfront Fusion)
  • Azure Blob Storage or SharePoint document libraries
  • Complex server-side validation or processing logic

Available Submit Actions

AEM Publish Submission Flow

Configuration Requirements

1. AEM Dispatcher Configuration

Configure Dispatcher on your AEM Publish instance:

  • Allow Submission Paths: Modify filters.any to allow POST requests to /adobe/forms/af/submit/...
  • No Redirects: Ensure Dispatcher rules do not redirect form submission paths

2. OSGi Referrer Filter

In AEM OSGi console (/system/console/configMgr):

  1. Find “Apache Sling Referrer Filter”
  2. Add your Edge Delivery domain to “Allow Hosts” list
  3. Include domains like https://your-eds-domain.hlx.page

3. CDN Redirect Rules

Configure your Edge Delivery CDN to route submissions:

  • Route requests from /adobe/forms/af/submit/... to your AEM Publish instance
  • Implementation varies by CDN provider (Fastly, Akamai, Cloudflare)

4. Form Configuration

  1. Create form in Universal Editor
  2. Configure submit action to target AEM Forms action
  3. Specify submission endpoint path
  4. Publish form to Edge Delivery site
Form Embedding (Optional)

Embed forms created in one location into different web pages or sites.

Use Cases

  • Reuse standard forms across multiple landing pages
  • Include specialized forms in Document-Authored content
  • Maintain single form across multiple EDS projects

CORS Configuration

Configure Cross-Origin Resource Sharing on the form source:

  1. Add CORS Headers to form source responses:

    • Access-Control-Allow-Origin: https://your-host-domain.com
    • Access-Control-Allow-Methods: GET, OPTIONS
    • Access-Control-Allow-Headers: Content-Type
  2. Example Configuration:

    code language-none
     # Configuration for site hosting the form
     headers:
       - path: /forms/**
         custom:
           Access-Control-Allow-Origin: https://host-domain.com
           Access-Control-Allow-Methods: GET, OPTIONS
    

Embedding Steps

  1. Create and Publish Form

    • Build form using Document Authoring or Universal Editor
    • Configure submission method (FSS or AEM Publish)
    • Publish to standalone URL
  2. Configure CORS

    • Set up CORS headers on form source site
    • Allow host page domain to fetch form
  3. Embed in Host Page

    • Add form embedding block to host page
    • Point block to published form URL
    • Publish host page

Embedded Form Architecture

Common Issues
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
Issue Solution
Form submission fails Check console errors, verify endpoint URL, confirm permissions
Embedded form not appearing Configure CORS headers on form source, verify form URL
403/401 errors with AEM Update Sling Referrer Filter, check authentication settings
Data not reaching spreadsheet Verify forms@adobe.com has edit access, check spreadsheet URL
CORS errors Add proper Access-Control-Allow-Origin headers to form source

Configuration Examples

Document-Based Form with Spreadsheet Submission
  1. Create form structure in Google Docs/Sheets
  2. Configure Forms Submission Service endpoint
  3. Grant forms@adobe.com edit access to target spreadsheet
  4. Publish document to Edge Delivery site
  5. Test form submission and data flow
Universal Editor Form with AEM Workflow
  1. Build form in Universal Editor
  2. Configure submit action to “Invoke AEM Workflow”
  3. Set up Dispatcher and referrer filter on AEM Publish
  4. Configure CDN routing rules
  5. Publish form and test workflow execution

Best Practices

  • Use Forms Submission Service for simple data capture scenarios
  • Choose AEM Publish when complex processing or integrations are required
  • Test thoroughly in staging environment before production deployment
  • Monitor submissions using AEM logs and console errors
  • Implement proper error handling for failed submissions
  • Validate data at both client and server levels
  • Use HTTPS for all form submissions and data transmission
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab