Use Lime Go's GraphQL API to search for and update data on Organizations

Available data

This is the only data that can be requested from our API. If you have any additional wishes, please contact us.

KeyDescription
idId
nameName
cityCity
emailEmail
phoneNumberPhone number related to the organization
organizationNumberOrganization number
responsibleCoworkerResponsible Coworker (id, name, email and phone number)
customFieldsCustom fields (title, type and value)
integrationIdIntegration id
temperatureTemperature
customerRelationRelation to organization
tagsTags
employeesSearch for persons connected to organization (id, name, email, phone number and tags)
dealsSearch for deals connected to organization (id, name, status and tags)

Queries

The ways to fetch one or more organizations and it's related data.

Get a specific organization by id.

InputDescription
idThe id of the organization which could be either of the "{sourceName}{number}" or "{number}" format.
queryWhen applied to the employees or deals query, it works the same way as with the persons query and the deals query as described further below in the query list, with the exception that the deals and employees are of course associated with the given organization.
firstThe amount of items to fetch. Defaults to 10. Max 20 at a time.
offsetThe amount of items to skip. Defaults to 0.
organization(id: "pase106797") {
  id
  name
  city
  email
  phoneNumber
  organizationNumber
  responsibleCoworker {
		id
  	name
  	email
  	phoneNumber
	}
	customFields {
  	title
    type
    value
  }
	integrationId
  temperature
  customerRelation
  tags
  employees(query: "[email protected]", first: 5, offset: 0) {
	  id
    name
    email
  	phoneNumber
  	tags
	}
  deals(query: "Big Deal", first: 5, offset: 0) {
	  id
  	name
  	status
  	tags
  }
}
{
  "data": {
    "organization": {
      "id": "pase106797",
      "name": "Lime Technologies Sweden AB",
      "city": "LUND",
      "email": "[email protected]",
      "phoneNumber": [
        "046-2704800"
      ],
      "organizationNumber" : "23235-23123",
      "responsibleCoworker": {
				"id": 2343,
  			"name" : "Max Nyman",
  			"email": "[email protected]",
  			"phoneNumber": "046-2704800"
			},
			customFields: [
      	{
      		"title": "Social Media Link",
      		"type": "Link",
       		"value": "https://www.linkedin.com/company/limetechnologies"
    		}
      ],
    	"integrationId": 2344,
      "temperature": 66.98342680275138,
      "customerRelation": "IS_A_CUSTOMER",
      "tags": [
        "sample", 
        "batch"
      ],
      employees:  [
        {
          "id": "pase1578159",
          "name": "Anna Johansson",
          "email": "[email protected]",
          "phoneNumber": [
            "+46462704800"
          ],
          "tags": [
            "sample"
          ]
        }
      ],
      deals: [
        {
          "id": 850851,
          "name": "Big Deal",
          "status": "ORDER",
          "tags": [
            "sample"
          ]
        }
      ]
    }
  }
}

Get a specific organization by externalKey

InputDescription
idThe value that is stored in the externalKey field
externalKeyNameThe name of the custom field or __integrationid / __bisnodeid
queryWhen applied to the employees or deals query, it works the same way as with the persons query and the deals query as described further below in the query list, with the exception that the deals and employees are of course associated with the given organization.
firstThe amount of items to fetch. Defaults to 10. Max 20 at a time.
offsetThe amount of items to skip. Defaults to 0.

External key is a user defined Custom field of type ExternalKey that can be created in Lime Go for Organization Deal and Person. You'll find it under Settings after you logged into Lime Go.

If you set externalKeyName to __integrationid or __bisnodeid. This will change the scope from the user defined Custom field to look for the supplied value in corresponding field.

organization(id: "123", externalKeyName: "Name of external key") {
  id
  name
  city
  email
  phoneNumber
  organizationNumber
  responsibleCoworker {
		id
  	name
  	email
  	phoneNumber
	}
	customFields {
  	title
    type
    value
  }
	integrationId
  temperature
  customerRelation
  tags
  employees(query: "[email protected]", first: 5, offset: 0) {
	  id
    name
    email
  	phoneNumber
  	tags
	}
  deals(query: "Big Deal", first: 5, offset: 0) {
	  id
  	name
  	status
  	tags
  }
}
{
  "data": {
    "organization": {
      "id": "pase106797",
      "name": "Lime Technologies Sweden AB",
      "city": "LUND",
      "email": "[email protected]",
      "phoneNumber": [
        "046-2704800"
      ],
      "organizationNumber" : "23235-23123",
      "responsibleCoworker": {
				"id": 2343,
  			"name" : "Max Nyman",
  			"email": "[email protected]",
  			"phoneNumber": "046-2704800"
			},
			customFields: [
      	{
      		"title": "Social Media Link",
      		"type": "Link",
       		"value": "https://www.linkedin.com/company/limetechnologies"
    		}
      ],
    	"integrationId": 2344,
      "temperature": 66.98342680275138,
      "customerRelation": "IS_A_CUSTOMER",
      "tags": [
        "sample", 
        "batch"
      ],
      employees:  [
        {
          "id": "pase1578159",
          "name": "Anna Johansson",
          "email": "[email protected]",
          "phoneNumber": [
            "+46462704800"
          ],
          "tags": [
            "sample"
          ]
        }
      ],
      deals: [
        {
          "id": 850851,
          "name": "Big Deal",
          "status": "ORDER",
          "tags": [
            "sample"
          ]
        }
      ]
    }
  }
}

