Your Knowledge Base is moving on 3/25/24! Our new Help Center provides all the articles you know and love (plus so much more) in a one-stop shop. Ask your SPoC for details!

Create a Process

 
Important: A misconfigured Process can cause many errors and prevent data from being saved in your system. Make sure to set up your Process carefully and correctly to prevent data loss. Want help setting up your process? Professional Services can help!
Creating a Process Walkthrough

In this example, we'll accomplish two goals:

  • Send an email to any person who has responded to an Opportunity.
  • Assign a task to the person responsible for that Opportunity so they can follow up with the person who responded.

Go to Administration > Processes > New and complete the Process fields as shown:

  • Process Name: Response Process
  • Process Manager: The User who is responsible for the Process.
  • Active: Leave this set to False until you're done building the Process and are ready to test. If it's set to True, unintended problems could occur with data being created or updated incorrectly.
  • Description: When a Response is submitted to an Opportunity, send an email to a respondent and assign a Task to the Primary Contact of the Opportunity.
  • On Submit: This field can be left blank in our example. Learn more about this field here.
  • On Complete: This field can be left blank in our example. Learn more about this field here.
  • Trigger Fields: When do you want the Process to run? In this case, we want it to run any time a Response record is created and can leave this field blank. But If we want to prevent the Process from ever firing if we edit the record, we could add "Opportunity_ID" to this text box. That is because Opportunity_ID is a valid field on the Responses page and we want the workflow to fire again if we picked the wrong opportunity by accident.
  • Dependent Condition: This is the condition that must be evaluated as true for a Process to fire; in this example, this can be left blank. This field does not support the Table Lookup Convention. Learn more about this field here.
  • Trigger On CreateSet to True if you want this Process to fire when a new record is created. Learn more about this field here.
  • Trigger On Update: Set to True if you want this Process to fire when an existing record is updated. Learn more about this field here.
  • Table Name: This describes the specific Table in MinistryPlatform that you want the Process to analyze. In our example, we want to do something every time someone responds to an Opportunity and we should choose the Responses Table. Note: If we chose the Opportunities Table, the Process would only be triggered when someone created a new Opportunity, which is not what we're trying to do.

Step 1: Email the person who responded

After saving your Process, you should see two sub-pages. On the Steps sub-page, click New.

  • Step Name: Email Acknowledging Response
  • Instructions: An email will be sent within 5 minutes of this task being created provided the person has a valid email address in their Contact record.
  • Order: 
  • Task Owner/Email From: Specific User:
    • A Specific User field appears. Set the specific user account to be the sender of this message. Tip: Choose a generic account like "Administrator, Church."
  • Step Type: 4. Send an Email.
  • Send Email To: Lookup Contact.
  • Email Template: select the email template you want to use.
  • Email To Contact: Participant_ID_Table.Contact_ID,

Save and close the sub-page.

Step 2: Assign a task to the Opportunity's Primary Contact

  • Step Name: Follow-up on Response
  • Instructions: A person has responded to an opportunity in which you are the designated contact. Please review the response and follow up.
  • Order: 2
  • Task Owner/Email From: Lookup User
  • Lookup User Field: Participant_ID_Table_Contact_ID_Table.[User_Account]
  • Step Type: 2. Assign a Task

Testing your Process

At this point, you've created the Process record and two associated Step records. Before turning on the process, it is wise to test your dependent condition (if applicable) by creating a view on the page the process fires from. Simply copy the SQL into the Filter Clause of the SQL view. You should see no errors when you save the view and only see the records (if any) that match your criteria.

And you're ready to set Process to Active=True and go create a Response record in the Platform. After a Response has been created, you should see a task assigned to the designated contact from the Opportunity and email should go to the Participant who created the Response. If you are manually creating the Response in the Platform, then be sure to hit the Submit button. 

Remember: If there are any issues, turn off the Process right away away and start troubleshooting.
Other Process Ideas
Notify a specific person when a certain Custom Form is filled out.
Table Name = All Form Responses
Trigger fields = Form_ID
Dependent Condition = Form_ID = [ID number of the form]
Trigger On Create = Yes
 
Notify a Group Leader that someone has Contacted that group
Table Name = Group Inquiries
Step Data:
Send Email To: Lookup Contact
Email to Contact: Group_ID_Table.Primary_Contact
 
Notify an Opportunity's Primary Contact only when a Response is logged in the system via Opportunity Finder (and not when a Response is entered in the Platform)
Table Name = Responses
Trigger Fields = Opportunity_ID
Dependent Condition =  EXISTS (SELECT 1 FROM Opportunities O WHERE O.Opportunity_ID = Responses.Opportunity_ID AND O.Visibility_Level_ID=4) AND Responses.Last_Name IS NOT NULL
Step Data:
Send Email To: Lookup Contact
Email to Contact: Opportunity_ID_Table_Contact_Person_Table.[Contact_ID]
 
Notify a specific person when registrants choose specific Product Option Prices
Table Name = All Invoice Detail
Dependent Condition =  Product_Option_Price_ID IN ('indicate ID here','indicate another ID here')

Step Data:
Send Email To: Specific Contact
Email to Contact: indicate the desired person

Notify a person on the data quality team when the Display Name or Nickname of a Contact record is updated.
Table Name = Contacts
Trigger Fields = display_name,first_name
Step Data:
Assign a Task: Specific Contact (Data Quality Person)
 

Require a secondary approval for an event in order to ensure payment is collected for an outside renter.
Add a middle step to the built-in Event Approval Process that will assign a task to the user who needs to collect the money.  

You are using a Process to send a confirmation email to volunteers who respond to a certain opportunity, but, a significant portion are new contacts and are assigned as "default" contacts, which means they're not getting the confirmation email.
  1. In the Dependent Condition field of the Process record, exclude the Default Contact (whose Participant ID = 1) 
          Example: Trigger Fields: Participant_ID Dependent Condition: Participant_ID <> 1 AND Opportunity_ID IN (57, 58, 59)
  2. Create a view on the Responses page to show records where Participant ID = 1, and periodically reassign the response from the Default Contact to a contact with a valid email address.
    • You may use the Add/Edit Family tool to create the person’s record.
    • For opportunities that are more sporadic, you may wish to set up another process to notify a staff member when a new response record has been created and assigned to the Default Contact.
  3. The process fires when the Participant ID is changed to something other than 1. The person making the change should be sure to complete the SUBMIT task on his/her home screen.
Tip: When you are not sure what value to use as the Lookup Value, use the Advanced Search tool from the page your Process is pointed to and get the correct value. Insert the desired value into the view, then switch to the SQL view to see the SQL code for that value. Copy and paste it into your Process.