Skip to main content
This import creates connections between operations in bulk from the relationships already tracked in your CRM or external system—for example, a dealer and each of the producers they sell to. Each row names two of your contacts and the role each one plays. CamoAg matches each contact to its operation and records the connection on both operation profiles.
New to connected operations? Read Connecting Operations first for what a connection is, where it appears in CamoAg, and how it differs from merging.

Requirements: Read First

1
Column names must appear as written below
2
Each row represents one relationship between two contacts. A dealer with fifty customers has fifty rows, all sharing the dealer’s contact_id
3
Both contacts must already exist in the CamoAg platform matching the external contact IDs provided. This file only connects existing contacts; it does not create contacts or operations
4
Both sides of the relationship need a role, and the two roles must be different. For example, one contact is the dealer and the other is the customer

Required fields

  • contact_id (String) - Unique identifier for the first contact. Must match the contact_id used in the contact import.
    • This is not a CamoAg identifier, but rather your own unique identifier for the contact provided in the initial import.
    • Examples: 10156, 0011O00001xjiJNQAY, smithfarms
  • relationship_type (String) - The role the first contact plays in the relationship. Case insensitive
    • Must be one of: dealer, retailer, consultant, or customer
  • related_contact_id (String) - Unique identifier for the second contact. Must match the contact_id used in the contact import, and must be different from contact_id.
    • This is not a CamoAg identifier, but rather your own unique identifier for the contact provided in the initial import.
    • Examples: 10158, 0011O000028mk9oQAA, jonesgrain
  • related_relationship_type (String) - The role the second contact plays in return. Case insensitive, and must be different from relationship_type
    • Must be one of: dealer, retailer, consultant, or customer
These four roles cover dealer-to-producer, retailer-to-producer, consultant-to-producer, and producer-to-producer relationships. They’re the same roles you can pick when connecting operations by hand.

Rows that are skipped

A row is skipped, and no connection is created from it, when any of the following are true:
  • contact_id or related_contact_id is blank
  • contact_id and related_contact_id are the same—a contact can’t be connected to itself
  • relationship_type or related_relationship_type is blank or isn’t one of the accepted roles outlined above
  • relationship_type and related_relationship_type are the same role

Updating connections

Each pair of contacts has one connection. If the same pair appears again, in the same file or a later upload, the row from the most recent file is used. To change how two contacts relate, send the pair again with the new roles.
List each pair once, in one direction. A connection already reads correctly from both operation profiles, so there’s no need to add a second row with the contacts swapped.
Connections from earlier uploads stay in place when a later file leaves them out. To remove a connection, delete it from the operation profile as described in Connecting Operations, or email support@camo.ag.

Example

In this example, dealer 10156 is connected to two customers, and customer 10158 also buys from retailer 20410. Each operation profile shows every connection it’s part of. The same example as a CSV file, ready to copy and use as a template:
operation_connections.csv

Connecting Operations

What connected operations are and how to create, view, and remove them in CamoAg.

Contacts (CSV)

Deliver the contacts this import connects.
Last modified on September 28, 2026