> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fentufsm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Objects

> Define data structures and field schemas for integration objects

## Overview

Connect Objects define the data structures used for integration. Each Connect Object represents a type of record (like Customers, Products, or Work Orders) and contains fields that can be mapped during inbound or outbound synchronization.

<img src="https://mintcdn.com/fentu/VaII27VqRBHw2baV/images/fentu-connect/connect-objects/connect-object-list.png?fit=max&auto=format&n=VaII27VqRBHw2baV&q=85&s=fa045846d099f8806e509b67bc90f079" alt="Connect Object List" width="1280" height="720" data-path="images/fentu-connect/connect-objects/connect-object-list.png" />

## Connect Object List

The list displays all defined Connect Objects:

| Column          | Description                                               |
| --------------- | --------------------------------------------------------- |
| **Name**        | The Connect Object name (e.g., "SAP BusinessPartners")    |
| **Object Type** | The internal object type identifier (e.g., "fsmcustomer") |
| **Actions**     | Edit or delete the Connect Object                         |

### List Features

* **Search** - Filter Connect Objects by name
* **New Button** - Create a new Connect Object
* **Pagination** - Navigate through multiple pages
* **Items per Page** - Choose 5, 10, 25, 50, or 100 items per page

***

## Connect Object Detail View

<img src="https://mintcdn.com/fentu/VaII27VqRBHw2baV/images/fentu-connect/connect-objects/connect-object-detail.png?fit=max&auto=format&n=VaII27VqRBHw2baV&q=85&s=2cb3d357d680e54f8f7eeb05e1854069" alt="Connect Object Detail" width="1280" height="720" data-path="images/fentu-connect/connect-objects/connect-object-detail.png" />

Clicking on a Connect Object shows its detail view with:

* **Edit Button** - Modify the object settings
* **Delete Button** - Remove the Connect Object
* **Details Tab** - View object information

### Fields Section

The detail view displays all fields defined for this Connect Object in two sections:

1. **Connect Fields** - Fields available for mapping (with New, Edit, Delete buttons)
2. **Listview Fields** - Fields displayed in list views (with New, Edit, Delete buttons)

Each field row shows:

* Field name
* Edit button (pencil icon)
* Delete button (trash icon)

***

## Creating a Connect Object

To create a new Connect Object:

1. Click the **New** button from the list
2. Fill in the required fields
3. Click **Save**

### Fields

| Field           | Description                                | Required |
| --------------- | ------------------------------------------ | -------- |
| **Name**        | Display name for the Connect Object        | Yes      |
| **Object Type** | Internal identifier (lowercase, no spaces) | Yes      |
| **Description** | Notes about the object's purpose           | No       |

<Tip>
  Use consistent naming conventions. For example, prefix with the source system: "SAP BusinessPartners", "SFDC Contacts", "FSM WorkOrders".
</Tip>

***

## Editing a Connect Object

<img src="https://mintcdn.com/fentu/VaII27VqRBHw2baV/images/fentu-connect/connect-objects/connect-object-edit.png?fit=max&auto=format&n=VaII27VqRBHw2baV&q=85&s=135ce93b26b77624fadb3270ad57e9e4" alt="Connect Object Edit Form" width="1280" height="720" data-path="images/fentu-connect/connect-objects/connect-object-edit.png" />

1. Navigate to the Connect Object detail
2. Click the **Edit** button
3. Modify the fields
4. Click **Save**

| Field           | Description                                   |
| --------------- | --------------------------------------------- |
| **Name**        | The display name shown in lists and dropdowns |
| **Object Type** | The internal identifier used in mappings      |
| **Description** | Optional notes about the object               |

<Warning>
  Changing the Object Type may break existing inbound/outbound connections that reference this object. Only modify with caution.
</Warning>

***

## Managing Fields

Each Connect Object contains fields that define the data structure. Fields are used for:

1. **Mapping** - Defining which source fields map to destination fields
2. **List Views** - Showing data in the UI

### Adding Fields

