DayBack URLs

Manipulating DayBack with URL Parameters

DayBack can be controlled by altering its URL, adding new parameters as part of a custom action or button. In Salesforce Classic this is often done by adding buttons to your Salesforce layouts. And in Lightning, it's usually done when adding DayBack to a custom tab

In FileMaker, you can pass URLs to DayBack using a FileMaker Script, or by setting global variables. Details below: passing URLs to FileMaker.

Options are passed as parameters in the URL. Here's an example URL that will deselect all sources (source=null), select the calendar named "Events" and switch to month view:

https://app.dayback.com/#/?source=null&source=Events&view=month

Available Options

Here's a reference for the URL parameters you can include. Please note that all of these are case sensitive.

Source The simple example above included the source as a url parameter so that DayBack knows to turn on the calendar you're interested in. Without this parameter, the event you're looking of could be in a source that is currently filtered off: without a source specified the "Events" calendar may not be on when you arrive a DayBack.

Note that the source parameter doesn't turn off any other calendars: it just makes sure that the one you specified is turned on.

Format: source=Events where "Events" is the name of your calendar in Administrator Settings / Calendar Sources.

To select multiple sources use  source=Events&source=Service%20Appointments 

To deselect all sources use  source=null 

Date   Similar to the source, sending the date tells DayBack to navigate to the date you're interested in. Without this, DayBack could be focussed on another month and you wouldn't see what you're looking for.

Format: date=2016-04-11 where the date is in the form YYYY-MM-DD. Only a single date is accepted.
Important: leading 0's are required in the date.
Dates without leading 0's will not be processed correctly.

ID Tells DayBack to open the popover for the specific event. The calendar must be focused on a date range that includes this event. You can add the  date parameter described above to accomplish this.

Format: id=EV20061 where the EV20061 is the ID of the event. Only a single value is accepted.

View This is the name of the DayBack tab you'd like to land on, like "Month". 

Format:  view=month from this list of possible view names:

Name of view -- Corresponding tab in DayBack
basicDay -- Simple Day View
agendaDay -- Day view with times down the left side
basicWeek -- Simple Week View
agendaWeek -- Week view with times down the left side
month -- Month view
basicResourceDays  -- Resource tab, "Daily" with days down the left side 
agendaResourceVert -- Resource tab, "Schedule" with times down the left side
agendaResourceHor -- Resource tab, "Pivot Schedule" with times across the top 
basicResourceVert -- Resource tab, "List" list view 
basicResourceHor -- Resource tab, "Pivot" list view
basicHorizon -- Horizon view (Gantt Chart)

resourceDays Sets the number of days in resource view.          

Format:  resourceDays=2   
resourceColumns Sets the number of resources to show per page in resource view.          

Format:  resourceColumns=4   
sidebarShow Determines if the left-hand sidebar is shown by default or not.         

Format:  sidebarShow=false
filterStatuses Acts like clicking a status in the Status Filters sections of DayBack's sidebar

Format:  filterStatuses=done. Multiple values are accepted like this:  filterStatuses=Done&filterStatuses=Ready
filterResources Acts like clicking a resource in the Resource Filters sections of DayBack's sidebar.

Format:  filterResources=Admin%20User. Multiple values are accepted like this: filterResources=Admin%20User&filterResources=Beth%20Reynolds. You can not pass a folder name this way.

resourceListFilter Search within the resource list for resources with a particular name, description or tags. Learn more about filtering the resource list.

Format:  resourceListFilter=Hollywood%20OR%20Supervisor

filterContacts Adds a "Contact Filters" section to the filters tab of the DayBack sidebar containing any people's names passed in. Use the name of the contact here, not their id.

Format:   filterContacts=Lauren%20Boyle. Multiple values are accepted like this: filterContacts=Lauren%20Boyle&filterContacts=Andy%20Young.  To remove the  "Contact Filters" section use  filterContacts=null

contactID When a contact ID is passed in, any new calendar records created will be linked to this contact (as their "Related Who"). This is independent of filtering the calendar and requires the contactName URL parameter to be passed as well. 

Format:   contactID=W67YGT55623SC56. Only a single value is permitted.

contactName Required as part of passing in a contactID to be used when making new records on the calendar.         

Format:   contactName=Lauren%20Boyle. Multiple values are not accepted. 

filterProjects Adds a "Project Filters" section to the filters tab of the DayBack sidebar containing any names passed in. You can send in any name that's the related "what" of a calendar item (a campaign, account, case, etc.). 