Search for organizations

InputDescription
queryWhen applied to the top level organizations query, the query text is applied against an organization's name and its visiting address.
If no query has been provided then all first x organizations are returned.
When applied to the employees or deals query, it works the same way as with the persons query and the deals query as described further below in the query list, with the exception that the deals and employees are of course associated with the given organization.
firstThe amount of items to fetch. Defaults to 10. Max 20 at a time.
offsetThe amount of items to skip. Defaults to 0.
organizations(query: "Lime technologies sweden ab", first: 15, offset: 0) {
  id
  name
  city
  email
  phoneNumber
  temperature
  customerRelation
  turnover
  numberOfEmployees
  tags
  employees(query: "[email protected]", first: 5, offset: 0) {
	  id
    name
    email
  	phoneNumber
  	tags
	}
  deals(query: "Big Deal", first: 5, offset: 0) {
	  id
  	name
  	status
  	tags
  }
}
{
  "data": {
    "organizations": [
      {
        "id": "pase106797",
        "name": "Lime Technologies Sweden AB",
        "city": "Lund",
        "email": "[email protected]",
        "phoneNumber": [
          "+46462704800"
        ],
        "temperature": 66.98342680275138,
        "customerRelation": "IS_A_CUSTOMER",
        "turnover": 217623000,
        "numberOfEmployees": "100 - 199",
        "tags": [
          "sample",
          "batch"
        ],
        employees:  [
          {
            "id": "pase1578159",
            "name": "Anna Johansson",
            "email": "[email protected]",
            "phoneNumber": [
              "+46462704800"
            ],
            "tags": [
              "sample"
            ]
          }
    		],
        deals: [
          {
            "id": 850851,
            "name": "Big Deal",
            "status": "ORDER",
            "tags": [
            	"sample"
          	]
    			}
    		]
      },
      {
        "id": "pase1441896",
        "name": "Lime Technologies Sweden AB",
        "city": "Göteborg",
        "email": null,
        "phonenumber": [
          "+46317124400"
        ],
        "temperature": 0,
        "customerRelation": "NO_RELATION",
        "turnover": 217623000,
        "numberOfEmployees": "100 - 199",
        "tags": [
          "sample", 
          "batch"
        ]
      }
    ]
  }
}

Mutations

The available mutations for updating Organizations.

💡

Use one mutation for everything

If you intend to do multiple modifications to a organization, we recommend that you set them all in the same mutation (as below) since this will be fully transactional. Meaning that either all data gets saved or none.

Update multiple fields

In the example below we are setting a relation as well as responsibleCoworker and adding two new tags to a company with id pase7136.

mutation {
  updateOrganization(input: {
    id: "pase7136"
    relation: IS_A_CUSTOMER
    responsibleCoworker: { identifier: "1001" }
    tags: { addTags: ["hej", "ho"] }
  }) {
    id
    name
    city
    organizationNumber
    temperature
    customerRelation
    responsibleCoworker { id, email, name }
    tags
  }
}

Set relation on organization

mutation {
  updateOrganization(input: {
    id: "pase7136"
    relation: IS_A_CUSTOMER
  }) {
    id
    name
    customerRelation
  }
}

Add tags on organization

mutation {
  updateOrganization(input: {
    id: "pase7136"
    tags: { addTags: ["Extra tag", "From GraphQL"] }
  }) {
    id
    name
    tags
  }
}

Set responsible coworker on organization

mutation {
  updateOrganization(input: {
    id: "pase7136"
    responsibleCoworker: { identifier: "1001" }
  }) {
    id
    name
    responsibleCoworker { id, email, name }
  }
}

Set external key on organization

A Custom Field with name Name of existing field must already exist on Organization

mutation {
  updateOrganization(input: {
    id: "pase7136"
    externalKey: { name: "Name of existing field", value: "456" }
  }) {
    id
    name
  }
}