How to set up DreamFactory’s easy to use email services as a CRM platform

Table of contents

We recently profiled DreamFactory superuser Crystal Taggart and her upcoming book, Build My App! Crystal not only recommends DreamFactory to clients, she uses it to manage her own email distribution.

In her book, Crystal features solutions on how to launch your startup for less than $250. DreamFactory is highlighted in that book as the middleware solution. One example of how DreamFactory saves Crystal money and time is through email campaigns, using DreamFactory services as her email CRM system. Crystal is able to configure email messages under our Roles tab and define templates which are auto-populated and sent through the Mailgun service.

“I pre-configure email messages in DreamFactory versus setting up a separate CRM system to do that. DreamFactory is a free CRM system for me! Just use DreamFactory so you don’t have to set up, and pay for a separate CRM system. DreamFactory has a Mailgun API, so all I had to do was put in my domain name, and user credentials! Then, suddenly I have email services.”

Setup email services

DreamFactory supports a few different email providers. Crystal uses Mailgun, so we will use that as the example in this tutorial.

  1. Start at the 'Services' tab in the Admin Console
  2. Click on the 'Create' button from the left menu.
  3. On the service creation form, select your email provider from the 'Service Type' drop down box.

Enter a short, one-word, meaningful name for your service as well as a label and description. The Name will be part of the URL for accessing the service via the REST API.


Select your preferred email service from the drop down.

Go to the Config tab for the new service.

  1. Enter your Mailgun Domain and API Key.
  2. Click Create Service to save your new service.
  3. Go to the API Docs tab in the admin console to test your new service.


Insert your Mailgun domain, and API key here.

Creating custom email templates

By using she’s able to leverage REST endpoint mappings to send emails, using a GUI. In the screenshot below she passes in the username, email, and template name to send an email from her app.

In her application, Crystal has a button that allows users to request more info about a video. In her database, she created a record that links the video to an email template. When a user ‘Requests More Info’ her app makes a DreamFactory API call that sends the email through Mailgun. By using the service mapping in, she can integrate her mobile app to Dreamfactory in minutes.


Crystal’s email templates are stored in DreamFactory in HTML format,

replacing a traditional CRM configuration.

Here are the labels Crystal used to customize the email endpoints:

Email template name: ApperyIO_Quickstart
Template Description: Quickstart Guide
Recipient's name: John Doe
Recipient's email:
Email subject: Here’s your Quickstart Guide
Email body: Email content
From name (sender name): Crystal Taggart
From email (sender email):
Reply to name: Jane Doe
Reply to email:
Request body:


Crystal didn't need to code the Request Body or API endpoints — did the mapping for her.

Through a simple visual interface in, Crystal was able to use DreamFactory to create a frictionless and powerful feature to her mobile app. You can use any number of frontend tools to do the same. That’s the power of DreamFactory’s backend solution.