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.
Configuring the HTTP POST Snippet
URL for the POST action
http://theapiguys.com/scheduleCall or http://theapiguys.com/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
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:
http://theapiguys.com/deleteCall or http://theapiguys.com/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
Supported Timezone Codes
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 |
Demo Video
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.
See the Advanced Merge Field Notation documentation for more details.
Pre-Fetch
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.
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.
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.
Frequently Asked Questions
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.