Automating your Account with Workflow Automation

ProBiz.png

Workflow Automation is a tool that helps create or update Copper records without the use of a third-party tool. Continue reading to learn how it works, or watch our short video below:

 

In this article, we'll discuss:

  1. Triggers and Actions
  2. Creating a Workflow Automation Rule
  3. Create a Formula
  4. Send us Feedback
This article goes through general concepts. If you prefer to learn by example, check out our workflow guides with step-by-step instructions. We have recipes to Clone a Won Opportunity, Automatically create Tasks from different triggers, and Calculate Commission.

We also run a weekly workflow automation Q&A to help answer your questions.

Let's get started!

 

Triggers and Actions

Workflow Automation updates or creates records automatically in Copper using a trigger and an action that you set. A trigger tells Copper when to do something and the action tells it what to do. Essentially, we are telling Copper: when X happens, do Y.

wfa-01.png

Here’s a real-life trigger and action: when it rains, open the umbrella. If only Copper could keep you dry!

Here are some more examples or triggers and actions:

  • When it rains -> Open the umbrella
  • When a Lead is 1 day old -> Create a new task called "Follow up with lead"
  • When an Opportunity is in the Sales pipeline AND its status is changed to Won -> Create a new task called "Send thank you note"

Looking at the last example, we can see that a trigger can contain multiple criteria using “AND” and “OR” logic. You can set up a trigger to cause multiple actions at once.

Once a trigger is fired, it initiates the action. Actions can create new records or they can update records if it's the same record used in the trigger. Note, it may take from a few seconds to a few minutes to see the action occur.

Before setting up a workflow automation, think about your trigger and action. When should the trigger fire? What should the action do?

Next, we'll walk through the process of setting up your automation, including the trigger and action. 

 

Creating a Workflow Automation Rule

ⓘ Only admins can create Workflow Automation rules. They must be set up in the web app, but they can execute when a record is created or updated in the web app, mobile app, chrome extension, when using the API, and upon importing data.

To create a new workflow automation rule, open the Copper web app and go to Settings > Automation > Workflow Automation. Click “Add Workflow.”

wfa-02.png

This will open the workflow creator. Let’s work through each section.

 

Naming the Workflow Automation Rule

Start by entering a name for your automation rule. We recommend something descriptive such as “When opportunity is won, create task for thank you note.”

wfa-03.png

 

Setting up the Trigger

 

Step 1: Choose the record type. Select the type of record you would like to use for your trigger - lead, person, opportunity, company, project, or task.

wfa-04.png

 

Step 2: Choose the trigger event option. This tells Copper when to check if the trigger conditions are met.

wfa-05.png

Let's examine each of these trigger event options:

  • Created - Action can only occur when record is initially created.
  • Update or Created - Action can occur when record is initially created, or when record already exists in Copper and a change is made to it.
    • This will trigger every time the record is updated. Be mindful of unintentionally triggering the rule multiple times (e.g. Create Task in Action step)
    • This option is primarily used for calculated fields, when the values aren't specifically known. See our Recipe on Commission Calculation.
  • Specific field is updated - Action can occur any time this type of record is created, or when fields on an existing record are changed from not matching the conditions to matching the conditions
  • Check Once a day - Action can occur once every 24 hours.
    • It will run within an hour when the rule is first turned on, then every 24 hours afterwards 
    • It does not alway run at same time of day; it could be any time over a 24 hour window.
    • Currently, most fields are not available for this trigger event option.
    • See our recipe Close Date within 30 days for an example of how to use this trigger event option.

 

Step 3: Enter trigger condition(s). A trigger condition is a piece of criteria that must be met before the trigger fires. It is made up of a field, an operator, and a value.

  • A field refers to a piece of information store in a record. For example, a Lead's name and status are fields.
  • An operator is how Copper compares the field to the value. You can choose from:
    • Equals or Does Not Equal
    • Greater than or Less than
    • (advanced option) In - The field is one of the multiple values you enter.
    • (advanced option) Contains - The field contains a the text value you enter.
  • A value is compared to the field based on the operator you choose. This might be something your select from a dropdown, a numeric value, or a percentage depending on which field you selected.

