Group: Get Node

Get Experience Group Node

The Group: Get Node allows a workflow to retrieve one or more Experience Groups from the current application and add them to the current workflow payload.

Node Properties

Get Experience Group Node Configuration

Query Method

The first step is selecting a query method to use to find a group or group of groups. The Device: Get Node has four query options:

  • Group ID: Give a template or hardcoded Experience Group ID input to retrieve that group and place the group on the payload.
  • Group Name: Give a template or a hardcoded Experience Group name as input to retrieve a specific group, and put that value on the payload.
  • Match All Tags Query: Give a set specific tag key/value pairs to retrieve one or more groups. Any group(s) returned will match all tags in the query. The key/value can be hardcoded or derived from a property on the current payload.

    You may also query by key only or value only. If a key is set without a value, any device that has that key set regardless of the value will be returned. If a value is set without a key, any device that has that value set regardless of the key will be returned.

  • Match Any Tags Query: Give a set specific tag key/value pairs to retrieve one or more groups. Any group(s) returned will match any tags in the query. The key/value can be hardcoded or derived from a property on the current payload.

    You may also query by key only or value only. If a key is set without a value, any device that has that key set regardless of the value will be returned. If a value is set without a key, any device that has that value set regardless of the key will be returned.

  • Advanced Query: You can also form an advanced query to allow more complex group matching than the above methods.

Configuration

Depending on the query method selected, you will be able to input a specific Group ID, Group Name, or the tag key/value pairs to find a group or group of groups.

Results Configuration

For each query method aside from Group ID an extra set of properties will appear beside the tags input:

  • Return multiple experience groups?: If you want to return multiple groups from this query, check this box. This also alters the return type of the result. If this is checked and nothing is found, an empty array will be returned instead of null. If this is checked and one or more groups have been found they will be returned as an array.
  • Results Per Page: This templatable input is the maximum number of groups to return with one query. The max number of groups that can be returned at once is 1000. The default is 100.
  • Page Number: This is a templatable input that resolves to a number. This number must be greater than 0, and the default is 0. This defines the number of results to skip by multiplying this number by the Results per Page field.
  • Sort Field: This is the field on the group to sort the results by. By default, this field is name. The following are the valid sort fields: name, id, creationDate or lastUpdated.
  • Sort Direction: This is the field that tells the sort field which direction to sort in. By default, this field is Ascending.

NOTE: Sorting options affect the result — even when returning a single group.

  • Metadata: You will also have the option to return metadata in addition to the queried groups.

    • Return just an array of results - The Group: Get Node’s result will be an array of groups.
    • Return an object containing metadata along with results - The Group: Get Node’s result will be an object with keys for metadata properties in addition to an array of groups in the items key.

An example of the Group: Get Node’s metadata can be found in the Node Example.

Result Path

Get Experience Group Node Result

Result path is required, and is the location on your payload where the results of the query will be placed.

Node Example

The following is an example of retrieving one group with a result path of groupResult:

{
  "data": {
    "query": {
      "name": "myGroup"
      ...
    },
    "groupResult": {
      "name": "myGroup",
      "description": "I'm a group",
      "creationDate": "2017-03-30T00:18:23.902Z",
      "lastUpdated": "2017-03-30T00:18:59.019Z",
      "applicationId": "58dc4ec29e8df60001fbea01",
      "groupTags": [{
        "key": "myKey", "value": "val"
      }],
      "deviceIds": [ "58dc4ec29e8df60001fbea02" ],
      "parentId": null
    }
  },
  ...
}

If querying for multiple groups with metadata, the result will look like the following:

{
  "working": {
    "userResult": {
      "count": 100, // The number of groups returned
      "tagQuery": { ... }, // The query used to find groups
      "findMethod": "findByAllTags", // The selected find method
      "perPage": 100,
      "page": 0,
      "totalCount": 193, // The number of groups matched by the query
      "sortField": "creationDate",
      "sortDirection": "desc",
      "items": [ ... ] // The resulting events from the query
    }
  },
  ...
}

Was this page helpful?


Still looking for help? You can also search the Losant Forums or submit your question there.