diff --git a/src/docs.json b/src/docs.json index dc4de9b0..2096c622 100644 --- a/src/docs.json +++ b/src/docs.json @@ -92,6 +92,7 @@ "provider-guides/braintree", "provider-guides/braze", "provider-guides/breakcold", + "provider-guides/breezy", "provider-guides/brevo", "provider-guides/bynder", "provider-guides/calendly", diff --git a/src/generate-docs.ts b/src/generate-docs.ts index 1079fb60..6b825c94 100644 --- a/src/generate-docs.ts +++ b/src/generate-docs.ts @@ -323,6 +323,7 @@ const baseConfig = { "provider-guides/braintree", "provider-guides/braze", "provider-guides/breakcold", + "provider-guides/breezy", "provider-guides/brevo", "provider-guides/bynder", "provider-guides/calendly", diff --git a/src/provider-guides/breezy.mdx b/src/provider-guides/breezy.mdx new file mode 100644 index 00000000..a4db36bf --- /dev/null +++ b/src/provider-guides/breezy.mdx @@ -0,0 +1,142 @@ +--- +title: "Breezy" +--- + +## What's supported + +### Supported actions + +This connector supports: +- [Read Actions](/read-actions), including full historic backfill. Incremental read is supported for `positions` only. For all other objects, a full read will be done on each scheduled read. +- [Write Actions](/write-actions) (create/update) for `positions` only. +- [Proxy Actions](/proxy-actions), using the base URL `https://api.breezy.hr`. +- Subscribe Actions are not currently supported. + +### Supported objects + +export const rows = [ + { + label: "categories", read: true, write: false, subscribe: false, + href: "https://developer.breezy.hr/reference/company-pipelines-1-1", + }, { + label: "companies", read: true, write: false, subscribe: false, + href: "https://developer.breezy.hr/reference/companies", + }, { + label: "departments", read: true, write: false, subscribe: false, + href: "https://developer.breezy.hr/reference/company-pipelines-1", + }, { + label: "pipelines", read: true, write: false, subscribe: false, + href: "https://developer.breezy.hr/reference/company-pipelines", + }, { + label: "positions", read: true, write: true, subscribe: false, + href: "https://developer.breezy.hr/reference/company-positions", + }, { + label: "questionnaires", read: true, write: false, subscribe: false, + href: "https://developer.breezy.hr/reference/company-questionnaires", + }, { + label: "templates", read: true, write: false, subscribe: false, + href: "https://developer.breezy.hr/reference/company-templates", + }, +] + +export const Check = () => +export const Cross = () => 🚫 + +export function renderCellValue(value) { + if (typeof value === "boolean") { + return value ? : ; + } + + return value; +} + +
+ + + + + + + + + + + {[...rows] + .sort((a, b) => a.label.localeCompare(b.label)) + .map((row) => ( + + + + + + + ))} + +
ObjectReadWriteSubscribe
+ {row.label} + {renderCellValue(row.read)}{renderCellValue(row.write)}{renderCellValue(row.subscribe)}
+
+ +For objects and fields, you can also use Ampersand’s [Object Metadata APIs](/reference/objects-&-fields/get-object-metadata-via-connection) to inspect what’s available for a specific connection. + +### Notes and limitations + +- **Published vs draft positions**: Write creates new positions as **drafts** in Breezy. The `positions` Read object returns **published** job postings only. If you create a position via Write and need it in Read results, publish that job posting in Breezy first. +- **Incremental read**: Incremental read is supported for `positions` only. `companies`, `pipelines`, `categories`, `departments`, `questionnaires`, and `templates` are read in full on each scheduled read. +- **Pipelines**: The connector returns the default hiring pipeline from Breezy’s pipelines map response. + +### Example integration + +To define an integration for Breezy, use a manifest file (`amp.yaml`). For a complete example, visit our [samples repo on Github](https://github.com/amp-labs/samples/blob/main/breezy/amp.yaml). + +## Before you get started + +To connect _Breezy_ with _Ampersand_, you will need [a Breezy account](https://breezy.hr/). + +Once your account is created, you'll need to obtain an **API Key** — a Breezy access token used as the `Authorization` header on API requests. + +Your customers enter this when they install the integration via the InstallIntegration UI. + +### Create a Breezy account + +Here's how you can sign up for a Breezy account: + +- Sign up at [Breezy](https://breezy.hr/). + +### Obtain API credentials + +Follow the steps below to obtain your API key from Breezy: + +1. Call Breezy's [sign-in endpoint](https://developer.breezy.hr/reference/signin) with a user that has API access. See [Authorization](https://developer.breezy.hr/reference/authorization). + + ```bash + curl -H "Content-Type: application/json" \ + -X POST \ + -d '{"email":"user@example.com","password":"YOUR_PASSWORD"}' \ + https://api.breezy.hr/v3/signin + ``` + + Use the `access_token` value from the response as the API key. + +## Using the connector + +This connector uses API Key auth, which means that you do not need to set up a Provider App before getting started. (Provider apps are only required for providers that use OAuth2 Authorization Code grant type.) + +The API key is sent in the `Authorization` header with no prefix, per [Breezy’s documentation](https://developer.breezy.hr/reference/authorization). + +To start integrating with Breezy: +- Create a manifest file; see [Example integration](#example-integration). +- Deploy it using the [amp CLI](/cli/overview). +- If you are using Read Actions, create a [destination](/destinations). +- Embed the [InstallIntegration](/embeddable-ui-components#install-integration) UI component. The UI component will prompt the customer for their API key. +- Start using the connector! + - If your integration has [Read Actions](/read-actions), you'll start getting webhook messages. + - If your integration has [Write Actions](/write-actions), you can start making API calls to our Write API. + - If your integration has [Proxy Actions](/proxy-actions), you can start making Proxy API calls. Ampersand will automatically attach the API key for the connected account.