# Authentication
Source: https://productlane.mintlify.dev/docs/api-reference/authentication

Learn how to authenticate with the API.

To begin using the Productlane.com API, you'll need to authenticate your
requests. Start by obtaining your API key from the
[API settings page](https://productlane.com/settings/integrations/api) page. Here you'll find
your API key that you'll need to authenticate the majority of your requests to
the API.

```bash
'Authorization': 'Bearer <API_KEY>'
```

Once you have your API key, you'll need to add it to the requests you'll be
sending to the API. When making requests that require authentication, set the
`Authorization` header to `Bearer API_KEY`, where `API_KEY` is the key you
obtained earlier.

That's it! Now you're ready to interact with the Productlane API.


# Create company
Source: https://productlane.mintlify.dev/docs/api-reference/companies/create-company

post /companies
Create a new company. Authentication required.



# Delete company
Source: https://productlane.mintlify.dev/docs/api-reference/companies/delete-company

delete /companies/{id}
Delete a company by id. Authentication required.



# Get company
Source: https://productlane.mintlify.dev/docs/api-reference/companies/get-company

get /companies/{id}
Get a company by id. Authentication is required.



# List companies
Source: https://productlane.mintlify.dev/docs/api-reference/companies/list-companies

get /companies
List all companies. Please note that you'll need to provide a 'take' and 'skip' parameter to paginate through the results. If no parameters are provided, it will be default take the first 10 results. Authentication is required.



# Create contact
Source: https://productlane.mintlify.dev/docs/api-reference/contacts/create-contact

post /contacts
Create a new contact for your workspace, you can create as many contacts as you want, but authentication is required



# Delete contact
Source: https://productlane.mintlify.dev/docs/api-reference/contacts/delete-contact

delete /contacts/{id}
Delete contact by ID. You can delete only your own contacts, and authentication is required.



# Get contact
Source: https://productlane.mintlify.dev/docs/api-reference/contacts/get-contact

get /contacts/{id}
Get contact by ID or email. You can get only your own contacts, and authentication is required.



# Get contacts
Source: https://productlane.mintlify.dev/docs/api-reference/contacts/get-contacts

get /contacts
Get all contacts for your workspace, you can get only your own contacts, and authentication is required



# Update contact
Source: https://productlane.mintlify.dev/docs/api-reference/contacts/update-contact

patch /contacts/{id}
Update contact by ID. You can update only your own contacts, and authentication is required.



# Create insight
Source: https://productlane.mintlify.dev/docs/api-reference/notes/create-insight

post /insights
Create a new insight for your workspace. Authentication is required. The "text" can be HTML formatted for things like line breaks, lists, formatting and headings.



# Get insight
Source: https://productlane.mintlify.dev/docs/api-reference/notes/get-insight

get /insights/{id}
Get insight by ID. Authentication is required.



# List insights
Source: https://productlane.mintlify.dev/docs/api-reference/notes/list-insights

get /insights
Threads are called insights in our API. List all insights for your workspace. Please note that you'll need to provide a 'take' and 'skip' parameter to paginate through the results. If no parameters are provided, it will be default take the first 100 results. You can also provide an 'issueId' or 'projectId' in the input paremters, to only get issues for a specific issue or project. Authentication is required.



# Update insight
Source: https://productlane.mintlify.dev/docs/api-reference/notes/update-insight

patch /insights/{id}
Update insight by ID. Authentication is required.



# Create feedback
Source: https://productlane.mintlify.dev/docs/api-reference/portal/create-feedback

post /feedback
Create new feedback. This is the equivalent of adding feedback through the widget or portal.



# Delete upvote
Source: https://productlane.mintlify.dev/docs/api-reference/portal/delete-upvote

delete /portal/upvotes/{id}
Delete an upvote for either an issue or project



# Get changelog
Source: https://productlane.mintlify.dev/docs/api-reference/portal/get-changelog

get /changelogs/{workspaceId}/{changelogId}
Get a changelog by ID. No authorization is required.



# Get issue
Source: https://productlane.mintlify.dev/docs/api-reference/portal/get-issue

get /issues/{workspaceId}/{issueId}
Get an issue by ID. No authorization is required.



# Get project
Source: https://productlane.mintlify.dev/docs/api-reference/portal/get-project

get /projects/{workspaceId}/{projectId}
Get a project by ID. No authorization is required.



# Get upvotes
Source: https://productlane.mintlify.dev/docs/api-reference/portal/get-upvotes

get /portal/upvotes
Get upvotes for an issue or a project. Authorization is required.



# List changelogs
Source: https://productlane.mintlify.dev/docs/api-reference/portal/list-changelogs

get /changelogs/{workspaceId}
List all changelogs for a workspace by ID. No authorization is required.



# List issues
Source: https://productlane.mintlify.dev/docs/api-reference/portal/list-issues

get /issues/{workspaceId}
List all issues from a workspace by ID. Important: The workspace needs to have their portal/roadmap published, or the request will fail with the error 'Workspace not found'. No authorization is required.



# List projects
Source: https://productlane.mintlify.dev/docs/api-reference/portal/list-projects

get /projects/{workspaceId}
List all projects from a workspace by ID. Important: The workspace needs to have their portal/roadmap published, or the request will fail with the error 'Workspace not found'. No authorization is required.



# Upvote project
Source: https://productlane.mintlify.dev/docs/api-reference/portal/upvote-project

post /portal/upvotes
Upvote a project or an issue by ID. No authorization is required.



# Create segment
Source: https://productlane.mintlify.dev/docs/api-reference/segments/create-segment

post /segments
Create a new segment. Authentication required.



# Delete segment
Source: https://productlane.mintlify.dev/docs/api-reference/segments/delete-segment

delete /segments/{id}
Delete a segment by id. Authentication required.



# Get segment
Source: https://productlane.mintlify.dev/docs/api-reference/segments/get-segment

get /segments/{id}
Get a segment by id. Authentication is required.



# List segments
Source: https://productlane.mintlify.dev/docs/api-reference/segments/list-segments

get /segments
List all segments. Please note that you'll need to provide a 'take' and 'skip' parameter to paginate through the results. If no parameters are provided, it will be default take the first 10 results. Authentication is required.



# Get workspace
Source: https://productlane.mintlify.dev/docs/api-reference/workspaces/get-workspace

get /workspaces/{id}
Fetch any given workspace with an ID. No authentication is required.



# Assignment
Source: https://productlane.mintlify.dev/docs/guide/assignment

Assign users from your team to threads.

![contacts](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/assignment.png)

You can assign threads to your team to make sure the right person is notified for new customer replies.

Assign a thread with the shortcut `A`. On the inbox you can filter assignees by pressing `F` to quickly find unassigned or your own threads.

<Tip>
  Only the user assigned to the thread will get an email or Slack notification
  for new responses of that customer.{" "}
</Tip>


# External Call Recordings
Source: https://productlane.mintlify.dev/docs/guide/call-automation

Automatically send external call recordings to Productlane with Zapier.

Your sales & customer support teams might use their own call recording software (like Fathom and Gong) instead of our own Productlane call recorder. To still get those valuable recordings into Productlane and therefore to the product team, you can get inspired by the fully automated workflow below that our customer Sked Social is using.

![automated-call-workflow](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/automated-call-workflow.png)

## Push Call Transcripts to Productlane

<Steps>
  <Step title="New Hubspot Engagement">
    Use the meeting type to set up a new hubspot engagement.
  </Step>

  <Step title="Set Up Condition for Video">
    Set up the next step to only continue if contains `Fathom` or `VIDEO RECORDING` (this condition depends on your call recorder and setup, so you might want to change Fathom to another call recorders name).
  </Step>

  <Step title="Get Hubspot Contact & Company">
    As in this case the contact and company are not on the meeting, only an ID, you will need to get contact and company from Hubspot.
  </Step>

  <Step title="Run Python Script">
    Run the following Python script adapted to your setup and insert your API key as well as your workspace ID.

    ```Python
    import requests

    product_lane_api_key = "INSERT YOUR API KEY"
    product_lane_workspace_id = "INSERT YOUR WORKSPACE ID"

    url = "https://productlane.com/api/v1/insights"

    headers = {
    "Authorization": f"Bearer {product_lane_api_key}"
    }

    data = {
    "contactEmail": input_data['contact_email'],
    "contactName": input_data['contact_name'],
    "originLevel": "INDIVIDUAL",
    "origin": "HUBSPOT",
    "text": input_data['meeting_transcript']
    }

    response = requests.post(url, headers=headers, data=data)

    ```
  </Step>

  <Step title="Benefit from the insights">
    Now your product team can easily access valuable call insights and new ones will show up automatically in Productlane 🎉.
  </Step>
</Steps>


# Productlane Recorder
Source: https://productlane.mintlify.dev/docs/guide/calls

Record calls with Productlane to share full context with engineers.

Record a call and write meeting notes in Productlane. Each new line in a note will get a timestamp, and if you connect that with a Linear issue afterward, your engineers can quickly go from the link on the issue to the exact second of the recording.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/calls.mp4" />

## How it works

Simply open a new note, and the input field for your meeting note will appear. If you paste the link, a meeting bot will ask you to join your meeting. If you let it in, it will record the call for you. After that, just type notes how you normally do it in the editor, and see a timestamp appear on the right.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/Timestamp-cut.mp4" />

## Upload and transcribe a meeting

You can also upload a video manually, by clicking <code>Upload video</code> on the video file icon. After you uploaded it, you can transcribe it and connect the transcript with Productlane issues and projects.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/transcribe.mp4" />


# Changelog
Source: https://productlane.mintlify.dev/docs/guide/changelog

A new changelog draft for every closed Linear project.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/changelog.mp4" />

You won’t find “Completed” projects on your portal. Instead, we think you should spin stories around your releases and not just give your users a list of done things to read over.

That's why, for every new project you complete in Linear, a new Changelog draft will appear in Productlane. You can fill it with anything you want afterward, but we help you select the most recent completed issues, already grouped by label.

A Changelog is most engaging when it highlights the most important feature while also mentioning other minor new features you shipped recently. That’s why we recommend only having one title image per Changelog that frames your story in a certain way.


# Chrome Extension
Source: https://productlane.mintlify.dev/docs/guide/chrome-extension

Send Feedback from everywhere to Productlane with the Productlane Chrome Extension.

Valuable feedback from customers can come from various platforms and sources. With the Productlane Chrome Extension you can leverage feedback
from everywhere by simply highlighting text and send it to Productlane.

## How to set up the Chrome Extension

<Steps>
  <Step title="Install 'Send to Productlane' from chrome web store">
    You can either go the chrome web store and search for 'Send to Productlane' or follow this direct link:<br />
    [Send to Productlane](https://chromewebstore.google.com/detail/send-to-productlane/knpflangjmbnhdmemcnlejnnaomangpg)<br />
    Now click `Add to Chrome` to install the extension.

    ![install-chrome-extension](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/chrome-extension-install.png)
  </Step>

  <Step title="Add API Key und Email">
    After installing the extension you will need to click on it to open the API und Email setting.<br />
    Here add your Productlane API Key and the Email you want your feedback to be assigned to (e.g. your own email address).<br />

    ![set-API-email](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/chrome-extension_API.png)

    **Can't find your API key?**<br />
    Go to Productlane `Settings`, click on `API` and `Create API Key`.
  </Step>

  <Step title="Send feedback to Productlane">
    After setting up the extension correctly you can highlight any text on a website and choose `Send to Productlane` from the right click menu.<br />

    ![send-highlighted-text](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/chrome-extension-send.png)
  </Step>

  <Step title="Receive feedback in Productlane">
    You will now see the highlighted text from before show up in the thread overview as a new feedback.<br />
    The note will even contain a link to the source of the original feedback.

    ![receive-in-productlane](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/chrome-extension-receive.png)
  </Step>
</Steps>


# Concept
Source: https://productlane.mintlify.dev/docs/guide/concept

Connect feedback with Linear issues and projects.

Productlane is the first platform that combines a feedback hub with customer support and integrates all that tightly into Linear. The core concept is that everything in Productlane is about your customers and their feedback, and every feature idea should live in Linear.

![0a3987ee77601551ec9fef13e913c333 Pn](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/0a3987ee77601551ec9fef13e913c333.png)

## Threads are at the heart

Threads are emails, Slack messages, survey results and all your other feedback. Depending on the thread source, they consist of an editable notes field at the top and a thread below, where you can comment or answer via email or slack, if you connected it. The main action you will to on threads is to reply and link them to Linear issues or projects.

## Connect threads with Linear

We believe, your issue tracker is the best place to centralize all your ideas. From the beginning, when they are still observations, until the very end, when they are fully fledged out projects with milestones and todos, ready to be built and bring value to the world.

Priorities are constantly shifting. That's why, if you keep an opportunity backlog separate from Linear, you will have a lot of duplicate work over time.
Some ideas should be built right away as they are easy to do, some fully planned out projects on your roadmap turn out too ambitioned and should be put back into an idea state, as the solution to the problem turns out wrong, or the problem turns out not being important enough.
If everything is in Linear, it’s very easy to shift things around, and you will keep the full overview all the time.

## Close the loop

Another core concept of Productlane is helping you close the loop. That way you can make sure that you really implemented it and the customers know that their feedback mattered. If you connect a thread to Linear and mark it as done, the thread will move back to your inbox as soon as the linked issues or project is completed in Linear.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/feedback-loop.mp4" />

<AccordionGroup>
  <Accordion title="Create a Linear 'Feature requests' team">
    So, yes, we recommend to keep every idea in Linear. We recommend creating a separate "Feature requests" team in Linear to avoid cluttering your backlog and not confuse engineers about what should be built and what not.

    ![feature-request-team](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/feature-request-team.png)
  </Accordion>

  <Accordion title="When to use tags">
    We suggest to use tags for everything that's not actionable. If you're a user researcher or you're doing a lot of interviews, we also suggest using tags for your observations. You can turn them later into Linear issues or projects when they are ready. At Productlane, we use tags for example to track signup, upgrade and churn reasons and competitor mentions on a continuous basis.
  </Accordion>

  {" "}

  <Accordion title="How to display feedback directly in Linear">
    You can even directly display the feedback count from Productlane in Linear, by activating the “Links” property in the Linear display settings:

    <video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/feature-request-links.mp4" />
  </Accordion>
</AccordionGroup>

## Essential setup

Set up emails, Slack, and your widget to cover 80% of your feedback sources.

<CardGroup cols="3">
  <Card title="Setup Email" icon="inbox" iconType="light" href="/guide/emails/email-inbox">
    Link a 'feedback@' or your support email to directly reply within
    Productlane.
  </Card>

  <Card title="Connect Slack" icon="Slack" iconType="light" href="/guide/slack">
    Get all feedback from Slack into
    Productlane and sync entire threads 2-way.
  </Card>

  <Card title="Widget" icon="code" iconType="light" href="/guide/widget">
    Install a widget on your website for feedback, changelog and support.
  </Card>
</CardGroup>

## Importer tools

We built 3 importer tools so you can get started as quickly as possible.

<CardGroup cols="3">
  <Card title="Productboard importer" icon="file-import" iconType="light" href="/guide/productboard-import">
    Migrate from Productboard to Productlane with one click.
  </Card>

  <Card title="CSV import" icon="file-csv" iconType="light" href="/guide/csv-import">
    Import new feedback as CSV into Productlane.
  </Card>

  <Card title="Linear importer" icon="circle-down" iconType="light" href="/guide/linear-import">
    Get all issue links from Front, Intercom or Zendesk into Productlane.
  </Card>
</CardGroup>


# Contacts
Source: https://productlane.mintlify.dev/docs/guide/contacts

Find customers who are actively giving you feedback.

![contacts](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/contacts.png)

The “Contacts” section includes people happy to give you feedback regularly, their companies, and a list of segments you can provide them. That way, your engineers or designers can directly contact customers to get real feedback on a feature idea.

Using `CMD + K,` you can very quickly search for the right company or user to get an overview of what problems they are still waiting to be solved for them.

## See all feedback of a company at a glance

Another beautiful feature in Productlane is that you can view all feedback from all people wihtin a certain company at a glance.
On the company details, you can see all feedback on the left, and on the right you see all linked Linear issues and projects of every person in that company.

![contacts details](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/contacts-details.png)


# CSV upload
Source: https://productlane.mintlify.dev/docs/guide/csv-import



Navigate to `Import/Export` in the settings to quickly import CSV files of existing customer feedback into Productlane. We recommend adding the email of the customer to each feedback, it will automatically generate the persons name and company when you upload it.

![csv](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/csv.png)


# Custom data
Source: https://productlane.mintlify.dev/docs/guide/custom-data

Connect your database or other 3rd party libraries with Productlane.

Display custom data for each company or person in each thread. Display things like their pricing tier, usage, an impersonation button, activation milestones and more to enable an excellent and fast support experience for your customers.

![csv](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/contact-data.png)

## How to

In your Custom Data settings you specify the endpoint that returns the JSON data of your components. This handler also takes care of fetching and parsing data to be represented. You can also provide headers optionally when creating a Custom Data.

![Custom Data](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/sidebar-section.png)

The specified endpoint can handle complex data and integrate multiple data sources. In the end it is important that it returns your customized components structure. The following shows an example using NextJS.

1. Create the function that serves the request under e.g. `pages/api/sidebar/section.ts`.

```ts
export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {

  return res.status(200).json({
    components: [
      ... // Components structure
    ]
  })
}
```

1. Integrate data sources and fetch all data you want e.g. Stripe, Prisma, etc.

```ts
export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  // Use email
  const email = (req.body as { email: string; threadId: string }).email;

  // Fetch for customer data
  const customer = await prisma.customer.findUnique({
    where: {
      email,
    },
  });

  // Get subscription from customer
  const { items } = await stripe.subscriptions.retrieve(
    customer.subscriptionId
  );

  // Take priceId from first subscription
  const priceId = items.data[0]?.price.id;

  return res.status(200).json({
    components: [
      {
        // Components structure
        type: "row",
        left: [
          {
            type: "text",
            color: "normal",
            size: "m",
            text: "Current price",
          },
        ],
        right: [
          {
            type: "text",
            color: "muted",
            size: "s",
            text: priceId,
          },
        ],
      },
    ],
  });
}
```

### Request Body

The request body contains:

* threadId: `string`

* email: `string`

***

Back on the Thread View you will find a new section with the title and the data you are displaying.

## Components

We provide you with a set of components including text and button to help you build your custom data integration. Each component needs to be included in a row which is separated by a left and right section for proper vertical and horizontal layout. Choose the attributes you want to apply and add them into a JSON response from your endpoint.

### Row

| Type | Attributes      |
| ---- | --------------- |
| Row  | `right`, `left` |

**Example**

```ts
{
  type: "row",
	left: [
		{ type: "text", color: "normal", size: "m", text: "Threads created" },
		{ type: "text", color: "muted", size: "s", text: "In the last 2 weeks" },
	],
	right: [{ type: "badge", color: "green", text: "25 of 100" }],
}
```

### Text

| Type | Attributes              |
| ---- | ----------------------- |
| Text | `color`, `size`, `text` |

**Example**

```ts
{
  type: "text",
  color: "normal | muted",
  size: "s | m | l",
  text: "Threads created"
}
```

### Badge

| Type  | Attributes      |
| ----- | --------------- |
| Badge | `color`, `text` |

**Example**

```ts
{
  type: "badge",
  color: "green",
  text: "25 of 100"
}
```

### Spacer

| Type   | Attributes |
| ------ | ---------- |
| Spacer | `size`     |

**Example**

```ts
{
  type: "spacer",
  size: "s | m | l"
}
```

### LinkButton

| Type       | Attributes             |
| ---------- | ---------------------- |
| LinkButton | `size`, `label`, `url` |

**Example**

```ts
{
  type: "linkButton",
  label: "View usage",
  url: "https://google.com"
}
```

### CopyButton

| Type       | Attributes         |
| ---------- | ------------------ |
| CopyButton | `value`, `tooltip` |

**Example**

```ts
{
  type: "copyButton",
  value: `https://productlane.com/threads/${id}`,
  tooltip: "Copy Productlane thread link"
}
```

### Full example

One full example might look like the following. You need to return this structure from your defined webhook/endpoint in order to be rendered as Custom Sidebar Cards.

```ts
const components = [
  {
    type: "row",
    left: [
      { type: "text", color: "normal", size: "m", text: "Threads created" },
      { type: "text", color: "muted", size: "s", text: "In the last 2 weeks" },
    ],
    right: [{ type: "badge", color: "green", text: "25 of 100" }],
  },
  { type: "spacer", size: "m" },
  {
    type: "row",
    left: [{ type: "text", color: "muted", size: "s", text: "MRR" }],
    right: [{ type: "text", color: "normal", size: "m", text: "149" }],
  },
  { type: "spacer", size: "m" },
  {
    type: "row",
    left: [{ type: "text", color: "muted", size: "s", text: "ARR" }],
    right: [{ type: "text", color: "normal", size: "m", text: "1.788" }],
  },
  { type: "spacer", size: "m" },
  { type: "linkButton", label: "View usage", url: "https://google.com" },
];
```


# Custom domain
Source: https://productlane.mintlify.dev/docs/guide/custom-domain

Connect your own domain to your portal.

Connect your own domain to streamline your branding on your Productlane portal, for example, on **roadmap.yourdomain.com** instead of **yourname.productlane.com**. To set up a custom domain, just two things are needed:

<Steps>
  <Step title="Open domain settings">
    Go to
    [productlane.com/settings/domain](https://productlane.com/settings/domain).
    There, enter the domain you want to use. The subdomain can be anything you
    want. We’re using `roadmap` for this example.
  </Step>

  <Step title="Go to the DNS settings of your domain">
    In your DNS settings, add a new *CNAME Record* for the subdomain you chose
    above. How this looks depends on where you’ve bought your domain. In
    general, the result should look something like this:
    ![domain](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/domain.png)
    Not sure where to find
    these settings? You can usually find them at the place you’ve bought your
    domain. Try Googling for “DNS settings” plus the name of your provider!

    **Want to use a different subdomain?** If you decide to use something different than `roadmap` as your subdomain, make sure to update both your Productlane settings (step 1) and DNS settings (step 2).

    **For Cloudflare users:** Please set the Proxy status option to off (DNS only). Otherwise, there might be SSL-related issues. If there are any troubles setting this up, don’t hesitate to shoot us a message at [support@productlane.com](mailto:support@productlane.com), and we’ll help you get this sorted 🤝
  </Step>
</Steps>

<Accordion title="SSL issues like “525: SSL handshake failed” on Cloudflare and similar providers">
  Commonly, this happens when using Cloudflare’s **Proxy status** setting.

  Go to [**dash.cloudflare.com**](https://dash.cloudflare.com) > **Websites** > **(Your Domain)** > **DNS**, then look for the record ending in `.productlane.com`

  Click on **Edit ▸** and toggle it off (DNS only):

  ![cloudflare](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/cloudflare.png)

  These changes could take a while to update, depending on a number of factors.

  If there hasn’t been a change within 24 hours, or if this is frustrating to get to work (because it is!), then send us a message at [support@productlane.com](mailto:support@productlane.com), and we’ll help you get this sorted.
</Accordion>


# Email forwarding
Source: https://productlane.mintlify.dev/docs/guide/email-forwarding



## Overview

You can generate a unique email address that you can forward feedback to and that will create a new note in Productlane.

## How it works

Copy the generated email address and save it as a contact.
Send customer feedback emails to that address.
Productlane will automatically identify the sender as a customer and create a new profile if necessary and add the feedback to your Productlane inbox.


# Email inbox
Source: https://productlane.mintlify.dev/docs/guide/emails/email-inbox

Answer customer feedback via email or move your whole support to Productlane.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/feedback-inbox-w.mp4" />

Move your customer conversations to Productlane by enabling Productlane to send and receive emails.
Sending & receiving emails in Productlane enables you to reply to incoming feature requests and bug reports and close the feedback loop even smoother.
You can completely replace your support tool and make Productlane your single source of truth for user feedback, research, and support.

## Receiving and answering feedback

Automatically receive incoming email feedback in your Productlane inbox and handle the support conversation directly in Productlane.

## Closing the feedback loop

As soon as a linked Linear issue is done the thread will automatically move back to your inbox. From here seamlessly notify the customer per email that the issue as been done and close the feedback loop - right from your Productlane inbox.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/inbox-feedback-loop-w.mp4" />

## How to set up your email inbox

<Steps>
  <Step title="Navigate to Productlane settings">
    Below `Workspace` you will find `Email Inbox`.<br />
    Or click [here](https://productlane.com/settings/emails) to open the settings for email inbox.
  </Step>

  <Step title="Choose your primary email">
    Customers can contact you at this address and outgoing emails will be sent from this address.
    ![primary-email](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/primary-email.png)
  </Step>

  <Step title="Enable email forwarding to receive emails">
    To receive emails, you need to forward emails from your primary email to our special inbound address.<br />
    Check the box for `I have added forwarding` and press `Save and continue`.<br />

    [How to set up email forwarding](/guide/emails/receiving-emails)

    ![email-forwarding](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/email-forwarding.png)
  </Step>

  <Step title="Add DNS records to enable sending emails">
    To enable Productlane to send emails on your behalf you will need to verify your domain with us. Doing so will also assure email clients that emails are sent with your permission.

    After adding the DNS records to your domain press `Verify DNS records`.

    ![verify-dns-records](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/verify-dns.png)
  </Step>

  <Step title="Final step: enable emails">
    Click `Enable emails` and start using Productlane as your shared email inbox for feedback and support! 🎉

    ![enable-emails](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/enable-email.png)
  </Step>
</Steps>


# Forwarding Emails
Source: https://productlane.mintlify.dev/docs/guide/emails/receiving-emails

Automatically forward incoming emails to Productlane.

<Steps>
  <Step title="Open your Gmail routing configuration">
    You can find this
    here: [https://admin.google.com/u/0/ac/apps/gmail/defaultrouting](https://admin.google.com/u/0/ac/apps/gmail/defaultrouting)
  </Step>

  <Step title="Add a new routing rule">
    Under “Default routing” click on `CONFIGURE` or `ADD ANOTHER RULE`.
  </Step>

  <Step title="Set the recipient">
    In the dropdown, select `Single recipient` and fill in your support email
    address under `Email address`. ![recipient](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/recipient.jpeg)
  </Step>

  <Step title="Override recipient">
    Check the box `Change envelope recipient`, then choose `Replace the
        recipient` and paste your inbound address from Productlane
    (`emails@...inbound.productlane.com`). You can find the inbound address
    under: **Settings** > [Email Inbox](https://productlane.com/settings/emails)
    ![envelope](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/envelope.jpeg)
  </Step>

  <Step title="Apply to all addresses">
    Scroll further down, and choose `Perform this action on non-recognised and
        recognised addresses`. ![options](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/options.jpeg)
  </Step>

  <Step title="Save">
    Click `Save`. From now on, all emails sent to your support address will
    appear in Productlane. 🎉
  </Step>
</Steps>


# Hubspot
Source: https://productlane.mintlify.dev/docs/guide/hubspot

Import contacts, view the delivery status of feedback in Hubspot.

## Overview

Create a Productlane widget within Hubspot to quickly push feedback and see the delivery status. Additionally, sync all properties from Hubspot contacts to Productlane as segments.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/hubspot.mp4" />

## How it works

With this integration, a widget in Hubspot will appear in Hubspot for every company and person that allows you to push feedback to Productlane and see the delivery status directly in Hubspot. Additionally, you can sync segments from Hubspot by automatically converting Hubspot properties to segments in Productlane. Simply add the property names, separated by commas below.


# Intercom
Source: https://productlane.mintlify.dev/docs/guide/intercom

Add conversations and import contacts, companies and segments.

## Overview

Create a Productlane widget within Intercom to quickly push feedback and see the delivery status. Additionally, sync all segments from Intercom contacts to Productlane.

## How it works

With this integration, a widget in Intercom will appear for every company and person that allows you to push feedback to Productlane and see the delivery status directly in Intercom. Additionally, you can sync segments from Intercom by automatically converting Intercom properties to segments in Productlane. Simply add the property names, separated by commas below.


# Linear
Source: https://productlane.mintlify.dev/docs/guide/linear-import

Import Intercom, Zendesk or Front conversations with one click.

If you're moving from an existing system where you already linked support tickets to Linear, you can import them really quickly into Productlane. With the Linear importer, we automatically parse all your Linear tickets for attached links that include Front, Intercom or Zendesk Conversations, to import these conversations into Productlane super easily.

![linear import](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/linear-import.png)


# Notifications
Source: https://productlane.mintlify.dev/docs/guide/notifications

Configure notifications via email or Slack.

![contacts](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/notifications.png)

## Slack notifications

We recommend everyone who uses Slack, to use Slack for personal notifications. That way, you can react to new feedback or support requests faster and on mobile.

## Email notifications

For email, you can get additional reminders to clear your inbox, publish new projects on your roadmap or get a daily summary of new upvotes.


# Roadmap
Source: https://productlane.mintlify.dev/docs/guide/portal

Analyze your roadmap and make it privately or publicly available to your customers.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/portal.mp4" />

Make Linear projects and issues public for your users to vote or give feedback on. You can only publish Linear issues and projects, nothing else. That way, your users know that everything on there is really visible for engineers and can be acted upon.
Every project and issue you see in Productlane, is completely synced with Linear. It’s as simple as that, no double synching or manually pushing updates, it’s all seamlessly connected.

<Tip>
  Pro tip: You will get a lot more feedback if you link your portal very
  prominently within your application.
</Tip>

## Projects

Every new project you create in Linear, will automatically appear in the “Pending projects” section, from where you can decide to hide or publish it on your portal.
We recommend creating a project for feature ideas that take more than 2 weeks and include multiple people to build it.

## Issues

You can also publish issues on your roadmap, by using the "Add issues" button on the top right.
In Productlane, you only see issues that you have added manually or that you linked in a note. But every issue you see in Productlane, exists in Linear.

<Tip>
  If you’re scared to clutter your Linear or confuse engineers with ideas, we
  recommend creating a “Feature request” team in Linear.
</Tip>


# Priorities
Source: https://productlane.mintlify.dev/docs/guide/priorities

Priorities impact your inbox sorting and importance score.

![contacts](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/importance.png)

Changing the priority of a thread has an impact on it's sorting in the inbox and the calculation of the importance score on your roadmap or tags.
Users can send the priority themselves through the portal or widget, to help you understand their urgency early on.

## How the importance score is calculated

* 4 points: `Urgent`
* 3 points: `Medium`
* 2 points: `Low`
* 1 point: `No prioriy` or `Upvote`


# Productboard
Source: https://productlane.mintlify.dev/docs/guide/productboard-import

Seamlessly switch from Productboard to Productlane.

With our [Productboard Importer](https://productlane.com/settings/transfer), we’re making a switch to Productlane easy for you. Your notes will get imported as threads and their associated features will get imported as tags. With just one click, you can convert your tags to Linear issues and projects.

## Productboard Step-by-Step Import

<Steps>
  <Step title="Get your API Key from Productboard">
    In the Productboard, navigate to Integrations and scroll all the way down to
    APIs. Here, click on `Access Token` and press the `Add Token` button on the
    page. This will create the API-Key for you. Now copy the key that has just
    been created.
  </Step>

  <Step title="Enter the API Key in Productlane">
    Open your Productlane settings and navigate to `Import / Export`. This will
    open different options for importing and exporting data. From those, choose
    `Productboard`. You will now be given the option to add your API key from
    Productboard. Enter the key and click `Validate Data`.
    ![productboard-importer](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/productboard-importer.png)
  </Step>

  <Step title="Validate data">
    Clicking on `Validate Data` will give you a preview of all the data we will
    import. This will also give you the option to double-check any missing
    information and to update that data in Productboard before you run the
    import. For example: If there are users without an email or companies
    without a domain, those would be skipped for the import. You can do a dry
    run of the import as often as you’d like to ensure all your Productboard
    data gets imported correctly and completely.
    ![validate](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/validate-data.png)
  </Step>

  <Step title="Run the import">
    Once you feel confident with the preview of the import data, you can press
    `Run Import`. With a successful import, we will give you the feedback that
    your import is complete and everything was imported successfully.
    ![run-import](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/run-import.png)
  </Step>

  <Step title="Start using Productlane with your imported data">
    After successfully importing the data you can switch your view to Notes in
    Productlane and find all your imported notes here. Every imported note will
    have the information "Imported from Productboard" and will show associated
    features as tags. ![imported](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/imported-note.png)
  </Step>

  <Step title="Connect Linear and turn tags into issues and projects">
    Once you have connected Linear to Productlane, you can convert every tag
    into an issue or a project by choosing `Issue` or `Project` in the top right
    corner of your note view! ![features-tags](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/features-tags.png)
  </Step>
</Steps>


# Raycast
Source: https://productlane.mintlify.dev/docs/guide/raycast

The easiest way to send feedback to Productlane with a simple shortcut.

## Overview

This integration brings the speed, quality, and joy of Productlane to every corner of your Mac. Create new feedback and send it to Productlane with just a keystroke. Everything is quickly accessible via a global hotkey to minimize context switching.

## How it works

Using Productlane in Raycast is simple. After installing the integration, you can search for Productlane in Raycast and create an API Key for it in the Productlane settings . Raycast is globally available on your Mac. Open it with a hotkey to quickly execute a command. The integration is great for going through quickly pushing new feedback you see anywhere on the web to Productlane. One pro tip to share: assign a hotkey to the Push feedback command via the Raycast preferences (e.g. ⌥ N) to create feedback even quicker.

## Configure

Install the integration from the Raycast Store and log in to your Productlane workspace afterwards. Then, search for Productlane in Raycast to familarize yourself with the available commands.


# Segments
Source: https://productlane.mintlify.dev/docs/guide/segments

See which kind of customer segment requests which feature.

<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/segments.mp4" />

You can add segments to `companies` and `people` and by that, you will see on your roadmap which request came from which kind of customer.

By filtering for e.g. “High MRR Customer” or “Ambassador” features, you can ensure you focus on the right problems of the right customers.

You can edit Segments [on the Contacts page in the tab “Segments”](https://productlane.com/segments).

### Better prioritize your roadmap

After you add segments on the People page, you now see them on the Projects page. Find out which kind of customer segment has mentioned which feature next to the Importance score. Click on a segment to quickly filter all projects by it.


# Shortcuts
Source: https://productlane.mintlify.dev/docs/guide/shortcuts



<video controls className="aspect-video w-full" src="https://mintlify.s3.us-west-1.amazonaws.com/productlane/videos/Shortcut.mp4" />

Navigate through your inbox and link Linear issues and projects in a breeze with these shortcuts:

* `⌘ + K` Open the command palette to quickly search through companies, people, projects, issues or tags
* `C` Create a new thread

### Navigation

* `G then I` Navigate to inbox
* ​`G then S` Navigate to settings
* ​`G then R` Navigate to roadmap
* ​`G then L` Navigate to changelog
* ​`G then T` Navigate to tags
* ​`G then C` Navigate to contacts
* ​`ESC` Go back to last page

### Inbox

* `F` Add filter
* `⌘ + A` Select all threads, when the first one is selected
* `/` Search for customers or threads
* `X` while hovering on a thread to select it
* `Shift + Arrows` Select thread above or below
* `Tab` Move between your inbox tabs

### On a thread

* `A` Assign thread
* `I` Assign a thread to yourself
* `T` Link tag
* `Shift + P` Link Linear project
* `P` Select priority
* `C` Link Linear issue
* `R` or `Enter` Reply to a thread
* `J/K` Next/Previous thread
* `N` Add comment to a thread
* `E` Mark thread done
* `H` Snooze a thread
* `⌘ + Shift + U` Select contact
* `⌘ + Shift + M` Select company

### In Note editor when highlighted text

* `⌘ + Shift + T` Link tag
* `⌘ + Shift + P` Link Linear project
* `⌘ + Shift + I` Link Linear issue

### In Reply editor

* `⌘ + Enter` Send message
* `;` Insert snippet


# Signatures
Source: https://productlane.mintlify.dev/docs/guide/signatures

Add a signature to your emails.

![signature](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/signatures.png)

If you're directly communicating with your customers via Productlane, you will want your users to know who they are talking with.
You can do that by adding a signature in the settings.

You can do that by opening the [Signature settings](https://productlane.com/settings/email)

Or just open your Productlane Settings, go to `Your Account` -> `Email` and add your favored signature.

<Tip>
  <b>Pro tip:</b> If you add a link to your portal in your footer, you can get
  even more user feedback.
</Tip>


# Slack inbox
Source: https://productlane.mintlify.dev/docs/guide/slack

Get all feedback from Slack into Productlane and sync threads 2-way.

![slack](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/slack.png)

Sync threads from Slack connect channels or a `#feedback` channel with Productlane to sync threads and reply to feedback, ask for more context, or close the loop in Slack.

While you can use both Slack and Productlane to answer your customers, with Inbox Zero in Productlane, you can always double-check that no customer message goes unnoticed. With Snoozing, you can set more reliable reminders that push conversations back into your inbox when the time has come. When connecting a Linear issue and marking the conversation as done, the message will move back to your inbox as soon as the Linear issue is complete, so you can close the loop personally.

## How to install Slack

After that, you can quickly invite our new Slack app to your channels. It will automatically turn Slack messages into Productlane threads, and you can respond, snooze, and close Slack conversations in Productlane and link them to Linear.

<Steps>
  <Step title="Install Slack in the Settings">
    On `Integrations` you will find `Email Inbox`.<br />
    Or click [here](https://productlane.com/settings/integrations/slack) to open the settings for Slack.
  </Step>

  <Step title="Invite the Productlane bot to your Slack channels">
    Open Slack and type "/add app" in a channel, and select the Productlane bot.

    ![slack2](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/slack2.png)
  </Step>

  <Step title="From now on, every message will be sent to Productlane 🎉">
    From where you can answer, snooze and link Linear issues and make sure that not message goes unnoticed.
  </Step>
</Steps>


# Snippets
Source: https://productlane.mintlify.dev/docs/guide/snippets

Answer users faster with reusable snippets.

![contacts](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/snippets.webp)

At scale, you will write the same things to many users. For example when closing a feedback loop, you might want to use a custom snippet to thank the user for their feedback or ask for their feedback. You can also store your calendar link as a snippet if you are scheduling user calls through Productlane often.

You can quickly add a snippet by using a Semicolon `;` in the Reply editor, and you can edit your snippets in `Settings` -> `Snippets`.


# SSO
Source: https://productlane.mintlify.dev/docs/guide/sso

Authenticate portal users yourself with JWTs.

<Tip>
  This feature is only available on the **Scale** plan. [View all
  plans](https://productlane.com/settings/plans)
</Tip>

You can easily authenticate users on your portal with your existing system by implementing a simple endpoint that generates a JWT and redirects back to Productlane.

<Steps>
  <Step title="Activate SSO">
    Head to the [SSO settings](https://productlane.com/settings/sso) and activate SSO by specifying the URL of the endpoint you plan on using. This will generate the JWT secret, please note it down. It won't be shown again.
  </Step>

  <Step title="Implement token endpoint">
    This is an example of what the token endpoint could look like. You need to add the required auth calls on your end, e.g. to redirect unauthenticated users.

    ```typescript
    import jwt from "jsonwebtoken"
    import { NextApiRequest, NextApiResponse } from "next"

    export default function handler(
    	req: NextApiRequest,
    	res: NextApiResponse,
    ) {
        // replace with your "getSession"
    	const session = { email: "patrick@productlane.com", name: "Patrick" }
    	const token = jwt.sign(
    		{
    			email: session.email,
    			name: session.name,
          		// optional
    			imageUrl: "",
          		// optional, in minutes
          		tokenValidity: 15
    		},
    		"pl_sso_...",
    	)
        // custom domain example
    	res.redirect(
    		`https://feedback.example.com/api/portal/sso?token=${token}`,
    	)
        // subdomain example
        // res.redirect(
    	// 	`https://example.productlane.com/api/portal/sso?token=${token}`,
    	// )
    }
    ```
  </Step>

  <Step title="Enable SSO">
    If your endpoint is ready, enable the SSO switch in the [SSO settings](https://productlane.com/settings/sso). This will start routing traffic to your endpoint, so make sure it's ready.
  </Step>
</Steps>


# Customer Support Portal
Source: https://productlane.mintlify.dev/docs/guide/support-portal

Give your customers a space to see all their support messages and Linear requests.

![Variant2@2x Pn](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/Variant2@2x.png)

With the Customer Support Portal, you can give your customers one place to view and reply to all their support messages and Linear customer requests.

In one place, they can:

* See and reply to every conversation — Email, Slack, and support tickets.
* Track all their Linear requests, even if they came through Intercom or Zendesk.
* Track requests submitted by their teammates.
* Update the priority of their requests.

All without the need to publish an issue or project. Customers get a complete, organized view of their relationship with you.

![Requestdetails@2x Pn](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/Requestdetails@2x.png)

## Set it up

To get started with your support portal, open the [<u>support portal settings</u>](https://productlane.com/settings/support-portal).

Here you can make your support portal public by clicking on the switch in the gray box. You can copy the portal URL to view the page and add a link to it to your app.

You can make your customers see request from their team members, from all sources.

You can also display the due date of a requested Linear issue or project on the portal to give customers a better feeling when a feature will be ready.

![Supportportalsettings@2x Pn](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/Supportportalsettings@2x.png)

## Customize

If you head over to the [<u>portal settings</u>](https://productlane.com/settings/portal), you can adjust your portal colors, add a custom domain, authenticate customers with SSO or block certain domains from access, for example if you want to avoid competitors seeing your portal.

## Embed

To make the portal available for your customers, you can either:

1. **Use our widget**, it will show the count of support requests
2. **Add a link to your application**. To authenticate customers quickly, you can use [<u>SSO</u>](https://productlane.com/settings/sso).
3. **Add a link to your email signature.** Set up your signature in Productlane [<u>here</u>](https://productlane.com/settings/signature).

![13widget Requests Pn](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/13WidgetRequests.png)

To display it in the widget, you need to turn on this switch on the widget settings:

![Widgetsupportportal@2x Pn](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/Widgetsupportportal@2x.png)

That’s it, you‘re fully set up! Enjoy bringing the relationships with your customers to the next level.


# Tags
Source: https://productlane.mintlify.dev/docs/guide/tags

Use tags for anything that’s not actionable.

![tags](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/tags.png)

We recommend using tags for everything that's not immediately actionable. There are usually more observations in user interviews or feedback that you want to keep track of.

Tag groups give you a way to cluster these. We at Productlane use these tag groups:

* Competitor mentions
* Signup reasons (We send all automated survey results to Productlane)
* Upgrade reasons
* Churn reasons
* User activities
* User goals

## Turn tags into Linear issues or projects quickly

If anything actionable found it’s way into the tags, you can convert it anytime to a Linear project or issue.
If you open a tag, you can turn it into a Linear issue or project really quickly and keep all the connected thread links.


# Templates
Source: https://productlane.mintlify.dev/docs/guide/templates

Ask the right questions in customer calls.

![template](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/template.png)

Dynamic note templates pre-fill new notes with a dynamic or default template automatically. To help you ask the right questions at the right moments in a customer calls.

## Default Note Templates

Set a default template with relevant questions for whenever talking to a customer. This will bring the most important topics and questions to your attention automatically with each call you start. Making it easy to set the focus for each conversation.

## Dynamic Note Templates

With dynamic templates, you will instantly receive customized templates right at the beginning of each customer call based on your most trending projects and issues in Linear, enhancing the relevance of your insights.


# Theme
Source: https://productlane.mintlify.dev/docs/guide/theme



To make your Changelog and Roadmap fit your brand, you can customize two accent colors for light and dark mode. You can also decide if you even want to use dark mode or only one of them and upload an image that will be used as your OG image for your portal.

![theme](https://mintlify.s3.us-west-1.amazonaws.com/productlane/images/theme.png)


# Widget
Source: https://productlane.mintlify.dev/docs/guide/widget

Increase the amount of feedback you get and process it faster.

By going to `Settings > Widget`, you can easily add a feedback and changelog widget to your site. It only takes a few lines of JavaScript to set up, providing you with a simple way to send feedback, indicate its priority, provide custom links and display your changelog.

This widget allows users to directly connect with the engineering team, in addition to the usual support channels.

You can customize the widget’s appearance to fit your site’s design, listen to events & more.

# Setting up the widget

<Steps>
  <Step title="Embed & initialize the widget">
    Head to the [widget settings page](https://productlane.com/settings/widget), there you’ll find a copy/pastable snippet that looks like the snippet below. Or simply copy the code below and replace `<your-widget-key />` with your workspaces’ widget key.

    ```javascript
    <script>
      ;((w)=>{const P=(w.Productlane={queue:{}});["set","open","close","toggle","on","off","init"].forEach(m=>{P[m]=(n=>function(){P.queue[n]={args:arguments}})(m)})})(window);
      
      Productlane.init({
        widgetKey: "<your-widget-key />",
      })
    </script>
    <script
      async
      defer
      crossorigin="anonymous"
      src="https://widget.productlane.com/latest.productlane-widget.min.js"
    ></script>
    ```
  </Step>

  <Step title="That’s it!">
    While this is all you have to do, let’s briefly unwrap what happens in the snippet.

    The first `script` sets up the global `Productlane` object used to communicate with the widget. It also initializes the widget via `Productlane.init()` with your corresponding widget key.

    The second `script` tag loads the widget from Productlane’s CDN.
  </Step>
</Steps>

# API

## Settings

###### `widgetKey` (required)

Your workspace’s widget key. Can be found on your [widget settings page](https://productlane.com/settings/widget).

```javascript
Productlane.init({
  widgetKey: "<your-widget-key />",
});
```

###### `user` (optional)

An object containing information about the current user for simple authentication. Will hide the `email` field in the feedback form if provided.

```javascript
Productlane.init({
  widgetKey: "<your-widget-key />",
  user: {
    email: "raphael@productlane.com",
  },
});
```

###### `theme` (optional)

To make the widget properly align with your brand guidelines, you can heavily customize each aspect of it. We support the following theme options:

```javascript
Productlane.init({
  widgetKey: "<your-widget-key />",
  theme: {
    "--text-color-primary": "#111827",
    "--text-color-primary-dark": "#FFFFFF",
    "--text-color-secondary": "#9CA3AF",
    "--text-color-secondary-dark": "#9CA3AF",
    "--text-color-highlight": "#1692A4",
    "--text-color-highlight-dark": "#1692A4",
    "--background-color-primary": "#FFFFFF",
    "--background-color-primary-dark": "#111827",
    "--background-color-secondary": "#F3F4F6",
    "--background-color-secondary-dark": "#1F2937",
    "--border-color-primary": "#E5E7EB",
    "--border-color-primary-dark": "#1F2937",
  },
});
```

The widget will automatically apply either the regular or `-dark` variants, based on the user’s current system preference.

<Tip>
  Note: Make sure **Custom CSS** is `enabled` in the [widget
  settings](https://productlane.com/settings/widget) to apply custom themes.
</Tip>

## Methods

Once the widget is initialized, you can use some of the following methods to interact with it.

* `Productlane.open()` Opens the widget.

* `Productlane.close()` Closes the widget.

* `Productlane.toggle()` Toggles the widget.

* `Productlane.set()` For setting certain widget properties. Equal to the settings object in `Productlane.init()`.

```javascript
Productlane.init({
  widgetKey: "<your-widget-key />",
});

Productlane.on("loaded", () => {
  Productlane.set({
    user: {
      email: "raphael@productlane.com",
    },
  });
});
```

<Tip>
  Note: Make sure to call any methods after the widget is initialized, e.g. like
  so: `Productlane.on('loaded', () => {/* Your code here */})`.
</Tip>

## Events

You can listen to the following events:

* `Productlane.on("loaded", () => {})` Fires when the widget is fully loaded. Make sure to call any methods in the callback of this event.

* `Productlane.on("opened", () => {})` Fires after the widget is opened.

* `Productlane.off("opened", () => {})` Removes the event listener for the `opened` event.

* `Productlane.on("closed", () => {})` Fires after the widget is closed.

* `Productlane.off("closed", () => {})` Removes the event listener for the `closed` event.

* `Productlane.on("toggled", () => {})` Fires after the widget is toggled.

* `Productlane.off("toggled", () => {})` Removes the event listener for the `toggled` event.

* `Productlane.on("customLinkClicked", (link) => {})`

```javascript
Productlane.on("customLinkClicked", (link) => {
  console.log(link); // { "title": "Docs", "url": "productlane.com/docs" }
});
```

###### `Productlane.off("customLinkClicked", () => {})`

Removes the event listener for the `customLinkClicked` event.


# Zapier
Source: https://productlane.mintlify.dev/docs/guide/zapier

Connect countless tools like Typeform, Salesforce or Tally via Zapier.

## Overview

You can use Zapier to connect to a multitude of apps, including this one. Zapier provides an out-of-the-box solution for automation. It's easy to implement and does not require technical knowledge. Create a Zapier account and then go use the Zapier integration to build workflows.

## How it works

<Steps>
  <Step title="Create new API key">
    Create a new API key in the Productlane
    [settings](https://productlane.com/settings/integrations/zapier).
  </Step>

  <Step title="Add API key in Zapier">
    Go to [Zapier](https://zapier.com/apps/productlane/integrations) and use
    that API key to authenticate Zapier with Productlane in your Zapier account.
  </Step>
</Steps>

Start connecting any app you want and send feedback to Productlane.