Agave Link

An easy way for your customers to connect all their accounts across different platforms to your application. Enabled in 3 easy steps.

What You Do

Sign up

Sign up and get an API key.

Authorization: Bearer 5YKmWTG8jPTACAQyRqLr6BeU1sy64

Use Agave SDK

Develop your application in any language using Agave SDKs and Open API.

and more...

Add Agave Link

Add login component to your application with a few lines of code.

import { useAgaveLink } from "@agaveapi/react-agave-link";

const App = () => {
  const { open, isReady } = useAgaveLink({ 
  	linkToken: "<link-token-from-backend>", 
  	onSuccess: (public_token) => function(public_token) {}
  return (<button type="button" disabled={!isReady} onClick={open}>Open Agave Link</button>);

Check out our documentation for more details.

What Agave Provides

One API to access data across all platforms.
One consistent schema for all construction data.
Front-end components well-designed for your end users.
Privacy, security, stability, performance at industry-leading standards.
Documentations that are clear and up-to-date.
Timely support from world-class engineers.

What It Means for Developers

Allowing Agave to take care of the integrations leads to leaner, cleaner code that focus on the core functions rather than having many custom pivots and processors.

Without Agave

Construction tech is fragmented and siloed. Each developer has to navigate different API endpoints, docs, data models, and jump through many hoops to integrate them one by one.

It can take from weeks to months to integrate with each service. After that, developers also need to monitor and maintain those APIs, adding overhead to the operation.

function getRFI() {

	// Custom pivot logic by vendor, each taking time to integrate and test
	switch(user.platform) {

	case 'procore':
		// Procore-specific API endpoints
		const options = {
			method: 'GET',
			url: `${}/rfis/${}`,
			headers: {Authorization: user.token.procore}

		request(options, function (error, response, body) {
			if (error || response.error || response.code !== 200) {
				// Procore-specific error handling

			// Procore-specific data mapping logic
			return {
				assignee: body.assignee.login,
				question: body.questions[0].plain_text_body,
				answer: body.questions[0].answers[0].plain_text_body,
				status: body.status,

	case 'plangrid':
		// PlanGrid-specific API endpoints
		// PlanGrid-specific error handling
		// PlanGrid-specific data mapping logic
	case 'bim360':
		// BIM 360-specific API endpoints
		// BIM 360-specific error handling
		// BIM 360-specific data mapping logic
With Agave

Integrate once. Write data fetching logic once.

Focus on building your differentiated features, not on integration while effortlessly support all the vendor systems your customer use.

When a new integration is supported by Agave, your users can immediately take advantage of it without any development work from you.

function getRFI(user, rfi) {
	// No pivoting logic
	const options = {
		method: 'GET',
		url: `${}`,
		headers: {Authorization: user.token}

	// No data mapping needed
	request(options, function (error, response, body) {
		if (error) {
			// Handle the error once
		return body;

Get Started

Reach out and request access now. We will be in touch in 24 hours.

Get Access