# Package Configuration

This section provides detailed instructions for configuring the TSANet Connect 2.0 Salesforce package after installation. It includes credential setup, permission assignments, component placement, and developer tooling.

<details>

<summary>TSANet Credentials Setup</summary>

TSANet Connect uses **Basic Authentication** via an API user created on the Member account.

#### Steps:

1. Create a new credential record.
2. Enter the provided credentials.
3. Set the environment: `DEVELOPER`, `BETA`, or `PRODUCTION`.
4. Mark the credential as **Primary**.
5. Optionally assign an **Integration User** (used for automated processes).

<div><figure><img src="/files/DIbTheLEcx0do6VM96NX" alt=""><figcaption></figcaption></figure> <figure><img src="/files/R4pbT7gKAikBiFEgbwak" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Assigning Permission Sets</summary>

Assign users to one of the following permission sets:

* `TSANet Connect Permissions (Admin)`
* `TSANet Connect Permissions (Employee)`

**Assign Users to TSANet Connect Permission Set:** Go to Setup → Permission Sets → search and select TSANet Connect Permissions (Admin) or TSANet Connect Permissions (Employee) → click Manage Assignments → click Add Assignment → select users → click Next → select an expiration option for assigned users → click Assign → Done.

<figure><img src="/files/StfSchlvUW8a1YFxLfKp" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/pPJgb71NDyejlz0h5IGn" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/9HWxsDP1Xa89puvZbY35" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/b8YtK9nqi3lOq1hQ5c5V" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GYSkmBLivLdhRbUSjTkB" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/N7pAPZKQJGKGB6rIvEZM" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Component &#x26; Layout Configuration - Lightning Web Component</summary>

* **Add TSANet Cases List to Service Console**: Go to the Service Console → List dropdown → Edit → Add More Items → add TSANet Cases list → Add More Items → add TSANet Cases list.&#x20;

<figure><img src="/files/Ei82Izkpmi2vzXOdEPtg" alt=""><figcaption></figcaption></figure>

* **Add TSANetApplication Component to Case Record Page**: Go to the Case record page → click Gear Icon → Edit Page → find TSANetApplication component → drag and drop to the appropriate place → click Save.

  Note: Other options for Case page customizations are available using flows and actions. See the Case Customization section at the end of this document for details.

<figure><img src="/files/ZpaG1MKzXwilFw1tGeJG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/FOkvkWxcp5dY3enmVjIt" alt=""><figcaption></figcaption></figure>

Click the Activate button → select APP DEFAULT tab → click Assign as App Default → choose your app → click Next and assign desktop and phone version → click Next and Save.

<figure><img src="/files/ToilF9b2KoUJGILSKESS" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/LV6noHwBxCGWxYoyKlBr" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PpA79uyGoPD2hlgpwTlw" alt=""><figcaption></figcaption></figure>

* **Add TSANetCase Related List to Case Page Layout**: Go to Setup → Object Manager → Case → Page Layout → select your page layout → scroll to Related List section → drag and drop TSANetCase related list to layout → Save.

<figure><img src="/files/ZC78yxsRXBu71A5gHVt1" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Component &#x26; Layout Configuration - Customization Options</summary>

For members who do not want to include the Lightning Web Component on the Case page, it is possible to integrate actions, lists, and flows into your existing case form.   Below is an example of this approach, showing a Member adding this to the section of the case page that already includes actions and related links.

<figure><img src="/files/XsvAztj0iikfjp9BPnpk" alt=""><figcaption></figcaption></figure>

**There are two options how to add 'Collaborate (TSANet)' or 'Create Collaboration Case':**

**Option 1:**&#x20;

* **Click the Gear Icon → Edit Page**
  * You’ve already done this and are in the Lightning App Builder.
* **Select the Highlights Panel**
  * In the right-hand panel, under **Page > Highlights Panel**, click the section that controls the header buttons (where Edit/Delete are).
* **Modify Actions**
  * In the **Actions** section on the right:
    * Click **Override the predefined actions** if it’s not already overridden.
    * You’ll see categories like:
      * Standard Actions
      * Object-Specific Actions
      * Global Quick Actions
    * Find **Create Collaboration Case** under **Object-Specific Actions**.
* **Add Create Collaboration Case**
  * Drag **TSANet Case Menu** into the list of actions (where “Create Collaboration Case” is).
  * Arrange it in the order you want.
