Skip to content

Make

Send what happens in Cord to any Make app, and create data in Cord from your scenarios.

What it does

The Cord app for Make has an instant trigger (Watch Events), actions to create and change data in Cord, searches with pagination and a universal module for any other API operation. It is authorized with one click on a Cord screen, without keys, and works in every Make zone.

Requirements

Where What you need
Cord The Settings permission in the workspace you are connecting. Any plan.
Make A Make account. To install the app, being an Admin, Owner or App Developer of that Make organization. The operations your scenarios use are billed by Make according to your Make plan.
Quota Every action or search module uses calls from your Cord plan’s monthly API quota. See Limits.

Connect the Cord app

The Cord app for Make is shared by invitation. In Settings › Integrations › Make you will find the Open Cord on Make button, which takes you straight to the invitation.

  1. Install the app. Click Open Cord on Make, then Install, pick your Make organization and confirm. Make only lets Admins, Owners or App Developers of that organization install apps.
  2. Create the connection. In a scenario add any Cord module and click Create a connection › Save.
  3. Authorize in Cord. A Cord screen opens where you pick the workspace and click Authorize. There are no keys to create or paste.

Whoever authorizes needs access to Settings in that workspace. Make renews the access on its own; to cut it, revoke the connection in the API keys tab of the Cord Workbench, where it shows up as Make’s Authorized connection.

Type Modules
Instant trigger Watch Events: choose the Cord events and the scenario starts as soon as they happen.
Actions Create a Client, Update a Client, Get a Client, Create a Quote, Get a Quote, Send a Quote, Mark a Quote as Paid and Create a Task.
Searches Search Clients and Search Quotes, with pagination.
Universal Make an API Call, for any other operation in the Cord API.

Each active Watch Events creates its own webhook in Cord, with a limit separate from your plan’s endpoints.

Make scenario with three chained modules: Cord › Watch Events, Cord › Get a Client and Google Sheets › Add a Row. Open, the trigger's webhook with the "Cord (Materiales del Valle)" connection and the "Quotes: Quote approved" event.

What flows and in which direction

Direction What flows When
From Cord to Make The event you chose in Watch Events, with the object’s data. Instantly, every time it happens in Cord.
From Make to Cord Whatever the module does: create or update a client, create or send a quote, mark it paid or create a task. When the scenario runs.
Searches and lookups Make reads clients or quotes to use them in the next module. It changes nothing. When the scenario runs.

What a module does in Cord fires the same events as if a person had done it, with Who caused it: The API.

Limits

Limit Value
API calls per month Free 100, Starter 1,000, Pro 5,000, Scale 10,000, Developer 50,000
When you go over the quota On Free, calls are rejected until the next month; from Starter they are billed as overage, with a safety cap of 10 times what is included
Webhooks created by your scenarios 100 per organization, separate from your plan’s webhook endpoints
Live authorized connections 25 per app and per organization
  • What uses quota: every action, search or Make an API Call module, and registering or removing the Watch Events webhook. Receiving events does not use quota.
  • How much you have used: in Settings › Plans & subscription › Subscription, API calls row.
  • Requests with HTTP › Make a request and an sk_live_… key also use quota; with sk_test_… they do not.

Disconnect

Turn off a scenario: deactivate it in Make. For Cord to stop sending it events, also delete its webhook in Make’s Webhooks section: when you delete it, Make removes it from Cord.

Cut Make’s access to Cord:

  1. Go to Settings › Integrations › Make and click View authorized connections. The API keys tab of the Cord Workbench opens.
  2. Find Make’s Authorized connection row, with the OAuth tag.
  3. Click Revoke and confirm.

From that moment Make can no longer call the API with that connection, and the webhooks its scenarios had created stop receiving events. In Make, Cord modules fail with an authorization error until you create the connection again. If you used the Webhooks and HTTP alternative, delete the endpoint in Webhooks and revoke the key in API.

Alternative: Webhooks and HTTP

If you prefer not to install the app, Make connects with Cord through two modules Make already includes:

Direction Make module What you need in Cord
Cord → Make: a Cord event starts your scenario Webhooks › Custom webhook A webhook endpoint with the Make URL
Make → Cord: your scenario creates or updates Cord data HTTP › Make a request A secret API key with write access

Both are set up in the Cord Workbench (Webhooks and API keys tabs): if you do not see it, turn on Developer mode in Your account › Preferences.

