All Collections
Settings & Customization
Automation
Automating your Account with Workflow Automation
Automating your Account with Workflow Automation

Automating your Account with Workflow Automation

Success at Copper avatar
Written by Success at Copper
Updated over a week ago
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:

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

Did this answer your question?