* **Save and Activate**
  * Click **Save**.
  * If prompted, click **Activate** to make sure this page is assigned to the correct app/profile.
* **Refresh the Case Page**
  * Go back to a Case record and check the dropdown. The button should now appear.

<figure><img src="/files/nW7HIXuFiXqiKIgsStmk" alt=""><figcaption></figcaption></figure>

**Option 2:**

* **Go to Setup**
  * Click the gear icon → **Setup**.
* **Open Object Manager**
  * Search for **Case** and click it.
* **Edit Page Layout**
  * Go to **Page Layouts**.
  * Select the layout used for your Case records.
* **Locate the Lightning Actions Section**
  * Scroll down to **Salesforce Mobile and Lightning Experience Actions**.
  * If you don’t see it, click the **override the predefined actions** link.
* **Add the TSANet Case Menu Action**
  * In the palette at the top, find your existing action (TSANet Case Menu).
  * Drag it into the **Actions** section where other actions like “Create Collaboration Case” are listed.
* **Save the Layout**
  * Click **Save**.
  * Refresh your Case record page and check the dropdown.

<figure><img src="/files/LduHVCAMYEK13Vg934uO" alt=""><figcaption></figcaption></figure>

**Steps to Create a Related List with Actions**

**1. Identify the Custom Action**

* Determine the action you want users to perform from the related list (e.g., send note, attachment).
* Ensure the action is compatible with the object and its layout.

**2. Modify the Page Layout**

* Go to **Setup** → **Object Manager** → Select the object.
* Open the **Page Layouts** section.
* Add the related list to the layout where the action should be accessible.

**3. Configure the Related List**

* Use standard related list settings to include the relevant custom object or record type.
* Make sure the related list supports **action buttons** or **quick actions**.

**4. Avoid Lightning Web Components (if not required)**

* If the goal is simplicity or client preference, use traditional related list configurations.
* Only use Lightning Web Components when their functionality is explicitly needed.

**5. Test the Setup**

* Preview the layout to confirm the related list appears correctly.
* Test the action to ensure it performs as expected.
* Validate that the user experience is intuitive and meets business requirements.

Add an action button or pulldown for **New TSANet Case**

**Show how to add this button**

Add a related list to show **TSANet Cases.**

**Show how to add the list**

Add a button to the related list for **Note** and **Attachment**

**Show hot to add Note and Attachment to the list (for sending new note or attachment)**

**Note**:  Flows for further automation and customization can be found in the following section&#x20;

</details>

<details>

<summary>Webhooks</summary>

This guide explains how to configure a **Salesforce Site**, grant the correct **Guest User permissions**, and create a **TSANet Webhook** so that external TSANet events (for example collaboration requests and notes) can be delivered into Salesforce via an Apex REST endpoint.

TSANet webhooks require:

1. A **publicly accessible Salesforce Site**
2. A **guest user with explicit permissions**
3. A **TSANet Credential** record
4. A **TSANet Webhook** record pointing to the site’s Apex REST endpoint

```
TSANet Platform
   ↓
Salesforce Site URL
   ↓
Apex REST Endpoint (/services/apexrest/tsanetconnect/webhook)
   ↓
TSANet Package Logic
```

### Step 1: Register or Verify Salesforce Sites Domain

1. Go to **Setup**
2. In Quick Find, search for **Sites**
3. If no domain is registered:
   * Check **“I have read and accepted the Salesforce Sites Terms of Use”**
   * Click **Register My Salesforce Site Domain**

<figure><img src="/files/C6byYm6WNzFebb5ui28z" alt=""><figcaption></figcaption></figure>

1. Save the domain\
   Example:

   ```
   companyoneinc-dev-ed.develop.my.salesforce-sites.com
   ```

Most orgs already have a registered site domain. If so, reuse it.

### Step 2: Create a Salesforce Site (Webhook Endpoint)

1. From **Setup → Sites**
2. Click **New**

<figure><img src="/files/ISdUCtS3zAlgpvdjEGMZ" alt=""><figcaption></figcaption></figure>

3. Fill in the form:

<div><figure><img src="/files/FhffAmbqdMRjAFYsOnYR" alt=""><figcaption></figcaption></figure> <figure><img src="/files/5gu0mhSsBYe0L5M2jaPf" alt=""><figcaption></figcaption></figure></div>

4. Click **Save**
5. Click **Activate**

<figure><img src="/files/z7XvrcIWxFXMWugMKzMH" alt=""><figcaption></figcaption></figure>

