Bonusly

Overview

Bonus.ly is an employee recognition platform which enterprises use to for employee recognition. We're building tools to help people feel a sense of purpose and progress at work. The platform which also has an API enables employees to recognize each other by providing a point based bonus system. Bonus.ly helps your employees feel connected, engaged, and aligned is mission critical right now. Bonusly makes employee recognition easy and fun, fostering community and creating company-wide alignment. It also provides employees with positive feedback in the work that they are doing.

Use Cases

-Automate a bonus.ly when an employee completes an incident within the SLA time period. -Allow for command line bonus.ly recognitions -Commands for bonuses like create, retrieve, update, delete

Configure Bonusly on Cortex XSOAR

  1. Navigate to Settings > Integrations > Servers & Services.
  2. Search for Bonusly.
  3. Click Add instance to create and configure a new integration instance.
ParameterDescriptionRequired
urlServer URL (e.g. https://bonus.ly/api/v1/ )True
api_keyAPI KeyTrue
incidentTypeIncident typeFalse
insecureTrust any certificate (not secure)False
proxyUse system proxy settingsFalse
application_nameEnter the name of the specific bonusly application if required.False
limitLimit the number of bonuses to fetch (Default 20)False
user_emailFilter to receive only bonuses that match either a giver or receiver with this email. (person@somewhere.com)False
hashtagFilter based on a hashtag like %23teamworkFalse
fetch_timeStart fetching from X days ago (defaults to 1 day)False
isFetchFetch incidentsFalse
  1. Click Test to validate the URLs, token, and connection.

Commands

You can execute these commands from the Demisto CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.

bonusly-list-bonuses


Get a list of bonuses based on a filter

Base Command

bonusly-list-bonuses

Input

Argument NameDescriptionRequired
limitNumber of bonuses to retrieve (min: 1, max: 100) Default: 20.Optional
start-timeExample: 2015-10-28T21:26:50ZOptional
end-timeExample: 2015-10-28T21:26:50ZOptional
giver-emailFilter by email address of the person giving the bonuslyOptional
receiver-emailFilter by email address of the person receiving the bonuslyOptional
user-emailFilter to retrieve bonuses that have either giver or reciever with this emailOptional
hashtagFilter to get a list of bonusers by a hashtag Example: %23teamworkOptional
include-childrenIncludes any children responses to the bonuslyOptional
show-private-bonusesIf Admin API key you can list private bonusesOptional

Context Output

PathTypeDescription
Bonusly.Bonus.idStringID of the bonusly bonus and can be used to gather further information on the bonus
Bonusly.Bonus.created_atDateDate created IE: 2015-10-28T21:26:50Z
Bonusly.Bonus.reasonStringDescription of bonus given like For signing up for the world's favorite employee recognition solution! #problem-solving
Bonusly.Bonus.reason_htmlStringHTML representation of the bonus
Bonusly.Bonus.amountNumberNumber amount of the bonus
Bonusly.Bonus.amount_with_currencyStringAmount with the points of the bonus
Bonusly.Bonus.valueStringA hash tag like #problem-solving
Bonusly.Bonus.giver.idStringID of the person giving the bonus
Bonusly.Bonus.giver.short_nameStringPersons short name who gave the bonus
Bonusly.Bonus.giver.display_nameStringDisplay name for who gave the bonus
Bonusly.Bonus.giver.usernameStringUsername for who gave the bonus
Bonusly.Bonus.giver.emailStringEmail of the person who gave the bonus
Bonusly.Bonus.giver.pathStringURL path for who gave the bonus
Bonusly.Bonus.giver.full_pic_urlStringFull picture URL for who gave the bonus
Bonusly.Bonus.giver.profile_pic_urlStringProfile Picture of the person who gave the bonus
Bonusly.Bonus.giver.first_nameStringFirst name for the giver of the bonus
Bonusly.Bonus.giver.last_nameStringLast name for the giver of the bonus
Bonusly.Bonus.giver.last_active_atUnknownLast time giver was active when available
Bonusly.Bonus.giver.external_unique_idStringUnique ID for the giver externally
Bonusly.Bonus.giver.budget_boostNumberWhether there is a boost given for the bonus
Bonusly.Bonus.giver.user_modeStringMode of the giver user
Bonusly.Bonus.giver.countryStringCountry of where the giver resides
Bonusly.Bonus.giver.time_zoneStringTimezone for the giver America/Los_Angeles
Bonusly.Bonus.giver.custom_property_nameStringAny custom properties given
Bonusly.Bonus.giver.can_giveNumberWhether the giver can give
Bonusly.Bonus.giver.earning_balanceNumberBalance earning available
Bonusly.Bonus.giver.earning_balance_with_currencyStringEarning balance with currency
Bonusly.Bonus.giver.lifetime_earningsNumberLifetime earnings of giver overall
Bonusly.Bonus.giver.lifetime_earnings_with_currencyStringLifetime earnings of giver with currency
Bonusly.Bonus.giver.can_receiveNumberWether giver can receive or not
Bonusly.Bonus.giver.giving_balanceNumberNumber of balance available to give
Bonusly.Bonus.giver.giving_balance_with_currencyStringCurrency or points of giver balance
Bonusly.Bonus.giver.statusStringStatus like archived
Bonusly.Bonus.receiverUnknownUnknown
Bonusly.Bonus.child_countNumberCound of the child add on bonuses
Bonusly.Bonus.viaStringWhere the bonus came from like web etc
Bonusly.Bonus.family_amountNumberAmount family has

Command Example

!bonusly-list-bonuses limit="20"

Context Example

{
"Bonusly": {
"Bonus": [
{
"id": "24abcdef1234567890abcdef",
"created_at": "2015-10-28T21:26:50Z",
"reason": "For signing up for the world's favorite employee recognition solution! #problem-solving",
"reason_html": "For signing up for the world&#39;s favorite employee-recognition solution! <a class=\"hashtag\" href=\"http://bonus.ly/company/hashtags/problem-solving\">#problem-solving</a>",
"amount": 50,
"amount_with_currency": "50 points",
"value": "#problem-solving",
"giver": {
"id": "24abcdef1234567890abcdef",
"short_name": "Bill",
"display_name": "Bill",
"username": "blumbergh",
"email": "blumbergh@initech56313d8f1ba2397878000004.com",
"path": "/company/users/56313d971ba23978780000c6",
"full_pic_url": "http://bonus.ly/avatar/blumbergh.png",
"profile_pic_url": "http://bonus.ly/avatar/blumbergh.png",
"first_name": "Bill",
"last_name": "Lumbergh",
"last_active_at": null,
"external_unique_id": "foo",
"budget_boost": 0,
"user_mode": "normal",
"country": "US",
"time_zone": "America/Los_Angeles",
"*custom_property_name*": "*custom_property_value*",
"can_give": true,
"earning_balance": 80,
"earning_balance_with_currency": "80 points",
"lifetime_earnings": 80,
"lifetime_earnings_with_currency": "80 points",
"can_receive": true,
"giving_balance": 42,
"giving_balance_with_currency": "42 points",
"status": "archived"
},
"receiver": null,
"child_count": 42,
"child_bonuses": [
{}
],
"via": "web",
"family_amount": 42
}
]
}
}

Human Readable Output

Latest Updates From Bonus.ly

amountamount_with_currencychild_bonusescreated_ateditable_untilfamily_amountgiverhashtagidparent_bonus_idreasonreason_decodedreason_htmlreceiverreceiversvaluevia

bonusly-create-bonus


Creates a bonusly bonus

Base Command

bonusly-create-bonus

Input

Argument NameDescriptionRequired
giver-emailThe email address of the person giving the bonus like myemail@email.comRequired
reason
+10 @george and @john for #execution with that customer #collaboration with the team, and #integrity on the known vulnerabilities to the application.

+10 @francesco because he is fast and detailed
Required
parent-bonus-idAllows you to associate to a parent bonus based on what you have created before. Example: 24abcdef1234567890abcdefOptional

Context Output

PathTypeDescription
Bonusly.Bonus.idStringID of the bonusly bonus and can be used to gather further information on the bonus
Bonusly.Bonus.created_atDateDate created IE: 2015-10-28T21:26:50Z
Bonusly.Bonus.reasonStringDescription of bonus given like For signing up for the world's favorite employee recognition solution! #problem-solving
Bonusly.Bonus.reason_htmlStringHTML representation of the bonus
Bonusly.Bonus.amountNumberNumber amount of the bonus
Bonusly.Bonus.amount_with_currencyStringAmount with the points of the bonus
Bonusly.Bonus.valueStringA hash tag like #problem-solving
Bonusly.Bonus.giver.idStringID of the person giving the bonus
Bonusly.Bonus.giver.short_nameStringPersons short name who gave the bonus
Bonusly.Bonus.giver.display_nameStringDisplay name for who gave the bonus
Bonusly.Bonus.giver.usernameStringUsername for who gave the bonus
Bonusly.Bonus.giver.emailStringEmail of the person who gave the bonus
Bonusly.Bonus.giver.pathStringURL path for who gave the bonus
Bonusly.Bonus.giver.full_pic_urlStringFull picture URL for who gave the bonus
Bonusly.Bonus.giver.profile_pic_urlStringProfile Picture of the person who gave the bonus
Bonusly.Bonus.giver.first_nameStringFirst name for the giver of the bonus
Bonusly.Bonus.giver.last_nameStringLast name for the giver of the bonus
Bonusly.Bonus.giver.last_active_atUnknownLast time giver was active when available
Bonusly.Bonus.giver.external_unique_idStringUnique ID for the giver externally
Bonusly.Bonus.giver.budget_boostNumberWhether there is a boost given for the bonus
Bonusly.Bonus.giver.user_modeStringMode of the giver user
Bonusly.Bonus.giver.countryStringCountry of where the giver resides
Bonusly.Bonus.giver.time_zoneStringTimezone for the giver America/Los_Angeles
Bonusly.Bonus.giver.custom_property_nameStringAny custom properties given
Bonusly.Bonus.giver.can_giveNumberWhether the giver can give
Bonusly.Bonus.giver.earning_balanceNumberBalance earning available
Bonusly.Bonus.giver.earning_balance_with_currencyStringEarning balance with currency
Bonusly.Bonus.giver.lifetime_earningsNumberLifetime earnings of giver overall
Bonusly.Bonus.giver.lifetime_earnings_with_currencyStringLifetime earnings of giver with currency
Bonusly.Bonus.giver.can_receiveNumberWether giver can receive or not
Bonusly.Bonus.giver.giving_balanceNumberNumber of balance available to give
Bonusly.Bonus.giver.giving_balance_with_currencyStringCurrency or points of giver balance
Bonusly.Bonus.giver.statusStringStatus like archived
Bonusly.Bonus.receiverUnknownUnknown
Bonusly.Bonus.child_countNumberCound of the child add on bonuses
Bonusly.Bonus.viaStringWhere the bonus came from like web etc
Bonusly.Bonus.family_amountNumberAmount family has

Command Example

bonusly-get-bonus id="5ec263bb0e519c009a1ec0db"

Human Readable Output

bonusly-get-bonus


Get a bonusly based on an ID

Base Command

bonusly-get-bonus

Input

Argument NameDescriptionRequired
idId of bonus that you want to fetchRequired

Context Output

PathTypeDescription
Bonusly.Bonus.idStringID of the bonusly bonus and can be used to gather further information on the bonus
Bonusly.Bonus.created_atDateDate created IE: 2015-10-28T21:26:50Z
Bonusly.Bonus.reasonStringDescription of bonus given like For signing up for the world's favorite employee recognition solution! #problem-solving
Bonusly.Bonus.reason_htmlStringHTML representation of the bonus
Bonusly.Bonus.amountNumberNumber amount of the bonus
Bonusly.Bonus.amount_with_currencyStringAmount with the points of the bonus
Bonusly.Bonus.valueStringA hash tag like #problem-solving
Bonusly.Bonus.giver.idStringID of the person giving the bonus
Bonusly.Bonus.giver.short_nameStringPersons short name who gave the bonus
Bonusly.Bonus.giver.display_nameStringDisplay name for who gave the bonus
Bonusly.Bonus.giver.usernameStringUsername for who gave the bonus
Bonusly.Bonus.giver.emailStringEmail of the person who gave the bonus
Bonusly.Bonus.giver.pathStringURL path for who gave the bonus
Bonusly.Bonus.giver.full_pic_urlStringFull picture URL for who gave the bonus
Bonusly.Bonus.giver.profile_pic_urlStringProfile Picture of the person who gave the bonus
Bonusly.Bonus.giver.first_nameStringFirst name for the giver of the bonus
Bonusly.Bonus.giver.last_nameStringLast name for the giver of the bonus
Bonusly.Bonus.giver.last_active_atUnknownLast time giver was active when available
Bonusly.Bonus.giver.external_unique_idStringUnique ID for the giver externally
Bonusly.Bonus.giver.budget_boostNumberWhether there is a boost given for the bonus
Bonusly.Bonus.giver.user_modeStringMode of the giver user
Bonusly.Bonus.giver.countryStringCountry of where the giver resides
Bonusly.Bonus.giver.time_zoneStringTimezone for the giver America/Los_Angeles
Bonusly.Bonus.giver.custom_property_nameStringAny custom properties given
Bonusly.Bonus.giver.can_giveNumberWhether the giver can give
Bonusly.Bonus.giver.earning_balanceNumberBalance earning available
Bonusly.Bonus.giver.earning_balance_with_currencyStringEarning balance with currency
Bonusly.Bonus.giver.lifetime_earningsNumberLifetime earnings of giver overall
Bonusly.Bonus.giver.lifetime_earnings_with_currencyStringLifetime earnings of giver with currency
Bonusly.Bonus.giver.can_receiveNumberWether giver can receive or not
Bonusly.Bonus.giver.giving_balanceNumberNumber of balance available to give
Bonusly.Bonus.giver.giving_balance_with_currencyStringCurrency or points of giver balance
Bonusly.Bonus.giver.statusStringStatus like archived
Bonusly.Bonus.receiverUnknownUnknown
Bonusly.Bonus.child_countNumberCound of the child add on bonuses
Bonusly.Bonus.viaStringWhere the bonus came from like web etc
Bonusly.Bonus.family_amountNumberAmount family has

Command Example

!bonusly-get-bonus id="24abcdef1234567890abcdef"

Context Example

{
"Bonusly": {
"Bonus": {
"id": "24abcdef1234567890abcdef",
"created_at": "2015-10-28T21:26:50Z",
"reason": "For signing up for the world's favorite employee recognition solution! #problem-solving",
"reason_html": "For signing up for the world&#39;s favorite employee recognition solution! <a class=\"hashtag\" href=\"http://bonus.ly/company/hashtags/problem-solving\">#problem-solving</a>",
"amount": 50,
"amount_with_currency": "50 points",
"value": "#problem-solving",
"giver": {
"id": "24abcdef1234567890abcdef",
"short_name": "Bill",
"display_name": "Bill",
"username": "blumbergh",
"email": "blumbergh@initech56313d8f1ba2397878000004.com",
"path": "/company/users/56313d971ba23978780000c6",
"full_pic_url": "http://bonus.ly/avatar/blumbergh.png",
"profile_pic_url": "http://bonus.ly/avatar/blumbergh.png",
"first_name": "Bill",
"last_name": "Lumbergh",
"last_active_at": null,
"external_unique_id": "foo",
"budget_boost": 0,
"user_mode": "normal",
"country": "US",
"time_zone": "America/Los_Angeles",
"*custom_property_name*": "*custom_property_value*",
"can_give": true,
"earning_balance": 80,
"earning_balance_with_currency": "80 points",
"lifetime_earnings": 80,
"lifetime_earnings_with_currency": "80 points",
"can_receive": true,
"giving_balance": 42,
"giving_balance_with_currency": "42 points",
"status": "archived"
},
"receiver": null,
"child_count": 42,
"child_bonuses": [
{}
],
"via": "web",
"family_amount": 42
}
}
}

Human Readable Output

Latest Updates From Bonus.ly

amountamount_with_currencychild_countcreated_ateditable_untilfamily_amountgiverhashtagidparent_bonus_idreasonreason_decodedreason_htmlreceiverreceiversvaluevia
---------------------------------------------------

bonusly-update-bonus


Update a bonus to bonusly

Base Command

bonusly-update-bonus

Input

Argument NameDescriptionRequired
idId to updateRequired
reasonExample +10 @francesco @bumblebee for #integrity #collaboration #executionRequired

Context Output

PathTypeDescription
Bonusly.Bonus.idStringID of the bonusly bonus and can be used to gather further information on the bonus
Bonusly.Bonus.created_atDateDate created IE: 2015-10-28T21:26:50Z
Bonusly.Bonus.reasonStringDescription of bonus given like For signing up for the world's favorite employee recognition solution! #problem-solving
Bonusly.Bonus.reason_htmlStringHTML representation of the bonus
Bonusly.Bonus.amountNumberNumber amount of the bonus
Bonusly.Bonus.amount_with_currencyStringAmount with the points of the bonus
Bonusly.Bonus.valueStringA hash tag like #problem-solving
Bonusly.Bonus.giver.idStringID of the person giving the bonus
Bonusly.Bonus.giver.short_nameStringPersons short name who gave the bonus
Bonusly.Bonus.giver.display_nameStringDisplay name for who gave the bonus
Bonusly.Bonus.giver.usernameStringUsername for who gave the bonus
Bonusly.Bonus.giver.emailStringEmail of the person who gave the bonus
Bonusly.Bonus.giver.pathStringURL path for who gave the bonus
Bonusly.Bonus.giver.full_pic_urlStringFull picture URL for who gave the bonus
Bonusly.Bonus.giver.profile_pic_urlStringProfile Picture of the person who gave the bonus
Bonusly.Bonus.giver.first_nameStringFirst name for the giver of the bonus
Bonusly.Bonus.giver.last_nameStringLast name for the giver of the bonus
Bonusly.Bonus.giver.last_active_atUnknownLast time giver was active when available
Bonusly.Bonus.giver.external_unique_idStringUnique ID for the giver externally
Bonusly.Bonus.giver.budget_boostNumberWhether there is a boost given for the bonus
Bonusly.Bonus.giver.user_modeStringMode of the giver user
Bonusly.Bonus.giver.countryStringCountry of where the giver resides
Bonusly.Bonus.giver.time_zoneStringTimezone for the giver America/Los_Angeles
Bonusly.Bonus.giver.custom_property_nameStringAny custom properties given
Bonusly.Bonus.giver.can_giveNumberWhether the giver can give
Bonusly.Bonus.giver.earning_balanceNumberBalance earning available
Bonusly.Bonus.giver.earning_balance_with_currencyStringEarning balance with currency
Bonusly.Bonus.giver.lifetime_earningsNumberLifetime earnings of giver overall
Bonusly.Bonus.giver.lifetime_earnings_with_currencyStringLifetime earnings of giver with currency
Bonusly.Bonus.giver.can_receiveNumberWether giver can receive or not
Bonusly.Bonus.giver.giving_balanceNumberNumber of balance available to give
Bonusly.Bonus.giver.giving_balance_with_currencyStringCurrency or points of giver balance
Bonusly.Bonus.giver.statusStringStatus like archived
Bonusly.Bonus.receiverUnknownUnknown
Bonusly.Bonus.child_countNumberCound of the child add on bonuses
Bonusly.Bonus.viaStringWhere the bonus came from like web etc
Bonusly.Bonus.family_amountNumberAmount family has

Command Example

!bonusly-update-bonus id="5ec279591160850099b1ae3c" reason="Removing old archive"

Human Readable Output

amountamount_with_currencychild_countcreated_ateditable_untilfamily_amountgiverhashtagidparent_bonus_idreasonreason_decodedreason_htmlreceiverreceiversvaluevia
---------------------------------------------------

Context Example

{
"Bonusly": {
"Bonus": {
"id": "24abcdef1234567890abcdef",
"created_at": "2015-10-28T21:26:50Z",
"reason": "For signing up for the world's favorite employee recognition solution! #problem-solving",
"reason_html": "For signing up for the world&#39;s favorite employee recognition solution! <a class=\"hashtag\" href=\"http://bonus.ly/company/hashtags/problem-solving\">#problem-solving</a>",
"amount": 50,
"amount_with_currency": "50 points",
"value": "#problem-solving",
"giver": {
"id": "24abcdef1234567890abcdef",
"short_name": "Bill",
"display_name": "Bill",
"username": "blumbergh",
"email": "blumbergh@initech56313d8f1ba2397878000004.com",
"path": "/company/users/56313d971ba23978780000c6",
"full_pic_url": "http://bonus.ly/avatar/blumbergh.png",
"profile_pic_url": "http://bonus.ly/avatar/blumbergh.png",
"first_name": "Bill",
"last_name": "Lumbergh",
"last_active_at": null,
"external_unique_id": "foo",
"budget_boost": 0,
"user_mode": "normal",
"country": "US",
"time_zone": "America/Los_Angeles",
"*custom_property_name*": "*custom_property_value*",
"can_give": true,
"earning_balance": 80,
"earning_balance_with_currency": "80 points",
"lifetime_earnings": 80,
"lifetime_earnings_with_currency": "80 points",
"can_receive": true,
"giving_balance": 42,
"giving_balance_with_currency": "42 points",
"status": "archived"
},
"receiver": null,
"child_count": 42,
"child_bonuses": [
{}
],
"via": "web",
"family_amount": 42
}
}
}

bonusly-delete-bonus


Delete a bonus based on an ID like 24abcdef1234567890abcdef

Base Command

bonusly-delete-bonus

Input

Argument NameDescriptionRequired
idDelete a bonus based on an ID like 24abcdef1234567890abcdefRequired

Context Output

PathTypeDescription
Bonusly.Bonus.messageUnknownMessage of result if deleted successfully

Command Example

!bonusly-delete-bonus id="5ec279591160850099b1ae3c"

Human Readable Output

Latest Updates From Bonus.ly No entries.

Context Example

{
"Bonusly": {
"Bonus": {
"message": "No entries"
}
}
}

=======

Bonusly

Bonus.ly is an employee recognition platform which enterprises use to for employee recognition. We're building tools to help people feel a sense of purpose and progress at work. The platform which also has an API enables employees to recognize each other by providing a point based bonus system. Bonus.ly helps your employees feel connected, engaged, and aligned is mission critical right now. Bonusly makes employee recognition easy and fun, fostering community and creating company-wide alignment. It also provides employees with positive feedback in the work that they are doing.