You'll also see the option for Standard and Formula. For now, choose Standard. We'll discuss formulas later in the article.

Let's use the example of when an Opportunity's Status Equals Won. In this case, Status is the field. Equals is the operator, and Won is the value.

Screen_Shot_2020-08-27_at_11.13.29_AM.png

Here you can also create additional trigger conditions. For example, if you want the workflow to run when an Opportunity's status is Won AND that Opportunity is in the Sale Pipeline, we can define another condition:

Screen_Shot_2020-08-27_at_11.18.15_AM.png

The trigger conditions will be linked together using the logic ("Filter Conditions") that we choose in the next step.

 

Step 4: Choose Filter Conditions. This is how your trigger conditions are related to one another.

Screen_Shot_2020-08-27_at_11.20.14_AM.png

Let's review what each filter condition means means:

  • All of the conditions are met (AND) - Every condition you choose must be true for the action to occur.
  • Any of the conditions are met (OR) - At least one of the conditions you choose must be true for the action to occur.
  • (advanced option) Custom Logic - Make a combination of 'AND' and 'OR' to make the action occur. For example, if you have 6 trigger conditions, you could enter (1 and 2 and 3) or (4 and 5 and 6). This write-in field recognizes numbers, parenthesis, 'and,' and 'or.' Parenthesis are optional. If you enter any other value, you'll see an error message when saving the Workflow Automation Rule.

In our example, and in the majority of cases we'll choose "All of the conditions are met (AND)."

Now that our Trigger is defined, let's move onto the Action.

 

Setting up the Action

Next, let's scroll down to the Action section.

 

Step 1: Select "Create" or "Update." This is how we indicate whether your action should create a brand new record, or update the one we use in the trigger.

Screen_Shot_2020-08-27_at_11.42.37_AM.png

 

Step 2: Choose the record type. If you chose "Create," select the type of record you would like to be created in this action - lead, person, opportunity, company, project, or task. If you chose "Update" Copper will automatically select the same record as in your trigger.

Screen_Shot_2020-08-27_at_11.47.38_AM.png

 

Step 3: Define the fields. This is where we fill in details on the record we're creating or updating.

If we're updating a record, we need to indicate what piece of information Copper should update. For example, if we want the trigger to change the Value of an opportunity, we would add a field for Value.

If we're creating a record, we need to define the fields we want to workflow to populate. For example, our task will need a name and a due date. Let's name the task "Send thank you note" and set the due date to today.

First we select the field, such as Name. Then you'll have a choice of Standard or Formula. Standard means the value will be the exact same every time, while Formula means it would enter some sort of variable or function. Our Name will always be "Send thank you note," but the due date is going to be different depending on the day. So for the Name field we'll select Standard and for the Due Date we'll Use a Formula.

Screen_Shot_2020-08-27_at_12.06.16_PM.png

Once you select Use a Formula, it prompts you to enter a variable or function. For now, enter CURRENTDATE() - this will set the due date to the same date that the trigger runs, whether it's today or six months from now. We'll dive deeper into variables and functions in the next section.

Let's also add the name of the primary contact of the triggering opportunity into the task description using the variable primary_contact_full_name. This way we'll know who exactly we're supposed to follow up with. The full list of variables is further down this article.

Screen_Shot_2020-08-27_at_12.19.57_PM.png

 

Step 4 (optional): Add another action. If you want multiple actions to occur, click on "Add Action." This is useful if, for example, you'd like create one task for "Send thank you note" and another for "Six-month follow up."

 

Step 5: Save and turn on! Click the save button and click the toggle to turn the workflow on. The workflow turns off automatically when you save it, so remember to turn it on.

Screen_Shot_2020-08-27_at_12.24.23_PM.png