Format:   filterProjects=University%20of%20Arizona. Multiple values are accepted like this: filterProjects=University%20of%20Arizona&filterProjects=GenePoint.  To remove the  "Project Filters" section use  filterProjects=null

projectID When a project ID is passed in, any new calendar records created will be linked to this record (as their "Related What"). This is independent of filtering the calendar and requires the projectName URL parameter to be passed as well. 

Format:   projectID=F4560I88GTDw7889QeT. Only a single value is permitted.

projectName Required as part of passing in a projectID to be used when making new records on the calendar.         

Format:   projectName=Pegasus%20Installation. Multiple values are not accepted. 

bookmarkID When a bookmark ID is passed in, that bookmark will be loaded as if you had clicked to view it in the bookmarks menu. More details in the Bookmarks docs here.

Format:   bookmarkID=1593203345200U3927404528. Only a single value is permitted.

filterText Sets the text filter section of the filters tab in the DayBack sidebar containing the value passed in.     

Format:   filterText=Some%20Text%20I%20Like. Multiple values are not accepted (a single string), however, your filter text can use operators.
Should be URL Encoded.
To remove the text filter, use   filterText=null
refresh Simply refreshes the calendar

Format:   refresh=true
range Sets the slider in Horizon view to the duration specified.

Format:   range=365.  Value is specified in number of days. Multiple values are not accepted. 
saveState Setting this to false will prevent DayBack from saving any changes to the state. This is useful when using DayBack in an embedded record for example when you don’t want changes to the current date, view, filters to affect DayBack loaded in another window.

Format:   saveState=false 
unscheduledShow Setting this to true will ensure the unscheduled sidebar is set to a open visible state if unscheduled is enabled. Setting it to false will ensure that the unscheduled sidebar is set to a closed state.

Format:   unscheduledShow=true 
unscheduledFilter Setting this to a value will add that value as the filter text in unscheduled. To clear the filter value this could be set to null.

Format:   unscheduledFilter=example filter text 

These headings that get added to the Filters tab of the sidebar--like "Contact Filters"--can be changed to suit your business vocabulary. Learn more in the article on translation.

Base Parameters

Some parameters need to persist through refreshing the browser. The above hash parameters are cleared immediately after they're processed. Base parameters go before the hash (#/) in the URL, and stay in the URL indefinitely.

Available Base Parameters

kiosk
DayBack supports "kiosk mode" as a base URL parameter for folks who want the calendar to run unattended on a large monitor as a whiteboard replacement. For example, this URL will refresh the calendar and update the focus to today every 10 minutes:

Format:   kiosk=10
Full address example: https://app.dayback.com/?kiosk=10#/
language Changes the calendar interface to one of DayBack's nine supported languages. Details here: translation.

Format:   https://app.dayback.com/?language=fr#/?view=month.  Note that the language comes before the hash.
extension
Renders the calendar in mobile view from desktop.

Format:   extension=ChromeV1
Note: For this to work in Salesforce you need to use the Custom App Action in item1: DayBackMobileDesktop.zip

Changing URLs in FileMaker

In FileMaker, devs are often making custom sidebars and manipulating DayBack using scripts and buttons placed there. The easiest way to change DayBack's filters or views from these buttons is to manipulate DayBack's URL using the syntax above.


Hash Parameters

Use the FileMaker script "Set URL Parameters - DayBack" that comes with DayBack. That script only works when you're ON the same layout/tab as DayBack.

If you want to set the URL when you're on a different tab/layout, before you arrive at DayBack, set the variable $$DBk_UrlParameters and then navigate to the calendar: see the last two lines of the script "Show Project in Calendar - DayBack" for an example.


Special Characters

Most special characters in resource or status names should work just fine. But, if you have ampersands in your resource/status you'll need to use the GetAsURLEncoded function on the name itself to encode it before sending to DayBack. Here's an example of how that could look to toggle on the resources "Meet & Greet Room" and "James Falcor":

"filterResources=" & GetAsURLEncoded ("Meet & Greet Room") & "&filterResources=James Falcor"

Base Parameters

Base parameters will need to be added to the Web Viewer calculation. To do this, set a global variable for the base parameter you want to apply (for example $$kioskMode), and then add the following to your web viewer calculation, just above the line starting with "onLoadParameters = Case...":

baseParameters = If( not IsEmpty ( $$kioskMode ) ; baseParameters & "&kiosk=" & $$kioskMode ; baseParameters );

You can do this for each base parameter that needs to be set in the calendar.