VoiceBot Learning Question
- 12 Jul 2022
- 8 Minutes to read
- Print
- DarkLight
VoiceBot Learning Question
- Updated on 12 Jul 2022
- 8 Minutes to read
- Print
- DarkLight
Article summary
Did you find this summary helpful?
Thank you for your feedback
Voicebot Learning Question
Voicebot Learning Questions
- Voicebot Learning Questions ManageGET voicebot/voicebotLearningQuestions/{id}
- Get a single Voicebot Learning QuestionGET voicebot/voicebots/{id}/voicebotLearningQuestions
- Get the list of Voicebot Learning QuestionsPOST voicebot/voicebotLearningQuestions
- Create a new Voicebot Learning QuestionDELETE voicebot/voicebotLearningQuestions/{id}
- Remove the Voicebot Learning Question
Voicebot Learning Question JSON Format
Voicebot Learning Question is represented as simple flat JSON objects with the following keys:
Name | Type | Description |
---|---|---|
topScoreIntentId | guid | Id of the matched intent. |
voicebotId | guid | Id of the voicebot. |
id | guid | Id of the learning. |
createdTime | datetime | Time when the question was asked. |
type | enum | Allowed values are noAnswer , manual . |
topScore | float | The topScore is matching the highest score of intent. |
question | string | Visitor question. |
topScoreIntent | topScoreIntent | Reference to VoiceBot Intent. |
Get a single Voicebot Learning Question
GET voicebot/voicebotLearningQuestions/{id}
Parameters:
Name | Type | in | Required | Description |
---|---|---|---|---|
include | string | query | no | Allowed value is voicebotIntent . |
Response:
Example
Sample Request:
curl https://api11.comm100.io/v4/voicebot/voicebotLearningQuestions/e4fa2af5-a749-48d3-a870-e0c137fd4319 \
-X 'GET' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 200 OK
{
"topScoreIntentId": "",
"voicebotId": "",
"id": "e4fa2af5-a749-48d3-a870-e0c137fd4319",
"createdTime": "",
"type": "",
"topScore": 1,
"question": "",
"topScoreIntent": {
"id": "3bc9ea5a-5739-4b1e-813d-fb2794fb4433",
"name": "",
"voicebotIntentCategoryId": "",
"voicebotResponseId": "",
"voicebotIntentQuestions": [
{
"id": "5b8d5c3a-2f16-4c9f-bfb6-4767d7b0db8a",
"content": "",
"intentId": "",
"order": 1,
"voicebotIntentQuestionKeywords": [
{
"id": "b9a501fa-9bc0-48be-8dfa-43c6ba15f94d",
"intentQuestionId": "",
"variableName": "",
"startPosition": 1,
"endPosition": 1,
"ifPrebuiltEntity": true,
"prebuiltEntityId": "",
"entityId": "",
"prebuiltEntity": {
"dialogflowEntityId": "376B93B1-C148-EB11-8100-00155D081D0B",
"id": "386B93B1-C148-EB11-8100-00155D081D0B",
"name": "entity",
"description": "description",
"example": [
"entity1",
"entity2"
],
"languageCode": "en"
},
"entity": {
"id": "a1e714d7-4507-4879-b9d7-b5efb1643a49",
"voicebotId": "",
"name": "",
"voicebotEntityKeywords": [
{
"id": "eefe4538-bec3-47ef-89ea-879b59a16941",
"keyword": "",
"synonyms": [
""
],
"entityId": ""
}
]
}
}
]
}
],
"voicebotIntentCategory": {
"id": "44e7f26e-c5c0-4a80-a5cc-153a81b44ed9",
"voicebotId": "",
"name": "",
"order": 1,
"parentId": ""
},
"voicebotIntentSyncStatus": {
"dialogFlowId": "",
"count": 1,
"status": 1,
"parentId": ""
},
"voicebotIntentPrompts": [
{
"question": "",
"options": [
""
],
"entityId": "",
"id": "7396de03-33b3-4358-be0c-5c1b243d6950",
"prebuiltEntityId": "",
"mappingFieldName": "",
"variableName": "",
"ifPrebuiltEntity": true,
"intentId": "",
"order": 1
}
],
"voicebotResponse": {
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"voicebotActions": [
{
"xPosition": 1,
"yPosition": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"type": "",
"voicebotResponseId": "",
"voicebotActionClearValue": {
"variableNames": [
""
],
"voicebotActionId": "",
"nextActionId": "f526f2fc-49a6-4e20-b954-e0d22824d017"
},
"voicebotActionCollectDTMFDigits": {
"message": "",
"variableName": "",
"numberOfDigits": 1,
"stopGatherAfterPressKey": "",
"voicebotActionId": "",
"nextActionId": "d486a8a3-35f9-42fe-ab16-d9b44786e41b"
},
"voicebotActionCollectSpeechResponse": {
"message": "",
"variableName": "",
"lowSTTConfidenceMessage": "",
"lowSTTConfidenceRepeatTimes": 1,
"isConfirmationRequired": true,
"confirmationMessage": "",
"confirmationText": "",
"confirmationKey": "",
"voicebotActionId": "",
"actionIdWhenLowSTTConfidence": "eefe4538-bec3-47ef-89ea-879b59a16941",
"nextActionId": "33d7d509-15e0-4366-a5e0-373a0156b491"
},
"voicebotActionCondition": {
"otherCaseActionId": "7396de03-33b3-4358-be0c-5c1b243d6950",
"voicebotActionId": "",
"voicebotActionConditionCases": [
{
"logicalExpression": "",
"goToActionId": "28593b3e-26a6-46af-bb2b-b8919b30ce39",
"conditionExpressionType": "",
"voicebotActionId": "",
"id": "deef4e3a-932d-4c8e-9c9e-e63419ff8dc4",
"order": 1,
"voicebotActionConditionCaseConditions": [
{
"voicebotActionConditionCaseId": "",
"order": 1,
"operator": "",
"fieldName": "{!Variable.Name}",
"value": "",
"id": "5b8d5c3a-2f16-4c9f-bfb6-4767d7b0db8a"
}
]
}
]
},
"voicebotActionEndCall": {
"voicebotActionId": ""
},
"voicebotActionGoToIntent": {
"intentId": "ffa760a6-def3-4517-a399-49a5b0fb169e",
"voicebotActionId": ""
},
"voicebotActionIVRMenu": {
"voicebotActionId": "",
"actionIdWhenInvalidInput": "9ffce41d-260c-4df0-a0e7-95136c4fadf2",
"message": "",
"invalidInputMessage": "",
"invalidInputRepeatTime": 1,
"voicebotActionIVRMenuOptions": [
{
"id": "d486a8a3-35f9-42fe-ab16-d9b44786e41b",
"voicebotActionId": "",
"nextActionId": "6c2be44f-c391-4454-8ebe-8d3503905e5a",
"text": "",
"key": "",
"order": 1
}
]
},
"voicebotActionPlayAudio": {
"voicebotActionId": "",
"nextActionId": "a1e714d7-4507-4879-b9d7-b5efb1643a49",
"audioPath": "",
"name": ""
},
"voicebotActionPlayText": {
"voicebotActionId": "",
"nextActionId": "4e6b30bd-19fe-4041-bcdb-77fff0eb0d5c",
"message": ""
},
"voicebotActionSetVariableValue": {
"variableName": "",
"value": "",
"nextActionId": "ffa760a6-def3-4517-a399-49a5b0fb169e",
"voicebotActionId": ""
},
"voicebotActionStart": {
"voicebotActionId": "",
"nextActionId": "f526f2fc-49a6-4e20-b954-e0d22824d017"
},
"voicebotActionTransferCall": {
"voicebotActionId": "",
"actionIdWhenTransferFailed": "9ffce41d-260c-4df0-a0e7-95136c4fadf2",
"transferTo": ""
},
"voicebotActionWebhook": {
"ifSendChatTranscript": true,
"url": "",
"voicebotActionId": "",
"otherResponseToActionId": "64760a4e-d78e-4f7c-961d-fcbcb0cd9ea7",
"additionalPostBody": "",
"voicebotActionWebhookHeaders": [
{
"value": "",
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"order": 1,
"key": "",
"voicebotActionId": ""
}
],
"voicebotActionWebhookResponseCodeToActions": [
{
"responseCode": "",
"nextActionId": "44018834-86bf-4109-8061-afe3f98733f1",
"order": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"voicebotActionId": ""
}
],
"voicebotActionWebhookResponseToVariables": [
{
"voicebotActionId": "",
"order": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"responseKey": "",
"variableName": ""
}
]
}
}
]
}
}
}
Get the list of Voicebot Learning Questions
GET voicebot/voicebots/{id}/voicebotLearningQuestions
Parameters:
Name | Type | in | Required | Description |
---|---|---|---|---|
include | string | query | no | Allowed value is voicebotIntent . |
Response:
An array of Voicebot Learning Question
Example
Sample Request:
curl https://api11.comm100.io/v4/voicebot/voicebots/e4fa2af5-a749-48d3-a870-e0c137fd4319/voicebotLearningQuestions \
-X 'GET' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 200 OK
{
"voicebotLearningQuestions": [
{
"topScoreIntentId": "",
"voicebotId": "",
"id": "e4fa2af5-a749-48d3-a870-e0c137fd4319",
"createdTime": "",
"type": "",
"topScore": 1,
"question": "",
"topScoreIntent": {
"id": "3bc9ea5a-5739-4b1e-813d-fb2794fb4433",
"name": "",
"voicebotIntentCategoryId": "",
"voicebotResponseId": "",
"voicebotIntentQuestions": [
{
"id": "5b8d5c3a-2f16-4c9f-bfb6-4767d7b0db8a",
"content": "",
"intentId": "",
"order": 1,
"voicebotIntentQuestionKeywords": [
{
"id": "b9a501fa-9bc0-48be-8dfa-43c6ba15f94d",
"intentQuestionId": "",
"variableName": "",
"startPosition": 1,
"endPosition": 1,
"ifPrebuiltEntity": true,
"prebuiltEntityId": "",
"entityId": "",
"prebuiltEntity": {
"dialogflowEntityId": "376B93B1-C148-EB11-8100-00155D081D0B",
"id": "386B93B1-C148-EB11-8100-00155D081D0B",
"name": "entity",
"description": "description",
"example": [
"entity1",
"entity2"
],
"languageCode": "en"
},
"entity": {
"id": "a1e714d7-4507-4879-b9d7-b5efb1643a49",
"voicebotId": "",
"name": "",
"voicebotEntityKeywords": [
{
"id": "eefe4538-bec3-47ef-89ea-879b59a16941",
"keyword": "",
"synonyms": [
""
],
"entityId": ""
}
]
}
}
]
}
],
"voicebotIntentCategory": {
"id": "44e7f26e-c5c0-4a80-a5cc-153a81b44ed9",
"voicebotId": "",
"name": "",
"order": 1,
"parentId": ""
},
"voicebotIntentSyncStatus": {
"dialogFlowId": "",
"count": 1,
"status": 1,
"parentId": ""
},
"voicebotIntentPrompts": [
{
"question": "",
"options": [
""
],
"entityId": "",
"id": "7396de03-33b3-4358-be0c-5c1b243d6950",
"prebuiltEntityId": "",
"mappingFieldName": "",
"variableName": "",
"ifPrebuiltEntity": true,
"intentId": "",
"order": 1
}
],
"voicebotResponse": {
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"voicebotActions": [
{
"xPosition": 1,
"yPosition": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"type": "",
"voicebotResponseId": "",
"voicebotActionClearValue": {
"variableNames": [
""
],
"voicebotActionId": "",
"nextActionId": "f526f2fc-49a6-4e20-b954-e0d22824d017"
},
"voicebotActionCollectDTMFDigits": {
"message": "",
"variableName": "",
"numberOfDigits": 1,
"stopGatherAfterPressKey": "",
"voicebotActionId": "",
"nextActionId": "d486a8a3-35f9-42fe-ab16-d9b44786e41b"
},
"voicebotActionCollectSpeechResponse": {
"message": "",
"variableName": "",
"lowSTTConfidenceMessage": "",
"lowSTTConfidenceRepeatTimes": 1,
"isConfirmationRequired": true,
"confirmationMessage": "",
"confirmationText": "",
"confirmationKey": "",
"voicebotActionId": "",
"actionIdWhenLowSTTConfidence": "eefe4538-bec3-47ef-89ea-879b59a16941",
"nextActionId": "33d7d509-15e0-4366-a5e0-373a0156b491"
},
"voicebotActionCondition": {
"otherCaseActionId": "7396de03-33b3-4358-be0c-5c1b243d6950",
"voicebotActionId": "",
"voicebotActionConditionCases": [
{
"logicalExpression": "",
"goToActionId": "28593b3e-26a6-46af-bb2b-b8919b30ce39",
"conditionExpressionType": "",
"voicebotActionId": "",
"id": "deef4e3a-932d-4c8e-9c9e-e63419ff8dc4",
"order": 1,
"voicebotActionConditionCaseConditions": [
{
"voicebotActionConditionCaseId": "",
"order": 1,
"operator": "",
"fieldName": "{!Variable.Name}",
"value": "",
"id": "5b8d5c3a-2f16-4c9f-bfb6-4767d7b0db8a"
}
]
}
]
},
"voicebotActionEndCall": {
"voicebotActionId": ""
},
"voicebotActionGoToIntent": {
"intentId": "ffa760a6-def3-4517-a399-49a5b0fb169e",
"voicebotActionId": ""
},
"voicebotActionIVRMenu": {
"voicebotActionId": "",
"actionIdWhenInvalidInput": "9ffce41d-260c-4df0-a0e7-95136c4fadf2",
"message": "",
"invalidInputMessage": "",
"invalidInputRepeatTime": 1,
"voicebotActionIVRMenuOptions": [
{
"id": "d486a8a3-35f9-42fe-ab16-d9b44786e41b",
"voicebotActionId": "",
"nextActionId": "6c2be44f-c391-4454-8ebe-8d3503905e5a",
"text": "",
"key": "",
"order": 1
}
]
},
"voicebotActionPlayAudio": {
"voicebotActionId": "",
"nextActionId": "a1e714d7-4507-4879-b9d7-b5efb1643a49",
"audioPath": "",
"name": ""
},
"voicebotActionPlayText": {
"voicebotActionId": "",
"nextActionId": "4e6b30bd-19fe-4041-bcdb-77fff0eb0d5c",
"message": ""
},
"voicebotActionSetVariableValue": {
"variableName": "",
"value": "",
"nextActionId": "ffa760a6-def3-4517-a399-49a5b0fb169e",
"voicebotActionId": ""
},
"voicebotActionStart": {
"voicebotActionId": "",
"nextActionId": "f526f2fc-49a6-4e20-b954-e0d22824d017"
},
"voicebotActionTransferCall": {
"voicebotActionId": "",
"actionIdWhenTransferFailed": "9ffce41d-260c-4df0-a0e7-95136c4fadf2",
"transferTo": ""
},
"voicebotActionWebhook": {
"ifSendChatTranscript": true,
"url": "",
"voicebotActionId": "",
"otherResponseToActionId": "64760a4e-d78e-4f7c-961d-fcbcb0cd9ea7",
"additionalPostBody": "",
"voicebotActionWebhookHeaders": [
{
"value": "",
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"order": 1,
"key": "",
"voicebotActionId": ""
}
],
"voicebotActionWebhookResponseCodeToActions": [
{
"responseCode": "",
"nextActionId": "44018834-86bf-4109-8061-afe3f98733f1",
"order": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"voicebotActionId": ""
}
],
"voicebotActionWebhookResponseToVariables": [
{
"voicebotActionId": "",
"order": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"responseKey": "",
"variableName": ""
}
]
}
}
]
}
}
}
],
"nextPage": null,
"previousPage": null,
"total": 1
}
Create a new Voicebot Learning Question
POST voicebot/voicebotLearningQuestions
Parameters:
Name | Type | in | Required | Description |
---|---|---|---|---|
topScoreIntentId | guid | body | no | Id of the matched intent. |
voicebotId | guid | body | yes | Id of the voicebot. |
createdTime | datetime | body | no | Time when the question was asked. |
type | enum | body | yes | Allowed values are noAnswer , manual . |
topScore | float | body | yes | The topScore is matching the highest score of intent. |
question | string | body | no | Visitor question. |
Response:
Example
Sample Request:
curl https://api11.comm100.io/v4/voicebot/voicebotLearningQuestions \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{"topScoreIntentId":"","voicebotId":"","createdTime":"","type":"","topScore":1,"question":""}'
Response:
HTTP/1.1 201 Created
{
"topScoreIntentId": "",
"voicebotId": "",
"id": "e4fa2af5-a749-48d3-a870-e0c137fd4319",
"createdTime": "",
"type": "",
"topScore": 1,
"question": "",
"topScoreIntent": {
"id": "3bc9ea5a-5739-4b1e-813d-fb2794fb4433",
"name": "",
"voicebotIntentCategoryId": "",
"voicebotResponseId": "",
"voicebotIntentQuestions": [
{
"id": "5b8d5c3a-2f16-4c9f-bfb6-4767d7b0db8a",
"content": "",
"intentId": "",
"order": 1,
"voicebotIntentQuestionKeywords": [
{
"id": "b9a501fa-9bc0-48be-8dfa-43c6ba15f94d",
"intentQuestionId": "",
"variableName": "",
"startPosition": 1,
"endPosition": 1,
"ifPrebuiltEntity": true,
"prebuiltEntityId": "",
"entityId": "",
"prebuiltEntity": {
"dialogflowEntityId": "376B93B1-C148-EB11-8100-00155D081D0B",
"id": "386B93B1-C148-EB11-8100-00155D081D0B",
"name": "entity",
"description": "description",
"example": [
"entity1",
"entity2"
],
"languageCode": "en"
},
"entity": {
"id": "a1e714d7-4507-4879-b9d7-b5efb1643a49",
"voicebotId": "",
"name": "",
"voicebotEntityKeywords": [
{
"id": "eefe4538-bec3-47ef-89ea-879b59a16941",
"keyword": "",
"synonyms": [
""
],
"entityId": ""
}
]
}
}
]
}
],
"voicebotIntentCategory": {
"id": "44e7f26e-c5c0-4a80-a5cc-153a81b44ed9",
"voicebotId": "",
"name": "",
"order": 1,
"parentId": ""
},
"voicebotIntentSyncStatus": {
"dialogFlowId": "",
"count": 1,
"status": 1,
"parentId": ""
},
"voicebotIntentPrompts": [
{
"question": "",
"options": [
""
],
"entityId": "",
"id": "7396de03-33b3-4358-be0c-5c1b243d6950",
"prebuiltEntityId": "",
"mappingFieldName": "",
"variableName": "",
"ifPrebuiltEntity": true,
"intentId": "",
"order": 1
}
],
"voicebotResponse": {
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"voicebotActions": [
{
"xPosition": 1,
"yPosition": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"type": "",
"voicebotResponseId": "",
"voicebotActionClearValue": {
"variableNames": [
""
],
"voicebotActionId": "",
"nextActionId": "f526f2fc-49a6-4e20-b954-e0d22824d017"
},
"voicebotActionCollectDTMFDigits": {
"message": "",
"variableName": "",
"numberOfDigits": 1,
"stopGatherAfterPressKey": "",
"voicebotActionId": "",
"nextActionId": "d486a8a3-35f9-42fe-ab16-d9b44786e41b"
},
"voicebotActionCollectSpeechResponse": {
"message": "",
"variableName": "",
"lowSTTConfidenceMessage": "",
"lowSTTConfidenceRepeatTimes": 1,
"isConfirmationRequired": true,
"confirmationMessage": "",
"confirmationText": "",
"confirmationKey": "",
"voicebotActionId": "",
"actionIdWhenLowSTTConfidence": "eefe4538-bec3-47ef-89ea-879b59a16941",
"nextActionId": "33d7d509-15e0-4366-a5e0-373a0156b491"
},
"voicebotActionCondition": {
"otherCaseActionId": "7396de03-33b3-4358-be0c-5c1b243d6950",
"voicebotActionId": "",
"voicebotActionConditionCases": [
{
"logicalExpression": "",
"goToActionId": "28593b3e-26a6-46af-bb2b-b8919b30ce39",
"conditionExpressionType": "",
"voicebotActionId": "",
"id": "deef4e3a-932d-4c8e-9c9e-e63419ff8dc4",
"order": 1,
"voicebotActionConditionCaseConditions": [
{
"voicebotActionConditionCaseId": "",
"order": 1,
"operator": "",
"fieldName": "{!Variable.Name}",
"value": "",
"id": "5b8d5c3a-2f16-4c9f-bfb6-4767d7b0db8a"
}
]
}
]
},
"voicebotActionEndCall": {
"voicebotActionId": ""
},
"voicebotActionGoToIntent": {
"intentId": "ffa760a6-def3-4517-a399-49a5b0fb169e",
"voicebotActionId": ""
},
"voicebotActionIVRMenu": {
"voicebotActionId": "",
"actionIdWhenInvalidInput": "9ffce41d-260c-4df0-a0e7-95136c4fadf2",
"message": "",
"invalidInputMessage": "",
"invalidInputRepeatTime": 1,
"voicebotActionIVRMenuOptions": [
{
"id": "d486a8a3-35f9-42fe-ab16-d9b44786e41b",
"voicebotActionId": "",
"nextActionId": "6c2be44f-c391-4454-8ebe-8d3503905e5a",
"text": "",
"key": "",
"order": 1
}
]
},
"voicebotActionPlayAudio": {
"voicebotActionId": "",
"nextActionId": "a1e714d7-4507-4879-b9d7-b5efb1643a49",
"audioPath": "",
"name": ""
},
"voicebotActionPlayText": {
"voicebotActionId": "",
"nextActionId": "4e6b30bd-19fe-4041-bcdb-77fff0eb0d5c",
"message": ""
},
"voicebotActionSetVariableValue": {
"variableName": "",
"value": "",
"nextActionId": "ffa760a6-def3-4517-a399-49a5b0fb169e",
"voicebotActionId": ""
},
"voicebotActionStart": {
"voicebotActionId": "",
"nextActionId": "f526f2fc-49a6-4e20-b954-e0d22824d017"
},
"voicebotActionTransferCall": {
"voicebotActionId": "",
"actionIdWhenTransferFailed": "9ffce41d-260c-4df0-a0e7-95136c4fadf2",
"transferTo": ""
},
"voicebotActionWebhook": {
"ifSendChatTranscript": true,
"url": "",
"voicebotActionId": "",
"otherResponseToActionId": "64760a4e-d78e-4f7c-961d-fcbcb0cd9ea7",
"additionalPostBody": "",
"voicebotActionWebhookHeaders": [
{
"value": "",
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"order": 1,
"key": "",
"voicebotActionId": ""
}
],
"voicebotActionWebhookResponseCodeToActions": [
{
"responseCode": "",
"nextActionId": "44018834-86bf-4109-8061-afe3f98733f1",
"order": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"voicebotActionId": ""
}
],
"voicebotActionWebhookResponseToVariables": [
{
"voicebotActionId": "",
"order": 1,
"id": "44018834-86bf-4109-8061-afe3f98733f1",
"responseKey": "",
"variableName": ""
}
]
}
}
]
}
}
}
Remove the Voicebot Learning Question
DELETE voicebot/voicebotLearningQuestions/{id}
Parameters:
No Parameters
Response:
No Content
Example
Sample Request:
curl https://api11.comm100.io/v4/voicebot/voicebotLearningQuestions/e4fa2af5-a749-48d3-a870-e0c137fd4319 \
-X 'DELETE' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 204 No Content
© 2021 | Comm100
Was this article helpful?