The site URL is now generated, for example:

```
https://companyoneinc-dev-ed.develop.my.salesforce-sites.com
```

### Step 3: Verify Site Availability

Paste the site URL into a browser.

* If active → page loads
* If inactive → “Site is down for maintenance” message appears

Either state is acceptable; the webhook endpoint remains callable

<figure><img src="/files/nKNPigtoiemeVXfFbhL2" alt=""><figcaption></figcaption></figure>

### Step 4: Assign Guest User Permissions

#### 4.1 Locate the Guest User

1. Go to **Setup → Sites**
2. Click **Site Label** (e.g., `TSANetWebhook1`)
3. Click **Public Access Settings**
   * This opens the **Site Guest User**

#### 4.2 Assign Permission Set

A permission set is included with the package:

**Permission Set Name**

```
TSANet Webhook Guest Access
```

Steps:

1. Go to **Setup → Permission Sets**
2. Open **TSANet Webhook Guest Access**

<figure><img src="/files/BECf5BzP6BPx0ln3242z" alt=""><figcaption></figcaption></figure>

3. Click **Manage Assignments**

<figure><img src="/files/1Rog4tI5QRy6EIRUXDlB" alt=""><figcaption></figcaption></figure>

4. Click **Add Assignment**

<figure><img src="/files/rLCMAw2WKZS6AfWoidYr" alt=""><figcaption></figcaption></figure>

5. Select the **Site Guest User** (for example: `TSANetWebhook1 Site Guest User`)
6. Save

#### 4.3 Customize Guest User Permission Set

When configuring the webhook, you must clone the existing Guest User permission set and update it.

**Steps:**

* Clone the existing permission set **TSANet Webhook Guest Access**
* Update object permissions:
  * **Case**
    * Grant **Read** and/or **Create** access
* Configure **Record Type access**:
  * Enable only the record types that should be used by TSANet

> ⚠️ This step is required to allow webhook requests to create or read Case records.

### Step 5: Verify User Management Settings

Ensure the new UI is enabled so assignments work correctly:

1. Go to **Setup → User Management Settings**
2. Enable:
   * Enhanced Profile User Interface

<figure><img src="/files/Y3sEOYxAoN0IDjblVEPh" alt=""><figcaption></figcaption></figure>

***

3. Save

### Step 6: Create the TSANet Webhook

1. Navigate to **App Launcher → TSANet Credentials**
2. Open an existing credential
3. Scroll to the **TSANet Webhooks** related list
4. Click **New**

<figure><img src="/files/RLteoy89A1YHJPvU522v" alt=""><figcaption></figcaption></figure>

#### Webhook Configuration Fields

| Field             | Value                                |
| ----------------- | ------------------------------------ |
| TSANet Credential | Existing credential (e.g., NC‑00001) |
| Active            | ✅ Checked                            |
| Callback URL      | See below                            |
| Event Types       | Select both                          |

<figure><img src="/files/qcFPTKluv0qMEhipy98t" alt=""><figcaption></figcaption></figure>

#### Callback URL Format (Critical)

Use:

```
<Site Base URL>/services/apexrest/tsanetconnect/webhook
```

Example:

```
https://companyoneinc-dev-ed.develop.my.salesforce-sites.com/services/apexrest/tsanetconnect/webhook
```

> This endpoint is implemented inside the TSANet package.\
> Do **not** change the Apex REST path.

5. Click **Save**

<figure><img src="/files/Li5G4mNIczDrdBNfKyEd" alt=""><figcaption></figcaption></figure>

A Webhook record (for example `WH-00001`) is created and active.

### Troubleshooting & Debugging

#### Enable Debug Logs

1. **Setup → Debug Logs**
2. Add a new Trace Flag:
   * Traced Entity Type: **User**
   * Traced Entity Name: Integration User
   * Debug Level: `SFDC_DevConsole`
3. Save

<figure><img src="/files/LhwG14rS809O0G4LjMkl" alt=""><figcaption></figcaption></figure>

This helps diagnose:

* Permission issues
* Apex execution errors
* Payload parsing failures

### Common Issues & Fixes

| Issue                        | Cause                       | Resolution                           |
| ---------------------------- | --------------------------- | ------------------------------------ |
| 403 / Authorization Required | Missing guest permissions   | Assign `TSANet Webhook Guest Access` |
| Site URL unreachable         | Site not active             | Activate the Site                    |
| Webhook not firing           | No event types selected     | Select events                        |
| Apex errors                  | Object/field access missing | Verify permission set                |

