Webinars have been temporarily discontinued. Make sure you are on our mailing list if you want to be notified of new webinars and other learning opportunities.
Knowledge Base
[loopbuddy query_id=’14’ layout_id=’14’]
[loopbuddy query_id=’16’ layout_id=’16’]
Use An Opportunity Or Appointment Date In An Infusionsoft Field Timer With Any Date Anywhere
CHALLENGE:
You want to use a date or dateTime field in an Opportunity/Order/Task/Appointment to run a field timer in Infusionsoft Campaign Builder. These fields are not available as merge fields in Campaign Builder.
SOLUTION:
This tutorial and accompanying video gives you the step-by-step to use the Pocket Developer Any Date, Any Format, Anywhere Building Block to programmatically copy the date from the Opportunity/Order/Task/Appointment to a field in the Contact record so it can be used in the Field Timer. You can put the date in an unused Date field, such as Anniversary, or a custom field made specifically for the purpose of “stashing dates” copied from Opportunities, Orders, Tasks and Appointments.
STEP-BY-STEP
1. In Campaign Builder, where you want the Field Timer to run, create the following sequence:
- an HTTP POST snippet
- a field timer
- whatever action or actions you want to occur when the field timer is triggered (for example, sending an email)
- another HTTP POST snippet
2. Open the first HTTP POST snippet. Configure as follows:
- URL: http://yoursite.com/scripts/PocketDeveloper/Blocks/AnyDate/anydate.php (change path as necessary)
- contactId => ~Contact.Id~ (no need to change this)
- date => the Opportunity/Order/Task/Appointment field you want to use in the Field Timer (see Notes below)
- format => YmdTH:i:s (this is the PHP format notation for all Infusionsoft date or DateTime fields)
- saveTo => the Date field in the Contact Record (without tildes) where you will temporarily store the date while the Field Timer is running
3. Open the Field Timer. Configure as follows:
- Change the Contact Field to the Date field where you are stashing the Opportunity/Order/Task/Appointment date (e.g. Anniversary)
- Change the dropdown below it from Next Occurrence to Use Year From Field
- Configure Wait and Time to taste
4. Configure emails triggered by field timer, etc
* Remember you cannot put a Delay Timer in line with a Field Timer. If you plan to send a series of emails, after the Field Timer, put the emails in their own sequence with HTTP POST in Step 5 at the end.
5. Open the second HTTP POST snippet. Configure as follows:
- URL: http://yoursite.com/scripts/PocketDeveloper/Blocks/AnyDate/anydate.php (change path as necessary)
- contactId => ~Contact.Id~ (no need to change this)
- date => 09/09/2099
- format => YmdTH:i:s (this is the PHP format notation for all Infusionsoft date or DateTime fields)
- saveTo => the same Date field in the Contact Record (without tildes) as before
* Once you put a date in a date field, you cannot make it blank again. We set ours to 09/09/2099 when finished just so nothing runs accidentally and we know that field is available for stashing.
HOW TO SELECT A FIELD IN A SPECIFIC OPPORTUNITY/ORDER/INVOICE/TASK/APPOINTMENT/REFERRAL ETC
These record types have not been available in Infusionsoft’s Campaign Builder because they are a one-to-many relationship to the Contact Record. This means each contact can and probably does have multiple opportunities, invoices, orders, etc. So the challenge is how to specify which one you want.
We have create an Advanced Merge Field Notation, which allows you to specify a field in a specific one to many record for use in Pocket Developer Building Blocks:
- In the Infusionsoft database, an Opportunity is referred to as a Lead. Our notation will take either Lead or Opportunity
- Similarly, the database name for an order is Job. Our notation will take either Order or Job
- You must always precede a custom field with a “_”. Stock Infusionsoft fields have no “_”
- The merge filed notation used in the example (Opportunity._TestDateTime) assumes there is only one Opportunity. If there was more than one, it would pull TestDateTime from the most recent one
- In cases where you know there are multiple records and you want to pull from one of them, Advanced Merge Field Notation allows you to use filters to select a specific record
- The syntax for our notation is Table.Field.[FilterBy(…)][.OrderBy(…)][.Qualifier1[.QualifierN[…]]]. Parameters in brackets are optional.
- A simple example would be Opportunity.NextActionDate.FilterBy(StageID:59). This would pull NextActionDate from the most recent Opportunity with Stage ID = 59. Opportunity.NextActionDate.FilterBy(StageID:59).Oldest would pull NextActionDate from the first or oldest Opportunity with Stage ID = 59
- An example using an Appointment would be ContactAction.ActionDate.FilterBy(IsAppointment:1,ActionType:”Meeting”)
You can read more about Any Date, Any Format, Anywhere and see more examples of its usage in the QuickStart Guide.
You can read more about Advanced Merge Field Notation and see more examples of its usage in the Learning Center.
FREQUENTLY ASKED QUESTIONS:
Q. Where do I find the table and field names for Advanced Merge Field Notation?
A. You can find the names of Infusionsoft tables and fields in the Infusionsoft Developer Resource Section under Table Documentation. You can find the names of your custom fields by going to Infusionsoft Admin Settings -> Add Custom Field -> Record Type -> Show Database Name
Q. Why isn’t the field I want to use showing up in the Field Timer dropdown?
A. There could be two reasons: It is not a Contact field or it is not a Date field. (Remember, DateTime fields do not work in Field Timer)
RELATED ARTICLES AND POSTS
[loopbuddy query_id=’12’ layout_id=’12’]
Programming Terms for Non-Programmers
Action Set: a series of actions that are used together. Generally call from an Action Dropdown menu
Chaining : using results of one block in another block. The result of the initial Building Block is passed the a second block by using the Request parameter.
contactID: This is the contact Id for the contact record where fields will be retrieved (if any) and where the result of the formula evaluation will be stored.
Evaluation: the process of running the operations in a formula
Formula: the written description of the variables you want to use and the operations you want done, in the order you want them done. An example formula would be a+b or (a+b)*z.
Infusionsoft: a powerful small business automation tool
Key/Value Pair: a parameter name and value passed to the server by a HTTP Post or URL query string
Name/Value Pair: a parameter name and value passed to the server by a HTTP Post or URL query string
One-To-Many: a relationship between records in a database where one record in one table could relate to more than one records in another table. For example, the relationship between Contacts and Opportunity is one-to-many because a single Contact could have multiple Opportunities.
Operations: add, subtract, multiply, and divide
Order of Operations: rules used to clarify the order expressions should be evaluated in a mathematical formula(see http://en.wikipedia.org/wiki/Order_of_operations)
Query String: the part of a URL that contains data to be sent to the location identified in the url. A post url contains location information followed by a “?” and what comes after that is the query string.
Request: This is the chained Building Block.. The merge field {result} can be placed anywhere within the URL to include the result of the first Building Block. This allows you to pass the value to another script/block.
saveTo: This is the merge field where the result of the formula will be stored, such as _ArenaHandicap or
_CustomField1. (Optional if using ‘request’)
Variables: are the names, in the left side of a Key/Value Pair, that refer to the values being added, subtracted, multiplied or divided. In this block, you can have up to 52 variables: a – z and A – Z. For example, in the formula a + b = c, a, b, and c are all variables.
“&”: goes between each Key/Value Pair in a url (concatentation)
“?”: goes between the domain and the query string in a URL
Basic Math – Quick Start Guide
Installing the Plug-In
You should have installed your Infusionsoft Pocket Developer plug-in using the instructions provided, if for any reason you have not installed your Pocket Developer plug-in click here to learn how.
Configuring the HTTP Post Snippet
NOTE: Everything in an HTTP POST is case sensitive. That includes the URL, the parameters on the left and the field names on the right. If caPitaLizaTion is wrong, your post will not work.
ANOTHER NOTE: The merge field in the saveTo parameter should never have tildes around it (~). If you use the merge button to add a field, make sure to remove them for this parameter. We are saving to, not merging from.
URL:
The URL, on your server, where the Pocket Developer script is stored. For example:
http://yourdomain.com/scripts/PocketDeveloper/Blocks/TagsFly/tagsfly.php
Required Name/Value Pairs:
field1
- This is field one of two whose value will be the basis for some basic operation.
- It can be any standard or custom contact field. Alternatively, the value assigned to this variable can be a literal constant like 3, 2, 2.1, etc.
field2
- This is field two of two whose value will be the basis for some basic operation.
- It can be any standard or custom contact field. Alternatively, the value assigned to this variable can be a literal constant like 3, 2, 2.1, etc.
operation
- This is the name of the basic operation to be performed on ‘field1’ and ‘field2.’
- It can be any of the following: ‘add’, ‘addition’, ‘subtract’, ‘subtraction’, ‘multiply’,’multiplication’, ‘divide’, ‘division’saveTo (Optional if using ‘request’)
- This is the field where the result of the evaluation will be stored, suchas _ArenaHandicap or Contact._CustomField1
contactId
- This is the contact Id for the contact record where fields will be retrieved(if any) and where the result of the arithmetic will be stored
Optional Name Value/Pairs:
request
- This is a URL to query at the end of the operation. The merge field {result}can be placed anywhere within the URL to include the result of the operation,allowing you to pass the value to another script
Demo Video
Pro Tips
Frequently Asked Questions
Buy Basic Math
You can buy Basic Math from our plug-in store.
- « Previous Page
- 1
- …
- 14
- 15
- 16
- 17
- 18
- …
- 31
- Next Page »