This n8n workflow securely processes contact form submissions by validating user input, formatting the data, and storing it in a MongoDB database. The flow ensures data consistency, prevents unsafe entries, and provides a confirmation response back to the user.
Workflow
1. Form Submission Node
Purpose: Serves as the workflow’s entry point.
Functionality: Captures user input from the contact form, which typically includes:
name
last name
email
phone number
2. Code Node (Validation Layer)
Purpose: Ensures that collected data is valid and secure.
Validations performed:
Removes suspicious characters to mitigate risks like SQL injection or script injection.
Validates the phone_number field format (numeric, correct length, etc.).
If any field fails validation, the entry is marked as “is_not_valid” to block it from database insertion.
3. Edit Fields Node (Data Formatting)
Purpose: Normalizes data before database insertion.
Transformations applied:
Converts field names to snake_case (first_name, last_name, phone_number).
Standardizes field naming convention for consistency in MongoDB storage.
4. MongoDB Node (Insert Documents)
Purpose: Persists validated data in MongoDB Atlas.
Process:
Inserts documents into the target collection with the cleaned and formatted fields.
Connection is established securely using a MongoDB Atlas connection string (URI).
🔧 How to Set Up MongoDB Atlas Connection URL
a. Create a Cluster
b. Log in to MongoDB Atlas and create a new cluster.
c. Configure Database Access: Add a database user with a secure username and password, Assign appropriate roles (e.g., Atlas Admin for full access or Read/Write for limited).
d. Obtain Connection String (URI)
From Atlas, go to Clusters → Connect → Drivers.
Copy the provided connection string, which looks like:
mongodb+srv://<username>:<password>@cluster0.abcd123.mongodb.net/myDatabase?retryWrites=true&w=majority
Replace <username>, <password>, and myDatabase with your actual credentials and database name.
5. Form Ending Node
Purpose: Provides closure to the workflow.
Functionality: Sends a confirmation response back to the user, indicating that their contact details were successfully submitted and stored.
✅ Result: With this workflow, all contact form submissions are safely validated, normalized, and stored in MongoDB Atlas, ensuring both data integrity and security basic.