### Summary Checklist&#x20;

* [ ] Salesforce Site domain registered
* [ ] Salesforce Site created and active
* [ ] Guest User assigned **TSANet Webhook Guest Access**
* [ ] TSANet Credential exists
* [ ] Webhook created with correct callback URL
* [ ] Event types configured

</details>

### Automation and Flows:

<details>

<summary><strong>Navigate to flows</strong></summary>

<figure><img src="/files/Bj9wyIS19Llac6Cc7dYw" alt=""><figcaption></figcaption></figure>

You can navigate to Flows as follows:

Go to Setup → type “flows” in Quick Find (path: Process Automation → Flows).

From there, you can:

* Create a new Flow using Flow Trigger Explorer or by clicking New Flow.
* View available packaged flows by searching for “TSANet”in field Search Lists under Flow Definitions  to see all TSANet-related flows available for activation.

</details>

<details>

<summary><strong>TSANetScheduledJob</strong></summary>

The TSANetScheduledJob is a background job that synchronizes data between Salesforce and TSANet.

By default, it is scheduled to run every 15 minutes, ensuring that case updates and notes are regularly exchanged.

You may adjust the cron expression if your organization requires a different sync interval: Go to Setup → type “Scheduled Jobs” in Quick Find (path: Environments → Jobs → Scheduled Jobs) → search for *TSANetScheduledJob* → click *Manage* → update cron expression → Save.

**Examples:**

**A) Every 15 minutes (create 4 schedules)**

Use these **four** schedules:

1. **Job Name:** `TSANetScheduledJob – Every 15 (00)`\
   **Cron Expression:**

   ```
   0 0 * * * ?
   ```
2. **Job Name:** `TSANetScheduledJob – Every 15 (15)`\
   **Cron Expression:**

   ```
   0 15 * * * ?
   ```
3. **Job Name:** `TSANetScheduledJob – Every 15 (30)`\
   **Cron Expression:**

   ```
   0 30 * * * ?
   ```
4. **Job Name:** `TSANetScheduledJob – Every 15 (45)`\
   **Cron Expression:**

   ```
   0 45 * * * ?
   ```

#### B) **Every 10 minutes** (create **6** schedules)

1. `TSANetScheduledJob – Every 10 (00)`

   ```
   0 0 * * * ?
   ```
2. `TSANetScheduledJob – Every 10 (10)`

   ```
   0 10 * * * ?
   ```
3. `TSANetScheduledJob – Every 10 (20)`

   ```
   0 20 * * * ?
   ```
4. `TSANetScheduledJob – Every 10 (30)`

   ```
   0 30 * * * ?
   ```
5. `TSANetScheduledJob – Every 10 (40)`

   ```
   0 40 * * * ?
   ```
6. `TSANetScheduledJob – Every 10 (50)`

   ```
   0 50 * * * ?
   ```

#### C) **Every 5 minutes** (create **12** schedules)

1. `TSANetScheduledJob – Every 5 (00)`

   ```
   0 0 * * * ?
   ```
2. `TSANetScheduledJob – Every 5 (05)`

   ```
   0 5 * * * ?
   ```
3. `TSANetScheduledJob – Every 5 (10)`

   ```
   0 10 * * * ?
   ```
4. `TSANetScheduledJob – Every 5 (15)`

   ```
   0 15 * * * ?
   ```
5. `TSANetScheduledJob – Every 5 (20)`

   ```
   0 20 * * * ?
   ```
6. `TSANetScheduledJob – Every 5 (25)`

   ```
   0 25 * * * ?
   ```
7. `TSANetScheduledJob – Every 5 (30)`

   ```
   0 30 * * * ?
   ```
8. `TSANetScheduledJob – Every 5 (35)`

   ```
   0 35 * * * ?
   ```
9. `TSANetScheduledJob – Every 5 (40)`

   ```
   0 40 * * * ?
   ```
10. `TSANetScheduledJob – Every 5 (45)`

    ```
    0 45 * * * ?
    ```
11. `TSANetScheduledJob – Every 5 (50)`

    ```
    0 50 * * * ?
    ```
12. `TSANetScheduledJob – Every 5 (55)`

    ```
    0 55 * * * ?
    ```