Click the **New** button in either the Connect Fields or Listview Fields section to add a field.

### Import Fields

Click the **Import** button to bulk import fields from a text file. The file should contain one field name per line.

<Note>
  Field import is useful when migrating from another system or when the external API provides a field list.
</Note>

***

## Connect Fields vs Listview Fields

| Type                | Purpose                                 | Used For                                     |
| ------------------- | --------------------------------------- | -------------------------------------------- |
| **Connect Fields**  | Define all available fields for mapping | Inbound/Outbound field mapping configuration |
| **Listview Fields** | Define fields shown in UI list views    | Display in the application's data tables     |

<Info>
  Connect Fields contain all fields available for synchronization. Listview Fields are a subset that determines what users see in the interface.
</Info>

***

## Predefined Object Types

Fentu Connect comes with some predefined object types that map to Fentu FSM entities:

| Object Type       | Description      | FSM Entity     |
| ----------------- | ---------------- | -------------- |
| `fsmcustomer`     | Customer records | Customer       |
| `fsmworkorder`    | Work orders      | Work Order     |
| `fsmtask`         | Work order tasks | Task           |
| `fsmtasklineitem` | Task line items  | Task Line Item |
| `fsmtime`         | Time entries     | Time Tracking  |

You can also create custom object types for data that doesn't directly map to FSM entities.

***

## Best Practices

<AccordionGroup>
  <Accordion title="Match Source System Structure" icon="copy">
    When creating Connect Objects, mirror the field structure of your source system. This makes mapping more intuitive and reduces transformation complexity.
  </Accordion>

  <Accordion title="Include Key Fields" icon="key">
    Always include unique identifier fields (IDs, codes) that allow records to be matched across systems. These are essential for update operations.
  </Accordion>

  <Accordion title="Document Field Meanings" icon="file-lines">
    Add descriptions to fields that explain their purpose, especially for fields with non-obvious names or fields that require transformation.
  </Accordion>

  <Accordion title="Keep Listview Fields Minimal" icon="compress">
    Only add essential fields to Listview Fields. Too many columns make the UI difficult to read and slow to load.
  </Accordion>

  <Accordion title="Use Consistent Naming" icon="tag">
    Use consistent field naming conventions across all Connect Objects (e.g., snake\_case or camelCase) to make mappings easier to understand.
  </Accordion>
</AccordionGroup>

***

## Common Questions

<AccordionGroup>
  <Accordion title="Can I have multiple Connect Objects for the same data?" icon="question">
    Yes, you can create multiple Connect Objects that represent similar data. This is useful when:

    * Different systems use different field structures
    * You need different views of the same data
    * You want to separate test and production objects
  </Accordion>

  <Accordion title="What happens if I delete a Connect Object?" icon="question">
    Deleting a Connect Object will break any inbound or outbound connections that use it. The connections will fail until they're reconfigured with a different object.
  </Accordion>

  <Accordion title="Can I rename fields after creating them?" icon="question">
    Yes, you can edit fields to change their names. However, changing field names may require updating any inbound/outbound mappings that reference those fields.
  </Accordion>

  <Accordion title="How do I handle nested data structures?" icon="question">
    For nested data (like addresses within a customer record), you can:

    * Flatten the structure by creating individual fields (e.g., `shipping_street`, `shipping_city`)
    * Use array fields for repeating structures (e.g., `BPAddresses` array)
    * Use formulas to extract specific values from nested structures
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Inbound Connections" icon="arrow-down" href="/fentu-connect/inbound">
    Configure inbound connections using Connect Objects
  </Card>

  <Card title="Outbound Connections" icon="arrow-up" href="/fentu-connect/outbound">
    Configure outbound connections using Connect Objects
  </Card>

  <Card title="Formula Reference" icon="function" href="/fentu-connect/formula-reference">
    Learn how to transform data during mapping
  </Card>

  <Card title="Field Mapping" icon="table-columns" href="/fentu-connect/connection-config">
    Detailed guide to field mapping configuration
  </Card>
</CardGroup>