We've now created our first workflow automation rule. To summarize, here's what it does:

Trigger: When an Opportunity is Won in the Sales pipeline

Action: Create a new task called "Send thank you note," which is due on the same day and has the Primary Contact Name in the description.

ⓘ When your trigger is activated, the action normally occurs within a few seconds but may take a few minutes depending on system-wide usage. If you're on the record that is being updated, you'll need to reload the page to see the changes.

If you're interested in building even more sophisticated workflows, read on to learn about Formulas.

 

Creating a Formula

While ‘Standard’ lets you set a finite value in a field, ‘Use a Formula’ lets you add an equation that produces a field value.

What is a formula?

Formulas have 2-3 components: Functions, literals and/or variables.

A function tells the formula what action to take. An example of a function is 'SUM,' which would take the action of totaling all numbers in the formula.

A literal represents a value we know. For example, '1' and '2' are literals. We know the value of 1 is 1, and the value of 2 is 2.  SUM('1' + '2') is a formula in which SUM is the function adding 1 and 2 together.

A variable represents the value in a default or custom field. In this case, you're specifically referencing a default or custom field on the record mentioned in the trigger of the workflow automation rule. This could represent a finite number of possible values (in the case of a drop-down menu) or an infinite number of possible values (in the case of a write-in field like a text field or a numeric field). To continue with the previous example, a formula that contains a variable might be SUM(monetary_value + 50). If you scroll down to the table on default field variable names for opportunities, you'll see that 'monetary_value' represents the 'Value' field on an Opportunity.

What functions can be used with Workflow Automation?

To make formulas digestible, we've divided them into four types: Strings, Numerical, Dates, and Logic. Let's take a look at each type.

Strings

Function Example Formula Output
Concat* CONCAT("ABC",123,"DEF") ABC123DEF‌
Upper Case UPPER("abc") ABC‌
Lower Case LOWER("ABC") abc‌

* CONCAT takes all the separate values inside parenthesis and populates them as a single string in the field. Each value must be separated by a comma (,). Strings need to be enclosed by double quotation marks ("example_text"). Any unquoted string will be treated as variable or functions. 

For example:

If you want to change the description of an opportunity to include the opportunity name next to the word Onboarding, under 'Actions' you would choose 'Name' field, select 'Use a Formula' and type in:

CONCAT(name, ": Onboarding")

If name = Google Opportunity, the description would be:

"Google Opportunity: Onboarding"   

* Only neutral quotes (" ") are accepted. Forward/Back quotes (“ ” ) will result in parsing error. Only an issue if copying formula outside Copper and pasting to Copper

 

Numerical

Function
Example Formula Output
Sum SUM(1,4,10,5) 20
Average AVG(1,4,10,5) 5
Round ROUND(10.6) 11
Using + -  * / 10 + monetary_value * 100 / 2‌ 260 (if monetary value is 5)

Dates

Function Example Formula Output
Current Date CURRENTDATE() 2018-10-03 00:00:00 AM +00:00‌
Add to a Date DATEADD(CURRENTDATE(),10) 2018-10-13 00:00:00 AM +00:00‌
Days DAYS(CURRENTDATE(),DATEADD(CURRENTDATE(),10)) 10

Logic

Type  Example Formula Output
 IF, ISBLANK* IF(ISBLANK(monetary_value), 0, monetary_value) + 10  0 (if monetary_value is empty) 110 (if monetary_value is 100)

*IF and ISBLANK should only be used in conjunction as shown above. The IF/ISBLANK function allows you to specify a default if the value is empty.

Other