{% hint style="info" %}
Note: `0 5 * * * ?` — that would run **once per hour at minute 5**, not every 5 minutes
{% endhint %}

{% hint style="info" %}

* Salesforce **does not support `*/X` or `0/X` increments** like Linux cron. You must explicitly list the minutes (**not** allow shorthand like `*/15`)
* Use **explicit values** (comma-separated) or ranges.
* Use `?` for **Day of Month or Day of Week** when the other is specified.
  {% endhint %}

</details>

<details>

<summary><strong>Invocable Actions</strong></summary>

* Create Case, Approve Request
* Get Companies, Get Company Form
* Create Note, Attach File

</details>

**Inbound Flows:**

<details>

<summary><strong>TSANet: Inbound: Accept Collaboration Request (Automation)</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the process of accepting a TSANet collaboration request.

The flow:

* Retrieves the related TSANet case record
* Invokes a subflow to gather approval details
* Executes an Apex action to accept the collaboration request

This automation handles the acceptance of TSANet collaboration requests in a consistent and automated manner.

<figure><img src="/files/OPWtiCHsnN5qkaq7iS8p" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Accept Collaboration Request (Screen Flow)</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to accept a TSANet collaboration request through a guided interface.

The flow:

* Retrieves the related TSANet case record
* Evaluates whether the Salesforce case is already assigned
* Displays a required assignment screen if the case is not assigned
* Displays a screen to capture acceptance notes
* Invokes an automation subflow to accept the TSANet collaboration request
* Evaluates the result and displays an error screen if the acceptance fails

This automation handles the acceptance of TSANet collaboration requests through a user‑driven, guided flow with validation and error handling.

<figure><img src="/files/wdsWCpLthqFcK47UNer2" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Auto Accept Collaboration Request</strong></summary>

This is a **record‑triggered Salesforce Flow** that runs automatically when a TSANet Case record is created and meets predefined conditions.

The flow:

* Triggers immediately upon TSANet Case creation
* Evaluates predefined acceptance conditions
* Invokes an automation subflow to accept the TSANet collaboration request

This automation handles the automatic acceptance of eligible TSANet collaboration requests without user intervention.

<figure><img src="/files/2R1YKXvTlfVoILeCS6qe" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Collaboration Request Trigger Handler</strong></summary>

This is a **record‑triggered Salesforce Flow** that runs automatically when a TSANet Case record is created.

The flow:

* Creates a corresponding Salesforce Case record
* Updates the TSANet case with the linked Salesforce case information
* Invokes a subflow to accept the TSANet collaboration request
* Sends a notification after successful processing

This automation handles the acceptance and processing of incoming TSANet collaboration requests.

<figure><img src="/files/ICzp4pnEr9V3Wyjp5yEm" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Collaboration Request Trigger Handler (Asset)</strong></summary>

This is a **record‑triggered Salesforce Flow** that runs automatically when a TSANet Case record is created.

The flow:

* Retrieves the related asset record
* Evaluates whether a matching asset is found
* If no asset is found, triggers an automation to reject the collaboration request
* If an asset is found, creates a Salesforce case, updates the TSANet case, triggers the accept automation, and sends a notification

This automation handles the evaluation and processing of incoming TSANet collaboration requests based on asset availability.

<figure><img src="/files/Ifx1aC01HSGuLdWcm9ZT" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Note Notification</strong></summary>

This is a **record-triggered Salesforce Flow** that automates the process of sending notifications when a new TSANet note is created.

The flow is triggered when a **TSANet Note record is created** and runs immediately after creation.

The flow:

* Evaluates whether the note meets the criteria to be treated as a **new note** using a decision element
* Retrieves the related **TSANet Case record** associated with the note
* Invokes a **subflow** to send a notification based on the note and case details
* Updates the TSANet Note record to mark it as **notified**, preventing duplicate notifications

This automation ensures that notifications for newly created TSANet notes are handled consistently and efficiently, improving communication and reducing manual effort.

<figure><img src="/files/ZzveB8a8HxKZn2h8iwwL" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Note Trigger Handler</strong></summary>

This is a **record‑triggered Salesforce Flow** that runs automatically when a TSANet Note record is created.

The flow:

* Evaluates the newly created TSANet Note
* Updates the related TSANet case if required
* Assigns note details for processing
* Retrieves the associated TSANet case record
* Executes an Apex action to create and sync the TSANet note

This automation handles the processing of newly created TSANet notes and ensures they are correctly linked to related cases.

