Appointment allows users to manage calendar appointments in Maximizer CRM. See below some considerations for Appointments:
-
Appointments can have different types of attendees:
-
Users/Groups\
-
AbEntries\
-
Leads\
-
-
Appointments can be associated with different entries (using With/WithKey):
-
Opportunity\
-
Case\
-
Campaign\
-
-
Locations (for example, meeting room) and Resources (for example, Projector) can also be associated to an Appointment. They can be configured in Administrator module, option "Locations ad Resources" and the possible values curently set are available through FieldOptions.
- Specifically about Locations, there is a concept of "Free Form Location", which can be created for a specific Appointment. By using a special Key (L@FREEFORM), you can specify a location name when creating an Appointment. That location will be available only within that particular Appointment.\
-
Appointments can be marked as Private (details are hidden for all users expect the owner). This is pretty similar to the behavior of a private Appointment you create in Microsoft Outlook.\
-
For now, there is no support for Recurring Appointments. Even though the product supports recurring appointments, the latest Octopus API version only supports one-time appointments.
HowTo's
Read - Appointments scheduled for this week
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": 1,
"Subject": 1,
"StartDate": 1,
"EndDate": 1,
"Organizer": {
"Uid": 1
},
"Users": [ // Set of users added to the appointment
{
"DisplayName": 1
}
],
"Description": 1,
"Location": {
"Name": 1
}
}
},
"Criteria": {
"SearchQuery": {
"StartDate": {
"$EQ": "$THISWEEK()" // Funclet to simplify search for current week
}
}
}
}
}
Read - Appointments scheduled for specific date range
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": 1,
"Subject": 1,
"StartDate": 1,
"EndDate": 1,
"Organizer": {
"Uid": 1
},
"Users": [ // Set of users added to the appointment
{
"DisplayName": 1
}
],
"Description": 1,
"Location": {
"Name": 1
}
}
},
"Criteria": {
"SearchQuery": {
"StartDate": {
"$RANGE": [ // Date range to search for
"2019-10-14",
"2019-10-21"
]
}
}
}
}
}
Read - Appointments with AbEntry as attendee
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": 1,
"StartDate": 1,
"EndDate": 1,
// Set of AbEntries that are attendees to the appointment
"AbEntries": [
{
"DisplayValue": 1
}
]
}
},
"Criteria": {
"SearchQuery": {
// filter all Appointments having these AbEntry Keys as attendees
"AbEntries/Key": {
"$IN": [
"QWJFbnRyeQlERU1PXzFDCTA=",
"QWJFbnRyeQlERU1PXzJDCTA="
]
}
},
"Top": 3
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Read - Appointments with Lead as attendee
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": 1,
"StartDate": 1,
"EndDate": 1,
// Set of Leads that are attendees to the appointment
"Leads": [
{
"DisplayValue": 1
}
]
}
},
"Criteria": {
"SearchQuery": {
// filter all Appointments having these Lead Keys as attendees
"Leads/Key": {
"$IN": [
"TGVhZAkyNDA0MjQwMDAwMDAwMDM5Mjc2OTVMRQkw",
"TGVhZAkyNDA0MDgwMDAwMDAwMDM4OTc3NDlMRQkw"
]
}
},
"Top": 3
}
}
}
Read - Appointments associated with Opportunity
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": 1,
"Subject": 1,
"StartDate": 1,
"EndDate": 1,
// Associated Opportunity
"With": {
"Opportunity": {
"Key": 1,
"Objective": 1
}
}
}
},
"Criteria": {
"SearchQuery": {
"WithKey": {
// Filter all appointments related to a specific Opportunity
"$EQ": "T3Bwb3J0dW5pdHkJT1BQX0RFTU9fMQkw"
}
},
"Top": 3
}
}
}
Read - Appointments using $PHRASE operator
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": {
"Id": 1,
"Value": 1
},
"Subject": 1,
"Description": 1,
"CreationDate": 1
}
},
"Criteria": {
//$PHRASE operator works on Subject and Description property
"SearchQuery": {
"$PHRASE": "Product"
},
"Top": 3
}
}
}
Create - Appointments with AbEntry as attendee
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"Appointment": {
"Data": {
"Key": null,
"Subject": "Business Opportunity",
"StartDate": "2024-07-22T05:00:00Z", // Mandatory
"EndDate": "2024-07-22T05:30:00Z",
// Provide all AbEntry keys you want to add as attendees to the Appointment
"AbEntries": [
"QWJFbnRyeQlERU1PXzFDCTA=",
"QWJFbnRyeQlERU1PXzJDCTA="
]
}
},
"Compatibility": {
"AbEntryKey": "2.0"
}
}
Create - Appointments with Lead as attendee
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"Appointment": {
"Data": {
"Key": null,
"Subject": "Business Opportunity",
"StartDate": "2024-07-22T05:00:00Z", // Mandatory
"EndDate": "2024-07-22T05:30:00Z",
// Provide all Lead keys you want to add as attendees to the Appointment
"Leads": [
"TGVhZAkyNDA0MjQwMDAwMDAwMDM5Mjc2OTVMRQkw",
"TGVhZAkyNDA0MDgwMDAwMDAwMDM4OTc3NDlMRQkw"
]
}
}
}
Create - Appointments associated with Opportunity
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"Appointment": {
"Data": {
"Key": null,
"Subject": "Business Opportunity",
"StartDate": "2024-07-22T05:00:00Z", // Mandatory
"EndDate": "2024-07-22T05:30:00Z",
// WithKey can refer to Opportunity, Case and Campaign
"WithKey": "T3Bwb3J0dW5pdHkJT1BQX0RFTU9fMQkw"
}
}
}
Metadata
Read Appointment metadata (simple)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Schema": {
"Scope": {
"Fields": 1
},
"Criteria": {
"SearchQuery": {
"Key": {
"$TREE": "/Appointment"
}
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Read Appointment metadata (more)
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Schema": {
"Scope": {
"Fields": {
"Key": 1,
"Alias": 1,
"Type": 1,
"Name": 1,
"AppliesTo": 1,
"Sortable": 1,
"Queryable": 1,
"Mandatory": 1,
"Attributes": 1,
"HasOption": 1,
"DisplayValue": 1
}
},
"Criteria": {
"SearchQuery": {
"Key": {
"$TREE": "/Appointment"
}
}
}
},
"Compatibility": {
"SchemaObject": "1.0"
}
}
Field Options
Read Appointment FieldOptions
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"FieldOptions": {
"InteractionCategory": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Subject": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Priority": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Users": [
{
"Key": 1,
"DisplayValue": 1
}
],
// Does NOT include "free form" locations
"Location": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Resources": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Result": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Category": [
{
"Key": 1,
"DisplayValue": 1
}
],
"Product": [
{
"Key": 1,
"DisplayValue": 1
}
]
}
}
}
Appointment CRUD
Create - Appointment
// POST https://api.maximizer.com/octopus/Create
// Authorization: Bearer <token>
{
"Appointment": {
"Data": {
"Key": null,
"Subject": "Business Opportunity",
"StartDate": "2024-07-22T05:00:00Z", // Mandatory
"EndDate": "2024-07-22T05:30:00Z",
"Users": [ // Set of users added to the appointment
"VXNlcglNQVNURVI="
],
"Private": true,
"Description": "Call to discuss proposal for new business",
// To create a "free form" location dynamically: use "Key" = "L@FREEFORM" and provide a name
// Or use any pre-defined location created through the Administrator module (option "Locations and Resources")
"Location": {
"Name": "Meeting Room 1",
"Key": {
"Uid": "L@FREEFORM"
}
},
// Or use any pre-defined resource created through the Administrator module (option "Locations and Resources")
"Resources": [
"UmVzb3VyY2UJUkVTREZMVDE=",
"UmVzb3VyY2UJUkVTREZMVDI="
]
}
}
}
Read - Appointment
// POST https://api.maximizer.com/octopus/Read
// Authorization: Bearer <token>
{
"Appointment": {
"Scope": {
"Fields": {
"Key": 1,
"Subject": 1,
"StartDate": 1,
"EndDate": 1,
"Private": 1,
"Organizer": {
"Uid": 1
},
"Users": [ // Set of users added to the appointment
{
"DisplayName": 1
}
],
"Description": 1,
"Location": {
"Key": 1,
"Name": 1
},
"Resources": [
{
"Key": 1,
"Name": 1
}
]
}
},
"Criteria": {
"SearchQuery": {},
"Top": 3
}
}
}
Update - Appointment
// POST https://api.maximizer.com/octopus/Update
// Authorization: Bearer <token>
{
"Appointment": {
"Data": {
"Key": "QXBwb2ludG1lbnQJMjIwNzEzMDAyNTgwNzcyMjM4MTY5UAkwCUpOQVBPTEk=", // Mandatory
"Subject": "Economy Updates",
"Description": "Discussion about updates in economy outlooks",
"StartDate": "2022-01-15",
"EndDate": "2022-01-16"
}
}
}
Delete - Appointment
// POST https://api.maximizer.com/octopus/Delete
// Authorization: Bearer <token>
{
"Appointment": {
"Data": {
"Key": "QXBwb2ludG1lbnQJMjIwNzEzMDAyNTgwNzcyMjM4MTY5UAkwCUpOQVBPTEk=" // Mandatory
}
}
}