Skip to main content

Customer

Struct Customer 

Source
pub struct Customer {
Show 20 fields pub id: Option<String>, pub created_at: Option<DateTime<Utc>>, pub updated_at: Option<DateTime<Utc>>, pub archived_at: Option<DateTime<Utc>>, pub name: Option<String>, pub logo_url: Option<String>, pub domains: Option<Vec<String>>, pub external_ids: Option<Vec<String>>, pub slack_channel_id: Option<String>, pub owner: Option<Box<User>>, pub status: Option<CustomerStatus>, pub revenue: Option<i64>, pub size: Option<f64>, pub tier: Option<CustomerTier>, pub approximate_need_count: Option<f64>, pub slug_id: Option<String>, pub main_source_id: Option<String>, pub needs: Option<Vec<CustomerNeed>>, pub integration: Option<Box<Integration>>, pub url: Option<String>,
}
Expand description

A customer organization tracked in Linear’s customer management system. Customers represent external companies or organizations whose product requests and feedback are captured as customer needs, which can be linked to issues and projects. Customers can be associated with domains, external system IDs, Slack channels, and managed by integrations such as Intercom or Salesforce.

Fields§

§id: Option<String>

The unique identifier of the entity.

§created_at: Option<DateTime<Utc>>

The time at which the entity was created.

§updated_at: Option<DateTime<Utc>>

The last time at which the entity was meaningfully updated. This is the same as the creation time if the entity hasn’t been updated after creation.

§archived_at: Option<DateTime<Utc>>

The time at which the entity was archived. Null if the entity has not been archived.

§name: Option<String>

The display name of the customer organization.

§logo_url: Option<String>

URL of the customer’s logo image. Null if no logo has been uploaded.

§domains: Option<Vec<String>>

The email domains associated with this customer (e.g., ‘acme.com’). Used to automatically match incoming requests to this customer. Public email domains (e.g., gmail.com) are not allowed. Domains must be unique across all customers in the workspace.

§external_ids: Option<Vec<String>>

Identifiers for this customer in external systems (e.g., CRM IDs from Intercom, Salesforce, or HubSpot). Used for matching customers during integration syncs and upsert operations. External IDs must be unique across customers in the workspace.

§slack_channel_id: Option<String>

The ID of the Slack channel linked to this customer for communication. Null if no Slack channel has been associated. Must be unique across all customers in the workspace.

§owner: Option<Box<User>>

The workspace member assigned as the owner of this customer. Null if no owner has been assigned. App users cannot be set as customer owners.

§status: Option<CustomerStatus>

The current lifecycle status of the customer. Defaults to the first status by position when a customer is created without an explicit status.

§revenue: Option<i64>

The annual revenue generated by this customer. Null if revenue data has not been provided. May be synced from an external data source such as a CRM integration.

§size: Option<f64>

The number of employees or seats at the customer organization. Null if size data has not been provided. May be synced from an external data source such as a CRM integration.

§tier: Option<CustomerTier>

The tier or segment assigned to this customer for prioritization (e.g., Enterprise, Pro, Free). Null if no tier has been assigned.

§approximate_need_count: Option<f64>

The approximate count of customer needs (requests) associated with this customer. This is a denormalized counter and may not reflect the exact count at all times.

§slug_id: Option<String>

A unique, human-readable URL slug for the customer. Automatically generated and used in customer page URLs.

§main_source_id: Option<String>

The primary external source ID when a customer has data from multiple external systems. Must be one of the values in the externalIds array. Null if the customer has zero or one external source.

§needs: Option<Vec<CustomerNeed>>

The list of customer needs (product requests and feedback) associated with this customer.

§integration: Option<Box<Integration>>

The integration that manages this customer’s data (e.g., Intercom, Salesforce). Null if the customer is not managed by any data source integration.

§url: Option<String>

The URL of the customer’s page in the Linear application.

Trait Implementations§

Source§

impl Clone for Customer

Source§

fn clone(&self) -> Customer

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Customer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Customer

Source§

fn default() -> Customer

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Customer

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl GraphQLFields for Customer

Source§

type FullType = Customer

The full generated type this implementation validates against.
Source§

fn selection() -> String

Return the GraphQL field selection string for this type. Read more
Source§

impl Serialize for Customer

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> FieldCompatible<T> for T