<figure><img src="/files/nTXh2O58vUflti35NrfA" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Reject Collaboration Request (Automation)</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the process of rejecting a TSANet collaboration request.

The flow:

* Retrieves the related TSANet case record
* Invokes a subflow to gather the rejection collaboration request details
* Executes an Apex action to process and submit the TSANet rejection

This automation handles the rejection of TSANet collaboration requests in a consistent and automated manner.

<figure><img src="/files/TCzIFoTEO9k6tRly0wH2" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Reject Collaboration Request (Screen Flow)</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to reject a TSANet collaboration request through a guided interface.

The flow:

* Displays a screen to capture the rejection reason
* Invokes a subflow to submit the rejection request
* Evaluates the result of the operation
* Displays an error screen if the rejection fails

This automation handles the rejection of TSANet collaboration requests through a user‑driven, guided flow.

<figure><img src="/files/czJWeVsc19sMd3nyRZzs" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Inbound: Request More Information (Trigger)</strong></summary>

**This** is a **record-triggered Salesforce Flow** that automates the process of requesting additional information for a newly created TSANet case.

The flow is triggered when a **TSANet Case record is created** and runs immediately after creation.

The flow:

* Retrieves and evaluates the newly created TSANet Case record based on defined entry conditions
* Invokes a **subflow** to load and prepare the Request Information form
* Executes an **Apex action** to send or process the request for additional information

This automation ensures that requests for more information on TSANet cases are handled consistently, efficiently, and without manual intervention, improving data completeness and reducing processing delays.

<figure><img src="/files/VQ1U15leZiaVEHqipsA0" alt=""><figcaption></figcaption></figure>

</details>

**Outbound Flows:**

<details>

<summary><strong>TSANet: Outbound: Create Collaboration Case</strong> </summary>

This is a **screen Salesforce Flow** that guides users through the process of creating a TSANet collaboration case and automates related data preparation and submission.

The flow is initiated manually by the user and provides a step-by-step interface to gather and process the required information.

The flow:

* Retrieves the **TSANet Case record** to establish the context for the collaboration
* Presents **interactive screens** to capture TSANet details and allow the user to search and select a partner company
* Executes **Apex actions** to search for companies and retrieve relevant customer data
* Uses **assignments and loops** to process and map the selected company and customer data into the required format
* Displays a **collaboration form** for the user to review and complete additional details
* Performs **field assignments** and presents a **verification screen** for final confirmation
* Executes an **Apex action** to create the collaboration case in TSANet
* Displays a **result screen** confirming the creation of the collaboration case

This automation streamlines the creation of TSANet collaboration cases by guiding users through a structured process, ensuring data accuracy, and reducing manual effort.

<figure><img src="/files/vjVJz5D9NBCeeO7Mmulj" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Outbound: Create Note (Screen Flow)</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to create a TSANet note for a specific case through a guided interface.

The flow:

* Retrieves the related TSANet case record
* Displays a screen to capture note details
* Invokes an automation subflow to create the note
* Evaluates the result with a decision element
* Displays an error screen if the note creation fails

This automation handles the creation of TSANet notes for cases through a user‑driven, guided flow.

<figure><img src="/files/xZCrO4ARlpsE7fWxWFZn" alt=""><figcaption></figcaption></figure>

</details>

**Other Flows:**

<details>

<summary>TSANet: Case Link Change Sync</summary>

</details>

<details>

<summary>TSANet: Case Owner Change Handler</summary>

</details>

<details>

<summary><strong>TSANet: Close Collaboration Request (Automation)</strong> </summary>

This is an **autolaunched Salesforce Flow** that automates the process of closing a TSANet collaboration request.

The flow is triggered programmatically and runs without user interaction.

The flow:

* Retrieves the related **TSANet Case record** to identify the collaboration request to be closed
* Executes an **Apex action** to perform the closure of the collaboration request in TSANet

This automation ensures that collaboration requests are closed in a consistent and automated manner, reducing manual effort and ensuring proper synchronization with TSANet.

<figure><img src="/files/VyVN4j7GC25JkQk1D6z6" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Close Collaboration Request (Screen Flow)</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to close a TSANet collaboration request through a guided interface.

The flow:

* Displays a verification screen to confirm the close action
* Invokes an automation subflow to close the TSANet collaboration request
* Evaluates the result of the operation
* Displays an error screen if the close operation fails

This automation handles the closure of TSANet collaboration requests through a user‑driven, guided flow.

