Organization sidebar

The app is displayed in the apps tray on the right side of the organization profile page in the agent interface.

Example manifest

"location": {
  "support": {
    "organization_sidebar": "assets/iframe.html"
  }
},

See Setting the app location.

In addition to the objects available in all locations, the following objects are available in this location:

Events

In addition to the core events, you can use the following events to listen for changes to the organization's data:

  • organization.details.changed
  • organization.domains.changed
  • organization.externalId.changed
  • organization.group.changed
  • organization.name.changed
  • organization.notes.changed
  • organization.sharedTickets.changed
  • organization.sharedComments.changed
  • organization.tags.changed
  • organization.[custom_field_key].changed

The organization.name.changed event fires when the organization's name in the organization page changes.

For custom fields, replace [custom_field_key] with the custom field's key attribute. Use the Organization Fields REST API to get a list of possible key values.

Note: Currently, if another user changes a property in a separate window, the event will not be picked up.

To add event listeners to your app, see Working with framework events.

Organization object

organization
get
client.get('organization')
returns
{
  "organization": {
    // Organization properties
  }
}

Properties

organization.customField:fieldName

The organization custom field value as its defined type. Replace fieldName with the custom field's key attribute. Use the Organization Fields REST API to get a list of possible key values.

get
client.get('organization.customField:fieldName') // e.g. client.get('organization.customField:my_text_field')
set
client.set('organization.customField:fieldName', value) // e.g. client.set('organization.customField:my_text_field', 'Oh hay!')
returns
{
  "organization.customField:fieldName": string
}
organization.details
get
client.get('organization.details')
set
client.set('organization.details', value)
returns
{
  "organization.details": string
}
organization.domains
get
client.get('organization.domains')
set
client.set('organization.domains', value)
returns
{
  "organization.domains": string
}
organization.externalId
get
client.get('organization.externalId')
set
client.set('organization.externalId', value)
returns
{
  "organization.externalId": string
}
organization.group
get
client.get('organization.group')
returns
{
  "organization.group": {
    //Group object properties
  }
}

See Group object properties.

organization.id
get
client.get('organization.id')
returns
{
  "organization.id": integer
}
organization.name
get
client.get('organization.name')
returns
{
  "organization.name": string
}
organization.notes
get
client.get('organization.notes')
set
client.set('organization.notes', value)
returns
{
  "organization.notes": string
}
organization.sharedComments
get
client.get('organization.sharedComments')
returns
{
  "organization.sharedComments": boolean
}
organization.sharedTickets
get
client.get('organization.sharedTickets')
returns
{
  "organization.sharedTickets": boolean
}
organization.tags
get
client.get('organization.tags')
returns
{
  "organization.tags": [
    // string
  ]
}

Organization Profile Page Field object

organizationFields

Returns either the named organization field as an Organization Profile Page Field object, or all available organization fields if you don't specify a name.

Here are the names of the organization fields available:

  • tags
  • domains
  • group_id
  • shared_tickets
  • shared_comments
  • details
  • notes
  • {organization_field_key}

For custom fields, replace {organization_field_key} with the custom field's key attribute. Use the Organization Fields REST API to get a list of possible key values.

get
client.get('organizationFields')
returns
{
  "organizationFields": [{
    // Organization Profile Page Field object properties
  }]
}

or

get
client.get('organizationFields:fieldName') // e.g. client.get('organizationFields:my_text_field')
returns
{
  "organizationFields:fieldName": {
    // Organization Profile Page Field object properties
  }
}

You can also access individual fields by their zero-indexed order.

get
client.get('organizationFields.0')
returns
{
  "organizationFields.0": {
    // Organization Profile Page Field object properties
  }
}

Properties

Actions

organizationField.name
get
client.get('organizationField:fieldName.name')
returns
{
  "organizationField:fieldName.name": string
}
organizationField.isVisible
get
client.get('organizationField:fieldName.isVisible')
returns
{
  "organizationField:fieldName.isVisible": boolean
}
organizationField.options
get
client.get('organizationField:fieldName.options')
returns
{
  "organizationField:fieldName.options": [{
    // Organization Profile Page Field Option object properties
  }]
}

See Organization Profile Page Field Option object properties.

organizationField.hide
invoke
client.invoke('organizationFields:fieldName.hide')
organizationField.show
invoke
client.invoke('organizationFields:fieldName.show')
organizationField.toggle
invoke
client.invoke('organizationFields:fieldName.toggle')

Organization Profile Page Field Option object

fieldName.options

Returns all the options of a dropdown field in the profile page. Only applicable to dropdown fields.

See Organization Profile Page Field object.

get
client.get('organizationFields:fieldName.options') // e.g. client.get('organizationFields:group.options')
returns
{
  "organizationFields:fieldName.options": [{
    // Organization Profile Page Field Option properties
  }]
}

You can access individual fields by their zero-indexed order.

get
client.get('organizationFields:fieldName.options.0')  // e.g. client.get('organizationFields:group.options.0')
returns
{
  "organizationFields:fieldName.options.0": {
    // Organization Profile Page Field Option properties
  }
}

Properties

organizationFieldOption.label
get
client.get('organizationField:fieldName.options.0.label')
returns
{
  "organizationField:fieldName.options.0.label": string
}
organizationFieldOption.value
get
client.get('organizationField:fieldName.options.0.value')
returns
{
  "organizationField:fieldName.options.0.value": string
}