Receive Cord events

  1. Create the webhook in Make. In your scenario add Webhooks › Custom webhook, click Add, name it and copy the URL Make gives you.
  2. Register the endpoint in Cord. Open Webhooks in the Developers panel, paste the Make URL and save. Cord shows a signing secret once; Make does not use it, but keep it if you plan to verify signatures later.
  3. Choose the events. Check only the ones your scenario needs, for example quote.approved or invoice.paid.
  4. Teach Make the event shape. In Make click Redetermine data structure and, in Cord, click Test on the endpoint. Make receives a sample event and learns its fields.
  5. Map and turn on. Use the fields in the following modules (for example data.folio, data.total, data.cliente) and turn on the scenario.

What each event contains

Each event is JSON with four fields:

Field What it is
id Unique event identifier. It stays the same if Cord retries the delivery.
event The event type, for example quote.paid.
created_at When it happened.
data The object data: for a quote, id, folio, status, moneda, total, cliente, cliente_id and the public link.

The full list of events and their fields is in Webhooks for developers.

One endpoint or several

You can register one endpoint per scenario with only its events, or one with several events and a Router in Make filtering by event. The first is easier to maintain; the second uses fewer endpoints.

Endpoints you register by hand count toward your plan’s webhook limit: 16 on Free, Starter and Pro; 32 on Scale; 100 on Developer.

Deliveries and retries

Each endpoint keeps a delivery log with the status, response time and Make’s response. If Make does not respond, Cord retries the delivery. Since the id does not change between retries, add a filter or data store in Make so the same id is not processed twice.

Treat the Make webhook URL as a secret. Make does not verify Cord’s signature, so anyone who knows the URL could send fake data to your scenario. Do not share it and, if you think it leaked, delete the endpoint in Cord, create a new webhook in Make and register the new URL.

Create or update data in Cord

  1. Create a key. In API, in the Developers panel, create a secret key with write scope. It is shown once; store it in the Make connection, not in a text field of the scenario.
  2. Add HTTP › Make a request to your scenario.
  3. Configure it:
    • URL: the endpoint, for example https://cordhq.app/api/v1/clientes.
    • Method: POST to create, PATCH to update, GET to search.
    • Headers: Authorization with Bearer followed by your key, and Content-Type with application/json.
    • Body type: Raw, Content type JSON, with the resource fields.
    • Parse response: on, to use the response in the next modules.
  4. Avoid duplicates with the Idempotency-Key header (see below).

What you can do

You want Request
Find a client by email before creating it GET /api/v1/clientes?email=client@example.com
Create a client POST /api/v1/clientes with at least empresa
Update a client’s contact details PATCH /api/v1/clientes/{id} with contacto, email, telefono, etc.
Find a quote by number GET /api/v1/cotizaciones?folio=COT-00104
Create a quote POST /api/v1/cotizaciones
Send, approve, reject or mark a quote paid POST /api/v1/cotizaciones/{id} with action: send, resend, approve, reject or mark_paid
Create a task POST /api/v1/tareas with titulo and, optionally, due_date and cotizacion_id

Fields for each endpoint: Clients, Quotes and Tasks.

Avoid duplicates

Make can retry a module. So a retry does not create the same client twice, add the Idempotency-Key header with a fixed value for that operation, for example the id of the event that caused it or the row id of your spreadsheet. If Cord already received that key with the same request, it returns the original result instead of creating another record.

Test keys

With an sk_test_… key your scenario works against your account’s test environment, isolated from your real data. Use it while building the scenario and switch to the sk_live_… key when done.

Example scenarios

  • Quote approved → spreadsheet: Custom webhook with quote.approved → Google Sheets › Add a row with number, client and total.
  • Form → client in Cord: Typeform › Watch responses → HTTP GET /api/v1/clientes?email= → if it does not exist, HTTP POST /api/v1/clientes.
  • Invoice paid → accounting: Custom webhook with invoice.paid → your accounting system.
  • Payment on another platform → mark paid in Cord: your platform’s trigger → HTTP GET /api/v1/cotizaciones?folio= → HTTP POST /api/v1/cotizaciones/{id} with {"action":"mark_paid"}.

Common errors

Cord response Cause What to do
401 The key is missing, mistyped or revoked. Check the Authorization: Bearer sk_live_… header.
403 The key is read-only. Create a key with write scope.
404 The id does not exist in your organization. Check that you mapped the right id, not the quote number.
409 invalid_state The action does not apply to the current status, for example approving a draft. Check the quote status before the action.
422 idempotency_key_reused You used the same Idempotency-Key with another request. Use a different key per operation.
429 You exceeded the per-minute limit or the monthly API quota. Add a pause between modules or reduce frequency. Check your usage in Settings › Plans & subscription; on Free, wait for the next month or upgrade.
“You cannot connect apps here” when authorizing Your user does not have the Settings permission in that workspace. Ask someone who has it to authorize.

More in API errors.