<figure><img src="/files/v0O43iogTeWq0z1FSKSF" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Create Note (Automation)</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the creation of a TSANet note for a specific case.

The flow:

* Retrieves the related TSANet case record
* Invokes a subflow to load the note creation form
* Executes an Apex action to create the TSANet note

This automation handles the creation of TSANet notes and ensures they are associated with the correct cases.

<figure><img src="/files/uEJkJtOTWqsd0J2MMCaT" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Get Approve Collaboration Request Form</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the preparation of the approval form for a TSANet collaboration request.

The flow is triggered programmatically and runs without user interaction.

The flow:

* Retrieves the related **Salesforce Case record** to gather the necessary data for the approval process
* Performs an **assignment** to generate and structure the TSANet approval form data

This automation standardizes the preparation of approval forms for TSANet collaboration requests, ensuring consistency and reducing manual effort in the approval process.

<figure><img src="/files/N3HNYB9l8M9fJxxHWKvk" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Get Note Form</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the preparation of a TSANet note form based on an existing case.

The flow is triggered programmatically and runs without user interaction.

The flow:

* Retrieves the related **Salesforce Case record** to obtain the necessary context and data
* Performs an **assignment** to construct and populate the TSANet note form

This automation standardizes the creation of TSANet note forms, ensuring consistency and reducing manual effort when preparing note-related data.

<figure><img src="/files/hKIxrm01VFNKXJ8SuI5q" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Get Reject Collaboration Request Form</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the preparation of a rejection form for a TSANet collaboration request.

The flow is triggered programmatically and runs without user interaction.

The flow:

* Retrieves the related **Salesforce Case record** to gather the required data for the rejection process
* Performs an **assignment** to create and structure the TSANet reject form

This automation ensures that rejection forms for collaboration requests are generated in a consistent and standardized manner, reducing manual effort and supporting a streamlined rejection process.

<figure><img src="/files/4D4F71tLeSnF8vvTFkl3" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>TSANet: Get Request Information Form</summary>

</details>

<details>

<summary><strong>TSANet: Refresh Collaboration Requests</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to manually refresh TSANet collaboration requests.

The flow:

* Executes an Apex action to refresh TSANet case data
* Evaluates the result of the refresh operation
* Displays a success or error message to the user based on the outcome

This automation handles the refresh and validation of TSANet collaboration requests and provides feedback on the operation result.

<figure><img src="/files/2u6AoIj1VgfcV8ncSMM1" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Request Information (Automation)</strong> </summary>

This is an **autolaunched Salesforce Flow** that automates the process of requesting additional information for a TSANet case.

The flow:

* Retrieves the related TSANet case record
* Invokes a subflow to load the request information form
* Executes an Apex action to process the information request

This automation handles the process of requesting additional information for TSANet cases in a consistent and automated manner.

<figure><img src="/files/a2sHkprXhEHAIuANWDhC" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Request Information (Screen Flow)</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to request information for a specific TSANet case through a guided interface.

The flow:

* Retrieves the related TSANet case record
* Displays a screen to capture the information request details
* Invokes a subflow to prepare the request information form
* Executes an Apex action to submit the information request
* Evaluates the result and displays an error screen if the request fails

This automation handles the submission of information requests for TSANet cases through a user‑driven, guided flow.

<figure><img src="/files/trJlfGjfsN9p5vk12cpw" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Request More Information (Screen Flow)</strong> </summary>

This is a **screen‑based Salesforce Flow** that allows users to request additional information for a TSANet case through a guided interface.

The flow:

* Displays a screen to capture the information request details
* Invokes an automation subflow to submit the request
* Evaluates the result of the operation
* Displays an error screen if the request fails

This automation handles the requesting of additional information for TSANet cases through a user‑driven, guided flow.

<figure><img src="/files/HkCYu4s1ydKyIETKFqLZ" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Send Information (Automation)</strong></summary>

This is an **autolaunched Salesforce Flow** that automates the process of sending requested information for a TSANet case.

The flow:

* Retrieves the related TSANet case record
* Invokes a subflow to load the request information form
* Executes an Apex action to send the requested information

This automation handles the sending of requested information for TSANet cases in a consistent and automated manner.

<figure><img src="/files/Jjp6Ph13kBB64DwCdwrv" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Send Information (Screen Flow)</strong></summary>

This is a **screen‑based Salesforce Flow** that allows users to send requested information for a TSANet case through a guided interface.

