Post Conversation Automation
  • 19 Jun 2025
  • 2 Minutes to read
  • Contributors
  • PDF

Post Conversation Automation

  • PDF

Article summary

Copilot automates the post-interaction phase by summarizing the customer’s requests and agent’s promised actions at the end of each call. This summary is generated by analyzing the call transcript through Knovvu VA services. With the Salesforce integration, the summary is pushed to Salesforce CRM. It allows the agent to complete the wrap-up process faster, reduces manual effort, and ensures the captured summary is accurate, actionable, and standardized.

Step-by-step configuration

Create a Virtual Agent (VA) project specifically for the post call automation in salesforce, or use the existing RTG-Integration project flow designed for this purpose. Add the following http nodes:
image.png

There are 3 http nodes that need to be configured for salesforce:

Authentication
image.png

Uses client_id, client_secret, username, and password to bypass multi-factor authentication (MFA) for simplicity in demonstration/POC environment.
Access token is retrieved from Salesforce's identity service.

The token is stored as tokenResponse for use in subsequent requests.

Account Search
image.png

Identify the account in Salesforce based on the phone number used as conversationID.
A GET request is made using the token and phone number.
accountID is extracted from the first element of searchResponse.records.

Account Update with Summary
image.png

Update the account record with the AI-generated summary. AI summarization is done using OpenAI APIs triggered by HTTP node(s).

The summary field in the content json must exactly match the field name in Salesforce.

Work & Data Flow

Work and data flow Salesforce.drawio.png

Example request for Sales force authentication API:

			"name": "login",
			"request": {
				"method": "POST",
				"header": [],
				"body": {
					"mode": "formdata",
					"formdata": [
						{
							"key": "grant_type",
							"value": "password",
							"type": "text"
						},
						{
							"key": "client_id",
							"value": "3MVG9gYjOgxHsENLELFMIKy1vrUgvS.AhtZjzAPSukYMbMcNEM6Xdc9ysEc6QG_D5f.8SRJDIRP_ieUNpCQ9q",
							"type": "text"
						},
						{
							"key": "client_secret",
							"value": "5BC81E85A9E8C34D20CF50CAA2C5CDEC57592BDA8E6C6F2A0D1974B0213D3A12",
							"type": "text"
						},
						{
							"key": "username",
							"value": "bugra.samli-tl2u@force.com",
							"type": "text"
						},
						{
							"key": "password",
							"value": "Sales1234",
							"type": "text"
						}
					]
				},
				"url": {
					"raw": "https://login.salesforce.com/services/oauth2/token",
					"protocol": "https",
					"host": [
						"login",
						"salesforce",
						"com"
					],
					"path": [
						"services",
						"oauth2",
						"token"
					]
				}
			},

The response is:

{
  "access_token": "00D5g00000Axxxx!AQ0AQJqxxxxx...",
  "instance_url": "https://yourInstance.salesforce.com",
  "id": "https://login.salesforce.com/id/00D5g00000Axxxx/0055g00000Bxxxx",
  "token_type": "Bearer",
  "issued_at": "171xxxxxxx",
  "signature": "XXYYYZZZ..."
}

Example request for Sales force GetAccountId API:

	{
			"name": "GetAccountId",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{Token}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://sestek.my.salesforce.com/services/data/v57.0/parameterizedSearch/?sobject=Account&Account.limit=1&q=+&Account.fields=id",
					"protocol": "https",
					"host": [
						"sestek",
						"my",
						"salesforce",
						"com"
					],
					"path": [
						"services",
						"data",
						"v57.0",
						"parameterizedSearch",
						""
					],
					"query": [
						{
							"key": "sobject",
							"value": "Account"
						},
						{
							"key": "Account.limit",
							"value": "1"
						},
						{
							"key": "q",
							"value": "+"
						},
						{
							"key": "Account.fields",
							"value": "id"
						}
					]
				}
			},

The response is:

{
  "totalSize": 2,
  "done": true,
  "searchRecords": [
    {
      "attributes": {
        "type": "Account",
        "url": "/services/data/v59.0/sobjects/Account/0015g00000xxx"
      },
      "Id": "0015g00000xxx",
      "Name": "Acme Inc."
    },
    {
      "attributes": {
        "type": "Account",
        "url": "/services/data/v59.0/sobjects/Account/0015g00000yyy"
      },
      "Id": "0015g00000yyy",
      "Name": "Salesforce Co."
    }
  ]
}

Example request for Sales force Update API:

    {
			"name": "New Request",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{Token}}",
							"type": "string"
						}
					]
				},
				"method": "PUT",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\r\n \"Description\" : \"summary\"\r\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://sestek.my.salesforce.com/services/data/v57.0/sobjects/Account/{{AccountId}}",
					"protocol": "https",
					"host": [
						"sestek",
						"my",
						"salesforce",
						"com"
					],
					"path": [
						"services",
						"data",
						"v57.0",
						"sobjects",
						"Account",
						"{{AccountId}}"
					]
				}
			},

The response is 204.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.