When you create an email in Infusionsoft builder it automatically attaches the contact information of the person you are sending it to.
SOLUTION
This tutorial and accompanying video gives you the step-by-step on how to:
Send an email to staff that contains the contact information of a contact going through a campaign that contains a link that takes staff member to the contact record of contact going through the campaign.
In the How to Find Table and Field Names in Infusionsoft video, 2014 Infusionsoft Partner of the Year Kim Snider provides a quick run-through of how Pocket Developer users can find all the necessary table and field names to make their lives that much easier.
How to Find Table and Field Names in Infusionsoft
Time Stamped Show Notes:
00:20 – Advanced Merge Field Notation is the “secret sauce” that enables Pocket Developer to do amazing things without knowing code
00:31 – Advanced Merge Field Notation allows users to work with field otherwise unavailable (Appointments, Tasks, Affiliates, etc.)
01:48 – Go to TheAPIGuys.com à Learning Center à Pocket Developer Documentation à Advanced Field Merge Notation à Pocket Developer à Frequently Asked Questions à Where do I find all of the table and field names? à Click on the tables and fields link embedded in the text
02:28 – The tables and fields are documented with the programmer in mind, but they are still pretty straightforward
02:42 – For those who have never programmed before, understand that Infusionsoft is the front-end for a database
03:35 – Most people are not familiar with just how many field names there actually are or what they are actually named
03:46 – Knowing the name is crucial because many of them are not available in the Merge drop-down…they need to be manually looked up
04:20 – Not all tables and fields are named in the most logical way from a users-perspective
05:20 – Example of this
05:40 – Example of this
06:30 – It can be intimidating at first but do not be deterred, it eventually becomes second nature
07:20 – Another way to find the tables and fields is to go to Developer.Infusionsoft.com à Click on Table Documentation
In the How to Send Multiple Emails to Staff from Campaign Builder, 2014 Infusionsoft Partner of the Year, Kim Snider, quickly runs the audience through a demonstration of how they can use the Email Anyone, Anytime plug-in to send follow-up emails to the auxiliary contacts of a given Contact Record.
Send Multiple Emails To Staff From Campaign Builder
Time Stamped Show Notes:
00:12 – Kim introduces the scenario surrounding the video’s topic: The difficulty of using Infusionsoft to send multiple emails to auxiliary contacts
01:29 – This is a problem when trying to build in notifications and nag emails into campaigns for staff, administrators, etc.
01:43 – We solve this problem by using the Pocket Developer plug-in called Email Anyone, Anytime
01:47 – The video makes two assumptions
01:57 – That you (the user) already know how to install plug-ins from The API Guys
02:03 – That you (the user) already know about HTTP Post snippets
02:39 – Start by creating a Template which can be done by going into the Templates tab of Campaign Builder
02:50 – The template is hardcoded with a main contact email address in the To field, as well as subject line and body copy
04:32 – The To field will ultimately not matter as the Email Anyone, Anytime plug-in will overwrite anything that is in the template based on parameters you set within the plug-in
03:25 – The email will ultimately send using an HTTP Post to the Email Anyone, Anytime plug-in
03:40 – The HTTP Post is set up using a URL on your domain
05:34 – Custom Delay Timer can delay the firing of any sequence by a manually determined amount of time
07:02 – Dritte Dawg is the one going through the campaign (she is the contact record) but the emails are going to be sent to Nessa Dawg
07:10 – Apply the appropriate tag (which in this case is TestEmailAnyone) to Dritte Dawg’s contact record to kick the process off
07:32 – Nessa received the first email
07:42 – The link within the email would normally drive to a form designed to populate with the information for Nessa, but in this case it has Dritte’s…this is a separate issue
08:25 – The second email arrives and it is also addressed to Nessa
08:37 – Per the instruction in campaign builder using Custom Delay Timer the second email was sent 30 seconds after the first
08:50 – There are other solutions to solving the problem of How to Send Multiple Emails to Staff From Campaign Builderbesides the Email Anyone, Anytime plug-in, but the plug-in streamlines the process and can perform a wide array of other functions
Prefetch is a feature built into our Advanced Merge Field Notation. Advanced Merge Field Notation is the way you tell Pocket Developer what field you want to work with. Prefetch allows you to burrow deep down into the tables to use a piece of data that is not easily retrieved using just the contact ID.
For those of you who are programmers, Prefetch is Pocket Developer’s version of a join. For those of you who aren’t, ignore that. Doesn’t matter.
Prefetch also allows you to save multiple pieces of data, coming from different places, into a single merge field. See the examples and demo video that follow to get a better idea of the power of prefetch.
[/wc_accordion_section]
[wc_accordion_section title=”Where I Can I Use It?”]
Where I Can I Use It?
Prefetch is available anywhere Advanced Merge Field Notation is. All “Core” Pocket Developer plug-ins have Advanced Merge Field Notation and therefore can use Prefetch. Core plug-ins are the yellow ones in the Pocket Developer Store.
Check the Pocket Developer Plug-In Store for the most updated list and to see all 30+ Pocket Developer plug-ins.
[/wc_accordion_section]
[wc_accordion_section title=”How To Use It”]
How To Use It
To use Prefetch, include it as a parameter in an HTTP POST snippet that calls a core Pocket Developer plug-in.
Prefetch Notation
prefetch[label]
Each prefetch “parameter” will act as an
independent lookup and store the result of said lookup in the specified label for the prefetch
Prefetch label can be anything. You can label a piece of data “purple” if you want
You can do more than one prefetch in a single HTTP POST snippet
Prefetch allows for cascading usage of lookup results. That is to say, the result of prefetch action #1 can be used within the lookup details of prefetch #2, #3, as well as the basic parameters of the plug-in.
Prefetch Example
To demonstrate some of the principles, consider the following example. Let’s assume that we would
like to get the quantity of a line item within an order, and then include it in the textToSave
parameter of the Any Text, Anywhere plug-in.
To achieve this result, we would define the following key/value pairs within an HTTP POST action within campaign builder:
contactId = ~Contact.Id~
prefetch[order_id] = Order.Id.Newest
prefetch[item_id] = OrderItem.Id.FilterBy(OrderId:{order_id}, ItemName:"Plan 1")
prefetch[item_qty] = OrderItem({item_id}).Qty
prefetch[notes] = Contact.ContactNotes
textToSave = User has ordered {item_qty} of item #{item_id} in order #{order_id}nn{notes}
saveTo = Contact.ContactNotes
This specific example would have the effect of prepending the “User has ordered …” line to
the contact’s ContactNote field.
prefetch[order_id] gets the ID of the newest order and stores it with a label of order_id
prefetch[item_id] uses the previously stored order_id to get the ID of the item on that order called Plan 1 and stores it with a label of item_id
prefetch[item_qty] uses the previously stored item_id to get the quantity ordered of that item and stores it with a label of item_qty
prefetch[notes] stores the contents of the big Contact Notes tab in the contact record
textToSave prepends the string “User has ordered {item_qty} of item #{item_id} in order #{order_id}”. The codes “/n” create line breaks. Then the previous contents of the field are appended using {notes}.
Q. Where do I find all of the table and field names?
A.Infusionsoft has a complete reference for all the tables and fields you can use with Pocket Developer’s Advanced Merge Field Notation. Although the table names, in particular, may not be immediately obvious, the descriptions will help you find what information is stored in each table.
[/wc_accordion_section]
[/wc_accordion]
[wc_accordion_section title=”Installing the Plug-In”]
Installing the Plug-In
You should have installed your Infusionsoft Pocket Developer plug-in using the instructions provided when you purchased the plug-in.
If, for any reason, you have not installed your Pocket Developer plug-in, follow these simple instructions, to learn how.
[/wc_accordion_section]
[wc_accordion_section title=”Configuring the HTTP Post Snippet”]
Configuring the HTTP Post Snippet
[wc_box color=”inverse” text_align=”left”] 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.
[/wc_box]
URL:
The URL, on your server, where the Pocket Developer script is stored. For example:
http://yourdomain.com/scripts/PocketDeveloper/Blocks/EmailAnyone/
Required Name Value/Pairs
to
The “to” address that should be receiving the e-mail. This can be a fixed e-mail address, a comma separated list of e-mail addresses or any Advanced Merge Field Notation that would yield a valid e-mail address
templateId
The ID of an existing e-mail template in Infusionsoft. Field values within the template, specifically to, from, cc & bcc, can be over-written by the to, from, cc, and bcc parameters of this plug-in
Optional Name Value/Pairs
from
A “from” address for the outgoing e-mail. If omitted, the fixed value within the e-mail template will be used. If no from e-mail is found, “noreply@infusionsoft.com” will be used by default
cc
An e-mail, or comma separated list of e-mails, that will receive a carbon copy of the outgoing e-mail. Email addresses can be fixed, come from a standard Infusionsoft merge field or our Advanced Merge Field Notation, allowing you to use fields from records other than the contact. (e.g. Order, Invoice, Company or Opportunity.
bcc
An e-mail, or comma separated list of e-mails, that will receive a blind carbon copy of the outgoing e-mail. Email addresses can be fixed, come from a standard Infusionsoft merge field or our Advanced Merge Field Notation, allowing you to use fields from records other than the contact. (e.g. Order, Invoice, Company or Opportunity.
delete
Set this to true if you want Pocket Developer to delete the contact that is created when no contact exists for an email address in to, from, cc or bcc. Default is set to false. NOTE: Pocket Developer adds a tag (Pocket Developer -> Created by Email Anyone Anytime) to all contacts it creates for the purpose of sending an email
[/wc_accordion_section]
[wc_accordion_section title=”Configuring the Email Template”]
Configuring the Email Template
Email Anyone Anytime uses email templates. Email templates can be found in the main Infusionsoft menu under Marketing.
As noted above, the from and to fields configured in the email template can be overridden by the plug-in, if desired.
When used with the Email Anyone Anytime plug-in, the subject line and email body can use our Advanced Merge Field Notation to merge information that is not available in standard Infusionsoft merge fields.
For example, you might merge the product purchased in the subject line or information from the contact’s company record in the body of the email.
NOTE: If you use Advanced Merge Field Notation in the subject or body copy, this email template cannot be used as a standard email template. Without the plug-in, the merge fields will appear as text in the email, without being merged. You might want to consider marking email templates that have Advanced Merge Field Notation so they aren’t used or changed accidentally.
[/wc_accordion_section]
[wc_accordion_section title=”Demo Video”]
Demo Video
[/wc_accordion_section]
[wc_accordion_section title=”Advanced Merge Field Notation”]
Advanced Merge Field Notation
,
This Pocket Developer plug-in can use our Advanced Merge Field Notation anywhere a merge field is allowed. Advanced Merge Field Notation allows you to use merge fields from any table, e.g. Opportunity, Invoice, Company, Referral, Appointment, etc. It also allows you to Filter, Count, Max, Min, Compare, filter by IsEmpty and other advanced functionality.
For example, you may want to include the amount still due on an invoice in an email. Or, you may want to include the agreed upon services from an opportunity in an email. You can do this using Advanced Merge Field Notation.
This Pocket Developer plug-in can build advanced data sets using our pre-fetch functionality. Pre-fetch allows you to find one piece of information, such as an ID, and pass it along to get to the exact piece of information you need.
For example, you may pre-fetch the Order Id before using it to get the line items on an order from the OrderItem table, to display in your email. This reduces the number of post snippets in a campaign and eliminates having to store a value in a field for the next step.
See the Pre-Fetch documentation for more details.
[/wc_accordion_section]
[wc_accordion_section title=”Contact Override”]
Contact Override
This Pocket Developer plug-in can merge information related to a contact other than the one going through the campaign, using our contact override functionality.
For example, you may want to create a notification email that includes the name and email address of the contact’s referrer as well as how many referrals that affiliate has made. You can do this using Override with our Advanced Merge Field Notation.
See the Contact Override documentation for more details.
[/wc_accordion_section]
[wc_accordion_section title=”Pro Tips”]
Pro Tips
Use the Universal Delay Timer with Email Anyone Anytime, instead of standard Infusionsoft delay timers. You can configure the Universal Delay Timer so contacts are not “in” the campaign during the delays by not connecting the timer goal to the sequence before it.
[/wc_accordion_section]
Q. Can’t I do the same thing with a legacy action set?
A. Email Anyone Anytime eliminates seven different roadblocks when sending email from Infusionsoft Campaign Builder. They are:
adds CC and BCC functionality to email … stop sending different emails to each recipient
adds comma separated lists of email addresses to TO, CC and BCC … same as non-Infusionsoft emails
send emails to recipients, other than the contact, multiple times within the same campaign … admin notifications are no longer an issue
use email addresses contained in email2, email3 and company email in TO, CC and BCC … email home and work at the same time … what a concept!
merge email addresses from fields other than the contact record (e.g Opportunity, Company, Order or Referral) … gettin’ ninja now!
merge email addresses from contacts other than the one going through campaign (e.g. Referrer or related contacts) … can’t do that with an action set … nope!
merge fields from any record, to the subject and body of the email, using our Advanced Merge Field Notation … replace all those standard Infusionsoft confirmation emails
Legacy Action Sets only get you past one of these seven roadblocks.
And, of course, Infusionsoft has said legacy features, such as Action Sets, will go away at some point. We just don’t know when.
So why not future-proof your campaigns and turbo-charge your Infusionsoft emails at the same time?
[/wc_accordion_section]
[/wc_accordion]
Your product or service includes support for six months after purchase. You want to record the support expiration date for each product purchased and send the customer emails to get them to renew the support agreement prior to expiration.
CAMPAIGN BUILDER CHALLENGES:
How do you put a date, six months from purchase, in a custom date field?
How do you format the date so that it looks nice in emails?
What if they buy more than one product? What if they buy 20? How do you keep from using up all your custom fields?
SOLUTION:
Use the Pocket Developer Any Date, Any Format, Anywhere plug-in to add the term of your support agreement to the date of purchase. Put it in a custom field so you can merge it into emails and other communications.
[wc_box color=”success” text_align=”left”] Exclusive Bonus – Read to the end to get the video of the private training I did for a client on this process with step-by-step set-up and in depth explanation of Pocket Developer superpowers.
[/wc_box]
HOW TO SET IT UP (THE Custom Field Burning WAY):
You can set this up two ways. The easiest way is to put the end of support date in a custom field in the contact record. This way, it is easily accessible as a merge field and also can be seen easily by sales or support reps.
2. In Campaign Builder, set up a sequence triggered by a Purchase Goal
3. Add two Any Date HTTP POST snippets, which add the support agreement term to today’s date
Use format “l, F j” to format text version as “Monday, September 22” for emails
Use format “Y-m-dTH:i:s” to put the date in an Infusionsoft Date field so you can use it in a Field Timer
4. Add a Custom Delay Timer, to the end of the sequence, with a delay of 30 seconds. This gives the posts time to complete before sending the email with the details of your support agreement
5. Add a Field Timer, using your date field, from Step #3, to begin sending renewal notices prior to expiration.
HOW TO SET IT UP (THE POWER USER WAY):
The problem with the above is it burns two of your 100 custom fields in the contact record. It is also not a viable solution if the customer buys more than one product at different times.
You could, instead, use Any Date, Any Format, Anywhere, to put the expiration date in a custom date field in the order itself.
Then, use our Advanced Merge Field Notation, with the Universal Delay Timer plug-in, to run actions off the date in the order instead of from the Contact record.
When it comes time to use those dates for an email, you use Any Date to temporarily “stash” the date in the contact record. Once your email sequence is complete, use Any Text Anywhere to set your stash fields back to blank to be reused.
This method is a bit more work to set up. But, if custom fields are an issue, this technique can be applied in many different scenarios to save custom fields.
1. Install and configure Any Date Anywhere, Any Text Anywhere, Custom Delay Timer, and Universal Delay Timer
2. In Campaign Builder, set up a sequence triggered by a Purchase Goal
3. Add an Any Date HTTP POST snippet, which adds the support agreement term to today’s date and puts it in a custom date field in the order just placed.
Use “today” for the date and time parameters
Use format “Y-m-dTH:i:s” any time you are putting a date in an Infusionsoft Date or DateTime field. That is Infusionsoft’s required format.
Use an adjustment of +6 months
Use Order._demoCustomDateField.Newest as the saveTo parameter. Replace _demoCustomDateField with your custom field.
4. If you want to send an email immediately, use Any Date to temporarily stash a pretty date in a contact field, as in step 3 in the Easy Setup. Then use Any Text Anywhere to set that field to blank, after the email has been sent.
To set a text field to blank, leave the textToSave value blank
Add a Custom Delay Timer, to the end of the sequence, with a delay of 30 seconds. This gives the posts time to complete before sending the email with the details of your support agreement
5. Set up the Universal Delay Timer to restart the campaign a few weeks prior to the expiration date
Use “Order._demoCustomDateField.Newest” for the date parameter (replace _demoCustomDateField with the field name you used)
This assumes a time of midnight Eastern Time in the US. Use a date parameter if you want it to send at a specific time.
Use format “Y-m-dTH:i:s” any time you are putting a date in an Infusionsoft Date or DateTime field. That is Infusionsoft’s required format.
Use an adjustment of -3 weeks (that means the campaign will resume three weeks before the date you stored in the order)
Put a unique value in the callName. This is the API goal call name you will trigger to resume the campaign
6. Create an API Goal with the same callName as the previous step.
7. To send an email using the expiration date as a merge field, temporarily stash a pretty version of the expiration date in the contact record, as in Step #4 above. Set back to blank when email is complete.
8. Rinse and repeat as many times as needed for your renewal nag sequence to complete.
[wc_box color=”success” text_align=”left”]Exclusive Bonus – Get the video of the private training I did for a client on this process with step-by-step set-up and in depth explanation of Pocket Developer superpowers.
[/wc_box]
You can read more about Any Date, Any Format, Anywhere and see more examples of its usage in the QuickStart Guide.
To browse the entire catalog and purchase Pocket Developer plug-ins, visit our plug-in store.
[wc_box color=”go” text_align=”left”]
Don’t want to set this up yourself? Let one of our concierges do it for you. Just purchase all the necessary blocks. Then email concierge@theapiguys.com. We will have it all set up for you in a jif.
[/wc_box]
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
[wc_accordion_section title=”Installing the Plug-In”]
Installing the Plug-In
You should have installed your Infusionsoft Pocket Developer plug-in using the instructions provided when you purchased the plug-in.
If, for any reason, you have not installed your Pocket Developer plug-in, follow these simple instructions, to learn how.
[/wc_accordion_section]
[wc_accordion_section title=”Configuring the HTTP Post Snippet”]
Configuring the HTTP POST Snippet
[wc_box color=”inverse” text_align=”left”] 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.
[/wc_box]
URL for the POST action
https://tag-2025.local/scheduleCall or https://tag-2025.local/scheduleDelay
Take Note: this particular plug-in is not like our others, we host it. Since we manage the automated system which is continuously in-taking and processing calls, you should not specify your domain in this POST URL as you might in our other plug-ins.
Required Name Value/Pairs
appName
The application name that will be queried when invoking the API Goal
Your application name can be found in the URL used to access your Infusionsoft account. e.g. http://APPNAME.infusionsoft.com
callName
The “Call Name” of the API Goal as specified within Campaign Builder
Note: The “Integration Name” of the API Goal should always be your application name (as used for the appName field)
date
This field should contain one of the following:
1. A date or date & time which is structurally valid along common standards, such as “January 1, 2014 1:04 PM” or
“01/01/2014 01:04:33 PM” or “January 1st, 2014” or “01/01/2014” etc
2. The text “today” or “now” which will result in using the current date
3. A custom field that is holding a date or date/time value
Note: Only the date will be extracted from date/time values. Also, if you include a supported timezone code in your date value, please make sure it is using all capital letters (unless it’s an identifier), and that it appears as the last item in the date field. This will be overridden by any timezone values in the time or timezone parameters, if supplied. If no timezones are designated, assume that all dates are in Eastern Time as is the standard with Infusionsoft.
Optional Name Value Pairs
time
This field should contain one of the following:
1. A time or date & time which is structurally valid along common standards, such as “January 1, 2014 1:04 PM” or “01/01/2014 01:04:33 PM”
2. The text “now” which will result in using the current time
3. A custom field that is holding a date or date/time value such as Anniversary, Birthday, or _MyCustomDate
Note: Only the time will be extracted from date/time values. Also, if you include a supported timezone code in your time value, please make sure it is using all capital letters (unless it’s an identifier), and that it appears as the last item in the time field. This will be overridden by any timezone values in the timezone parameter, if supplied. If no timezones are designated, assume that all times are in Eastern Time as is the standard with Infusionsoft.
adjustment
The “adjustment” field should provide a relative date/time format string that complies with the following documentation: http://www.php.net//manual/en/datetime.formats.relative.php
Some valid examples of this value are “+5 weeks” or “second month” or “last day of next month” or “yesterday noon” or “+2 hours” etc
timezone
When the date & time fields are not based on Eastern Time, the user may designate the appropriate originating timezone with any of the supported timezone codes/identifiers specified in the “Supported Timezone Codes” section.
Timezone abbreviations should always be in all capital letters, unless using identifiers. If no timezone is supplied, it is assumed to be Eastern
convertToTZ
In the event that the user would prefer to have a time automatically adjusted to some other timezone, they may supply a timezone code/identifier within this parameter following the same rules that apply to the timezone parameter above.
Adjustments made to the date/time with the “adjustment” parameter are made after the timezone conversion is completed.
saveKeyTo
Scheduled delay calls can be deleted at a future date by making reference to a specific “key” or ID that is assigned to each call. To allow for such an event, the user may specify a field in which to store the scheduled call’s “key” for future usage (see: Deleting a Scheduled Call)
The “saveKeyTo” parameter should contain this storage field name, which can be any standard Infusionsoft field or custom field, in any valid table, and as usual does support our Advanced Merge Field Notation.
groupName
Also related to the management and deletion of scheduled calls is the “groupName” parameter. By specifying a particular group name, the end-user of our plug-in can delete multiple scheduled calls within one request to our deletion service URL (see: Deleting a Scheduled Call).
The “groupName” parameter will be stored along with each scheduled call within our system.
Be mindful of the fact that grouping of scheduled calls should be handled with care to avoid the unintended deletion of some scheduled calls by overzealous grouping.
override
Any contact ID to be used in override scenarios. Overriding creates an accessor to another contact’s data, other than the data associated with the current contact.
To utilize override data, use Override.Field or ~Override.Field~ notation in place of the traditional Contact.Field or ~Contact.Field~ notation
[/wc_accordion_section]
[wc_accordion_section title=”Deleting a Scheduled Call”]
Deleting a Scheduled Call
The deletion of a scheduled call is similar to the addition, or scheduling, of the initial call. Configuring the HTTP POST action is relatively more straight forward, but does require you read the scheduling instructions. If you haven’t read those yet, please see “Configuring the HTTP Post Snippet.”
The URL to specify within your POST action “POST URL” parameter is:
https://tag-2025.local/deleteCall or https://tag-2025.local/deleteDelay
There are two approaches to referencing the call or calls you’d like to delete.
The first approach is to reference one individual scheduled call by its “key.” This key should already be stored somewhere within your Infusionsoft application, likely within a particular contact’s record who has already went through the scheduling process and supplied a standard or custom contact field to the “saveKeyTo” parameter.
The second approach involves making reference to a particular “groupName” that you’ve defined during the scheduling process. Any call that was scheduled with a “groupName” will be deleted if so requested.
A combination of both key and groupName can be supplied to the deletion service, and all relevant scheduled calls will be deleted
In the event you can’t find a timezone for your region within the list below, you may also use any of the timezone identifiers supplied at this PHP documentation page; some examples of these identifiers are America/New_York, Canada/Atlantic, etc.
United States
Code
Timezone, State, or Region
Notes
ETUS
Eastern Time
No exclusions
CTUS
Central Time
No exclusions
MTUS
Mountain Time
Excluding Arizona
AZUS
Arizona (No DST)
No exclusions
PTUS
Pacific Time
No exclusions
ATUS
Alaska Time
No exclusions
HTUS
Hawaii/Aleutian Time
Excluding Honolulu
HONOUS
Honolulu
No exclusions
Australia
Code
Timezone, State, or Region
Notes
WTAU
Western Australia Time; Western Australia
Excluding Eucla
EUAU
Eucla, Australia Time; Western Australia
No exclusions
NCTAU
North Central Australia Time; Northern Territory
No exclusions
SCTAU
South Central Australia Time; South Australia
No exclusions
NETAU
North Eastern Australia Time; Queensland
No exclusions
SETAU
South Eastern Australia Time;
New South Wales, Victoria, and Tasmania
No exclusions
New Zealand
Code
Timezone, State, or Region
Notes
NZ
New Zealand Time
No exclusions
Europe
Code
Timezone, State, or Region
Notes
WTEU
Western European Time
Excluding Iceland
CTEU
Central European Time
No exclusions
ETEU
Eastern European Time
No exclusions
ICEEU
Iceland (No DST)
No exclusions
Canada
Code
Timezone, State, or Region
Notes
PTCA
Pacific Time; Yukon and British Columbia
No exclusions
MTCA
Mountain Time;
part of Nunavut Northwest Territories,
Alberta, Saskatchewan
No exclusions
CTCA
Central Time;
part of Nunavut, Manitoba, some of Ontario
No exclusions
ETCA
Eastern Time;
most of Ontario, Quebec, Baffin Island
No exclusions
ATCA
Atlantic Time; Nova Scotia, New Brunswisk
No exclusions
NTCA
Newfoundland Time
No exclusions
[/wc_accordion_section]
[wc_accordion_section title=”Demo Video”]
Demo Video
[/wc_accordion_section]
[wc_accordion_section title=”Advanced Merge Field Notation”]
Advanced Merge Field Notation
This Pocket Developer plug-in can use our Advanced Merge Field Notation anywhere a merge field is allowed. Advanced Merge Field Notation allows you to use merge fields from any table, e.g. Opportunity, Invoice, Company, Referral, Appointment, etc. It also allows you to Filter, Count, Max, Min, Compare, filter by IsEmpty and other advanced functionality.
For example, you may want to delay based on the date an an opportunity is expected to close or an appointment date and time. You can do this using Advanced Merge Field Notation.
This Pocket Developer plug-in can build advanced data sets using our pre-fetch functionality. Pre-fetch allows you to find one piece of information, such as an ID, and pass it along to get to the exact piece of information you need.
For example, you may pre-fetch the Id of an opportunity owner before using it to get the date of the next appointment with the opportunity owner from the ContactAction table, to send a reminder email. This reduces the number of post snippets in a campaign and eliminates having to store a value in a field for the next step.
See the Pre-Fetch documentation for more details.
[/wc_accordion_section]
[wc_accordion_section title=”Contact Override”]
Contact Override
This Pocket Developer plug-in can merge information related to a contact other than the one going through the campaign, using our contact override functionality.
Imagine you do marriage counseling, for example. You may want to delay a reminder email, to a spouse, based on the appointment date in the record of the other spouse. You can do this, using Contact Override, with our Advanced Merge Field Notation.
See the Contact Override documentation for more details.
[/wc_accordion_section]
[wc_accordion_section title=”Pro Tips”]
Pro Tips
Universal Delay Timer should always be used in an HTTP POST snippet, from Campaign Builder, and should always be the last snippet in a sequence. To avoid unintended consequences, always give the API Goal triggered by Universal Delay Timer a unique callName.
You can configure the Universal Delay Timer so contacts are not “in” the campaign, during the delays, by not connecting the timer goal to the sequence before it. This can be useful with long campaigns that email someone multiple times or campaigns that loop.
Q. Can’t I do the same thing with an Infusionsoft field timer?
A. Field timer only gives you access to date fields in the Infusionsoft contact record. Universal Delay Timer allows you to use any field, in any table (e.g. Opportunity, Invoice, Company, Referral, Appointment, etc.) that represents a valid date.
Infusionsoft’s field timer requires the date to be contained in a date field. Universal Delay Timer can take a date in any format, including text (e.g next Thursday or September 13)
Infusionsoft’s field timer also does not allow the time to be set dynamically from a field. It is a drop-down in the timer. With Universal Delay Timer, the time field can also be any field, in any table, representing a time.
[/wc_accordion_section]
[/wc_accordion]
[wc_accordion_section title=”Installing the Plug-In”]
Installing the Plug-In
Note: 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.
[/wc_accordion_section]
[wc_accordion_section title=”Configuring the HTTP Post Snippet”]
Configuring the HTTP Post Snippet
[wc_box color=”inverse” text_align=”left”] 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.
[/wc_box]
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:
contactId
This is the contact Id for the contact record where fields will be retrieved (if any) and where the result of the counter iteration will be stored
Optional Name Value/Pairs:
default
The default company name for a contact
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
override
Any contact ID to be used in override scenarios. Overriding creates an accessor to another contact’s data, other than the data associated with the current contact.
To utilize override data, use Override.Field or ~Override.Field~ notation in place of the traditional Contact.Field or ~Contact.Field~ notation