The flow:

* Displays a screen to capture the requested information
* Invokes an automation subflow to send the entered information
* Evaluates the result of the operation
* Displays an error message if the submission fails

This automation handles the sending of requested information for TSANet cases through a user‑driven, guided flow.

<figure><img src="/files/7Ya40pQmCNrgYPHjE4yQ" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>TSANet: Send Notification (Subflow)</strong></summary>

This is an **autolaunched Salesforce Flow** designed to standardize and automate the notification process for TSANet-related events.

The flow is invoked as a **subflow from other flows** and runs without user interaction.

The flow:

* Retrieves the related **Salesforce Case record** to establish context for the notification
* Retrieves the **notification type configuration** to determine how and to whom the notification should be sent
* Performs an **assignment** to compile and structure the list of notification recipients
* Executes an **action** to send the notification based on the prepared data

This subflow centralizes notification logic, ensuring consistent communication across TSANet processes while reducing duplication and simplifying maintenance.

<figure><img src="/files/chDd3OzRJOz9UmSRRXSa" alt=""><figcaption></figcaption></figure>

</details>

### Package Overview

<details>

<summary>Package Objects, related lists to objects</summary>

<figure><img src="/files/j47hXOf6Gfaqm3lvxbCB" alt=""><figcaption></figcaption></figure>

* **TSANet Case -** A collaboration case within the TSANet framework that serves as the primary record for tracking collaboration between member organizations during a support issue.

**Key attributes may include:**

* TSANet CaseID
* Case (lookup field)
* Status \[ACCEPTED, OPEN, INFORMATION, CLOSED, REJECTED]
* Type \[INBOUND, OUTBOUND]
* Priority \[LOW, MEDIUM, HIGH]
* Priority Note
* Summary
* Description
* Request Date
* Response SLA (Datetime)
* Token (ExternalID)

**Member Information:**

* Company Name (Submitted)
* Name
* Email
* Phone
* Company Name (Received)
* Engineer Name
* Engineer Email
* Engineer Phone
* **Key attributes may include:**

  * TSANet CaseID
  * Case (lookup field)
  * Status \[ACCEPTED, OPEN, INFORMATION, CLOSED, REJECTED]
  * Type \[INBOUND, OUTBOUND]
  * Priority \[LOW, MEDIUM, HIGH]
  * Priority Note
  * Summary
  * Description
  * Request Date
  * Response SLA (Datetime)
  * Token (ExternalID)

  **Member Information:**

  * Company Name (Submitted)
  * Name
  * Email
  * Phone
  * Company Name (Received)
  * Engineer Name
  * Engineer Email
  * Engineer Phone
  * Other Information (custom fields)
* **TSANet Note** – the object is used for logging and managing communications or updates related to a TSANet Case. It allows members to document important information about the case in real-time

  **Key attributes include:**

  * TSANet Case (lookup)
  * Summary
  * Description
  * Creator Name
  * Status
  * Priority \[LOW, MEDIUM, HIGH]
  * Created At
  * Token (ExternalID)
* **TSANet Response** - object captures formal replies or actions taken with an inbound TSANet Case.

  **Key attributes include:**

  * TSANet Response ID (ExternalID)
  * TSANet Case (lookup)
  * Type
  * Note
  * Created At
  * Engineer Email
  * Engineer Phone
* **TSANet Credentials** - object stores and manages secure access information within the TSANet framework. This object ensures member organizations have the necessary authentication details for collaborative support.

  *\* you can have only one credential marked as primary.*

  **Key attributes may include:**

  * UserName
  * Password
  * Environment \[DEVELOPER, BETA, PRODUCTION]
  * isPrimary (mark as true)

**Add a Related List to an Object:**

Many of the Workforce Engagement features rely on related lists to associate information. During your initial configuration, you may need to add related lists to objects.

**To add a related list to an object:**

1. Open **Setup** | **Object Manager** | **{select the object}** | **Page Layouts** | **{object name} Layout**.
2. Select **Related Lists** from the {object name} Layout menu at the top of the page.
3. Drag and drop a related list into the related lists section of the page. Repeat this step for each related list that you want to add.
4. Save your changes.

<figure><img src="/files/OXFHIcZ0fKjkRO55ln3X" alt=""><figcaption></figcaption></figure>

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tsanet.gitbook.io/connect/documentation/salesforce-connector/installation-guide/package-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
