Threads are the notes corresponding to the incidents that you can view in the communication tab of the incident workspace. There are different types of thread entries available in Oracle Service Cloud.Typical Values for Thread Entry Type are 1,2, and 3. Following is the complete list of the Entry Type when you need to set while adding thread(notes) into an incident.
- Note: Internal or Private notes.
- Staff Account: Response from the internal agent to the customer.
- Customer: Response from the Customer.
- Customer Proxy
- Chat
- Rule Response
- Rule Response Template
- Voice Integration
Also you can use GetValuesForNamedID() on "Incident.Threads.EntryType" to discover the complete list for the Entry Type in your site.
Below is the code to add a thread in an incident
using CreateSamples.RightNowService;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using System.Web.Services.Protocols;
namespace CreateSamples
{
class ThreadAddDemo
{
RightNowSyncPortClient rnowClient;
public ThreadAddDemo()
{
rnowClient = new RightNowSyncPortClient();
rnowClient.ClientCredentials.UserName.UserName = "username";
rnowClient.ClientCredentials.UserName.Password = "password";
}
public void AddNoteToIncident()
{
//Initalize an Incident Object
Incident objIncident = new Incident();
//Set the Incident ID
objIncident.ID = new ID { id = 76266578, idSpecified = true };
//Create a new thread object
Thread thread = new Thread();
thread.Text = "This is a test thread";
thread.action = ActionEnum.add;
thread.actionSpecified = true;
/*Set Thread Entry Type
1: Note
2: Staff Account
3: Customer
4: Customer Proxy
5: Chat
6: Rule Response
7: Rule Response Template
8: Voice Integration*/
thread.EntryType = new NamedID { ID = new ID { id = 3, idSpecified = true } };
//Build the RNObject[]
RNObject[] rnObjects = new RNObject[] { objIncident };
//Set the processing options
UpdateProcessingOptions options = new UpdateProcessingOptions();
options.SuppressExternalEvents = false;
options.SuppressRules = false;
//Invoke the Update Operation
try
{
ClientInfoHeader clientInfoHeader = new ClientInfoHeader();
clientInfoHeader.AppID = "Add Thread To Incident";
rnowClient.Update(clientInfoHeader, rnObjects, options);
}
catch (FaultException ex)
{
Console.WriteLine(ex.Code);
Console.WriteLine(ex.Message);
}
catch (SoapException ex)
{
Console.WriteLine(ex.Code);
Console.WriteLine(ex.Message);
}
}
static void Main(string[] args)
{
ThreadAddDemo demo = new ThreadAddDemo();
demo.AddNoteToIncident();
}
}
}