Type  Example Formula Output
GETVALUE() GETVALUE(cf_ProductDropDown) string "Apple" (if that is the selected option in dropdown list)
  CONCAT(GETVALUE(cf_ProductDropDown), ' Product selected) string "Apple Product selected" 

 * generally, you don't need to use GETVALUE(), as we have plaintext variable names for default fields.

Ex. From an opportunity record, "company_name" would be the same as "GETVALUE(company_id)"

 

How to check for Null or Blank Values

You can check for null values by using NULL (in all caps) in the formula or set a field to null

Screen_Shot_2019-07-09_at_3.10.42_PM.png

Screen_Shot_2019-07-09_at_3.40.10_PM.png

How to use variables to reference default and custom fields in formulas

cf_ is the prefix to reference custom field values. For example cf_field_key.

If you wanted to change the description of an opportunity to include a custom field that indicates the sales region West or East, and custom text, under 'Actions' you would select the 'Description' field from the drop-down, choose 'Use a Formula,'and type in:

CONCAT(GETVALUE(cf_sales_region), ' - MM')

If Sales Region = West, the description of the opportunity would be:

“West - MM”

The 'sales_region' portion of the formula is known as a variable name. It represents the field in the formula's language. To find the field key for a custom field, follow the steps below:

  1. Sign into your Copper account, and click 'Field Settings.'
  2. Choose the 'Edit Custom Fields' option to the right of the list of records.
  3. Click the pencil icon to the right of the list of records.
  4. Locate the 'Field Key' section, and enter the text you want to use to reference this field in workflow automation rules going forward.
  5. Click 'Save.'

Plain Text Option

  • Variable Names ending in "_id" and some other fields, a numeric code is returned
    • ex. assignee_id returns "24601"
  • The Plain Text Option will enable you the return the text, instead of a numeric code
    • ex. assignee_full_name returns "Jean Valjean"
  • Custom fields will be supported in future release

Variable names for default fields are already created and listed below:

 Lead Field Name  Variable Name For Text Fields Only
 Owner  assignee_id  assignee_first_name
 assignee_last_name
 assignee_full_name
 Source  customer_source_id  customer_source_name
 Created  date_created  
 Last Contacted  date_last_contacted  
 Modified  date_modified  
 Description  details  
 First Name   first_name  
 Name   full_name  
 ID   id  
 Interactions interaction_count  
 Last Name  last_name  
 Middle Name  middle_name  
 Value  monetary_value  
 Prefix  prefix  
 Status  status  
 Suffix  suffix  
 Tags  tags  
 Title  title  
 Address  address  
 Address/Street  address.street  
 Address/City  address.city  
 Address/State  address.state  
 Address/Country  address.country  
 Address/Zip Code  address.postal_code  
 Custom Fields (See Notes)  cf_field_key  ex. cf_MyCustomField

Note: Phone numbers, social media accounts, websites, company name (company id is okay), and custom connect fields on person records are not supported by formulas.

Note: Turn off all affected workflow automation rules before making changes to field settings. Review all your workflows after the changes are made.

Person Field Name Variable Name For Text Fields Only
Owner assignee_id assignee_first_name
assignee_last_name
assignee_full_name
Company company_id company_name
Contact Type contact_type_id contact_type_name
Created date_created  
Last Contacted date_last_contacted  
Lead Created date_lead_created  
Modified date_modified  
Description details  
ID id  
 Interactions  interaction_count  
First Name first_name  
Name full_name  
Converted from Lead? is_converted  
Last Name last_name  
Middle Name middle_name  
Prefix prefix  
Suffix suffix  
Title title  
Tags tags  
Address address  
Address/Street address.street  
Address/City address.city  
Address/State address.state  
Address/Country address.country  
Address/Zip Code address.postal_code  
Custom Fields (See Notes) cf_field_key ex. cf_MyCustomField 

Note: Phone numbers, social media accounts, websites, company name (company id is okay), and custom connect fields on person records are not supported by formulas.

Note: Turn off all affected workflow automation rules before making changes to field settings. Review all your workflows after the changes are made.

Company Field Name Variable Name For Text Fields Only
Owner assignee_id assignee_first_name
assignee_last_name
assignee_full_name
Contact Type contact_type_id contact_type_name
Created date_created  
Modified date_modified  
Description details  
Email Domain email_domain  
ID id  
 Interactions  interaction_count  
Name name  
Tags tags  
Address address  
Address/Street address.street  
Address/City address.city  
Address/State address.state  
Address/Country address.country  
Address/Zip Code address.postal_code  
Custom Fields (See  Notes) cf_field_key  ex. cf_MyCustomField

Note: Phone numbers, social media accounts, websites, and custom connect fields on company records are not supported by formulas.

Note: Turn off all affected workflow automation rules before making changes to field settings. Review all your workflows after the changes are made.

Project Field Name Variable Name For Text Fields Only
  Owner   assignee_id  assignee_first_name
 assignee_last_name
 assignee_full_name
  Created   date_created  
  Modified   date_modified  
  Description   details  
  ID   id  
  Name   name  
  Status   status   status_name
  Tags   tags  
  Custom Fields (See  Notes)   cf_field_key  ex. cf_MyCustomField

Note: Turn off all affected workflow automation rules before making changes to field settings. Review all your workflows after the changes are made.

 

Opportunity Field Name Variable Name For Text Fields Only
Owner assignee_id assignee_first_name
assignee_last_name
assignee_full_name
Close Date close_date  
Company company_id company_name
Source customer_source_id customer_source_name
Created date_created  
Last Contacted date_last_contacted  
Lead Created date_lead_created  
Modified date_modified  
Date Stage Changed date_stage_changed  
Description details  
ID id  
Interactions interaction_count  
Converted from Lead? is_converted  
Loss Reason loss_reason_id loss_reason_name
Value monetary_value  
Name name  
Pipeline pipeline_id pipeline_name
Pipeline Stage (see Notes) pipeline_stage_id pipeline_stage_name
Primary Contact  primary_contact_id

primary_contact_first_name
primary_contact_middle_name
primary_contact_last_name

primary_contact_full_name
primary_contact_prefix
primary_contact_suffix

Priority   priority priority_name
Status status status_name
Tags tags  
Win Percentage win_probability  
Custom Fields (see Notes) cf_field_key  ex. cf_MyCustomField

** If you are trying to create an Opportunity as an Action from a Person Trigger, the formula variable for the Primary Contact on the new Opportunity would be "id".

** If you are trying to create a workflow to move an Opportunity to a different Stage, you will have to add Pipeline to your Action 1 first, then Stage. After you pick a Pipeline, the Stages will load. The image below shows workflow - when a custom text field called "Custom opportunity field" is filled in on an opportunity with the words "MOVE," the opportunity will move to Pipeline "Business Development" and Stage "Schedule meeting." We recommend creating an extra text field to hold a timestamp so you know when Workflow Automation last updated a record for auditing purposes. See how I have added a custom field called workflowEngineTimestamp below with a formula (for the formula, search this page for "timestamp"). Please zoom in if you cannot see the image below:

 

Note: Custom connect fields are not supported on any records in formulas.

Note: Turn off all affected workflow automation rules before making changes to field settings. Review all your workflows after the changes are made.

 

Task Field Name Variable Name For Text Fields Only
  Owner   assignee_id  assignee_first_name
 assignee_last_name
 assignee_full_name
  Created   date_created  
  Modified   date_modified  
  Completed Date     completed_date  
  Due Date   due_date  
  Reminder Date   reminder_date  
  Description   details  
  ID   id  
  Name   name  
  Status   status  status_name
  Activity Type   activity_type  activity_type_name 
  Priority     priority  priority_name
  Tags   tags  
  Custom Fields (See  Notes)   cf_field_key ex. cf_MyCustomField 

 

Note: Workflows rules cannot be triggered by other workflow rules. This is to prevent potential infinite loops.

Note: Some fields do not count as an update for the Update trigger, as they are derived calculations on the back end and not fields that are directly updated. The Check Once a Day trigger should be used for these instead. These fields include, Inactive Days, Stage Duration, Days in Stage, and Interaction Count

Was this article helpful? 18 out of 29 found this helpful