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.

 

  1. Note: Internal or Private notes.
  2. Staff Account: Response from the internal agent to the customer.
  3. Customer: Response from the Customer.
  4. Customer Proxy
  5. Chat
  6. Rule Response
  7. Rule Response Template
  8. 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();
        }
    }
}