Connecting Revial to Pipedrive
For your Pipedrive administrator and whoever signs off on the integration's data access — scopes, what Revial reads and writes, and what it deliberately does not do.
Revial connects to Pipedrive as a Pipedrive Marketplace OAuth app. There is no API token to paste, no service account to provision, and no permission set to author. One person authorises the app once; Revial then holds a refresh token bound to that person's Pipedrive account and company. There is no credential to rotate afterwards and no ongoing administrative task.
Because Revial acts as that person, the connection sees exactly what they see. That single fact decides the scope of the integration, and section 2 covers it in full. It also means the only scoping decision available to you is who authorises — Pipedrive has no mechanism for granting an app a narrower view than its user's, so there is no role to trim.
1. What you need to determine before connecting
Two decisions are yours, and both are settled by choosing who clicks Connect.
1.1 Who authorises the connection
What to determine: which Pipedrive user account will authorise the app.
What it decides: everything Revial can see and everything Revial can write. Revial calls the Pipedrive API with that user's token, so it sees exactly the deals, persons and organizations that user sees in the Pipedrive UI, and writes as that user.
How to choose:
- If Revial should cover the whole pipeline, authorise with an admin account or any account with company-wide visibility.
- If Revial should be limited to a subset of the pipeline, authorise with a user whose Pipedrive visibility groups and permission set already restrict them to that subset. This is the only scoping mechanism available.
We recommend a dedicated, named integration user rather than an individual salesperson's account — not for security reasons, but for continuity. If a salesperson leaves and their Pipedrive account is deactivated, the connection stops and must be re-authorised by someone else.
1.2 Whether you use custom fields for meeting notes
Where to find it: ask whoever owns your Pipedrive configuration whether meeting summaries or transcripts are expected to land in a specific custom field on the deal, person or organization, rather than as an ordinary Pipedrive note.
What to determine: if so, the entity (deal / person / organization) and the custom field key.
What it decides: whether we configure field mapping for your connection. Revial can read your available fields and write into a nominated one. No schema change is needed on your side — the field must already exist.
Summary — please have these to hand
| # | Decision | Needed for |
|---|---|---|
| 1 | Which Pipedrive user authorises, and what they can see | Section 3 |
| 2 | Custom note/transcript fields in use? If so, entity + field key | Section 6 |
2. Important: OAuth scopes cannot separate B2B from B2C
If your reason for reading this closely is that one Pipedrive company holds both business and consumer records, please read this section before connecting.
A Pipedrive OAuth scope controls which endpoints an app may call and whether
it may read or write. It does not filter rows. Granting persons:read grants
read on every person the authorising user can see. There is no scope, and no
combination of scopes, that says "only these deals".
Row-level restriction in Pipedrive comes from the user's own permissions: their permission set and their visibility groups. Since Revial acts as that user, those restrictions do carry through to the integration — but they are inherited, not configured for Revial.
Which case applies to you?
| Your setup | What actually separates the data |
|---|---|
| A. Consumer records are visible only to a separate visibility group / permission set | Authorise with a user who is not in that group. Enforced by Pipedrive. This guide is then the complete answer. |
| B. Same visibility, distinguished by pipeline | Pipedrive visibility is not per-pipeline for reading deals a user owns or shares. Partial at best — please raise it with us. |
| C. Same visibility, distinguished only by a field value (a customer-type or segment field) | Not expressible in Pipedrive permissions. Requires either a visibility-group restructure on your side, or scoping on the Revial side. Please raise this with us. |
In case C, Revial only reads and writes records it has matched to an actual meeting attendee, so consumer records are not touched unless a consumer attends a tracked sales meeting. We want to be precise about what that is: it is a behavioural property of how the product works, not a restriction Pipedrive enforces. If your governance requires platform-level enforcement, case C needs a visibility-group restructure, and we would rather tell you that plainly than let a scope list imply a guarantee it cannot make.
3. Connecting
Performed by the Pipedrive user chosen in section 1.1, who must also be an Admin or Owner in Revial on a Medium or Sales plan.
- In Revial, go to Organization Settings → CRM.
- Select Connect with Pipedrive. You are redirected to Pipedrive.
- Sign in as the account chosen in section 1.1 if you are not already. If a different account is already signed in, sign out first — the authorisation silently binds to whoever is signed in, and this is the most common mistake.
- Review the requested scopes (section 4) and select Allow and Install.
- You are returned to Revial, which shows Connected and the Pipedrive email the connection is bound to. Check that email — it is your confirmation that the right account authorised.
Revial validates the token by calling GET /api/v1/users/me before storing
anything, so a failed authorisation is rejected immediately rather than
surfacing later as a broken sync.
Revial holds one CRM connection per organization. If your organization already has a CRM connected, that connection must be removed before Pipedrive can be connected — the attempt is rejected rather than silently replacing it.
Whether an ordinary user can complete step 4 depends on your Pipedrive plan and settings — some companies restrict Marketplace app installation to admins. If the authorising user sees no Allow and Install button, an admin must either install the app or lift that restriction.
4. The scopes Revial requests
These are fixed by the Marketplace app and are not configurable per customer. Pipedrive presents them at the consent screen.
| Scope | Used for |
|---|---|
deals:read | Matching meetings to deals; reading stage and value for briefings |
deals:write | Writing to a configured custom field on a deal (section 6) |
persons:read | Matching meeting attendees to people |
persons:write | Writing to a configured custom field on a person (section 6) |
organizations:read | Matching meetings to companies |
organizations:write | Writing to a configured custom field on an organization (section 6) |
pipelines:read | Reading pipeline and stage names so briefings can say where a deal stands |
activities:read | Reading recent activity for meeting context |
activities:write | Not currently exercised — see below |
users:read | Matching the meeting owner to your Pipedrive users |
Notes are created through the deals/persons/organizations scopes above; Pipedrive has no separate notes scope.
Three scopes are enabled but unused. products:read, products:write and
activities:write are on the app registration, but the Pipedrive sync calls no
products endpoint and creates no activities — activity write-back is not
implemented for Pipedrive. They are present on the app definition rather than
because the integration exercises them. If that is a blocker for your review,
tell us: they can be removed from the app registration, and we will confirm in
writing.
The scope list you see at consent is set by the app registration, not by
Revial's request. Revial does not pass a scope parameter when it sends you
to Pipedrive, so what Pipedrive shows and grants is exactly what is enabled on
the Marketplace app — the same list for every customer. There is no per-customer
scope narrowing.
The write scopes are broader than what Revial does with them. Pipedrive has
no field-level scope: deals:write permits updating any field on any visible
deal, not only the one field Revial is configured to write. Revial writes notes
and at most the specific custom fields you nominate — but that boundary is
enforced by the software, not by the scope. If you need platform-level
enforcement, the lever is the authorising user's permission set, not the scope
list.
5. What Revial reads and writes
Reads — on the sync path:
| Entity | Endpoint |
|---|---|
| Organizations | GET /api/v2/organizations |
| Persons | GET /api/v2/persons |
| Deals | GET /api/v2/deals, plus deal participants |
| Pipelines and stages | GET /api/v2/pipelines, GET /api/v2/stages |
| Activities | GET /api/v2/activities |
| Notes | GET /api/v1/notes |
| Users | GET /api/v1/users |
After the first full sync, subsequent syncs are incremental: Revial passes
updated_since and only pulls records changed since the last run. Records
Pipedrive flags as deleted are detected on the same pass and removed from
Revial's copy, so a deletion in Pipedrive propagates rather than leaving an
orphan.
Writes:
| What | Where it lands |
|---|---|
| Meeting notes and summaries | A Pipedrive note, attached to the matched deal, person or organization |
| Configured custom fields | The specific field you nominate, on the deal, person or organization (section 6) |
Those are the only two writes. Revial does not create Pipedrive activities, does not add deal participants, and does not modify the standard fields on a deal, person or organization.
Some sub-resource fetches fail quietly. If reading a deal's participants or a pipeline's stages fails, Revial logs it and continues, so the sync reports success with that piece of data missing rather than raising an error. If attendee-to-deal matching or stage information looks incomplete after a sync, tell us — it is worth checking the logs rather than assuming the data is absent in Pipedrive.
Notes are attributed to the authorising user, because that is whose token makes the call. Revial does not set a separate owner on the note to attribute it to the individual meeting owner. If several sellers' meetings sync through one connection, every resulting note in Pipedrive shows the authorising user as its author. This is a real limitation rather than a configuration mistake — if per-seller attribution in Pipedrive matters to you, raise it with us.
6. Custom field mapping
Some organizations want meeting summaries or transcripts in a named custom field rather than as a free note. Revial supports this through configuration only.
Give us the entity (deal, person or organization) and the field key. Revial can list the available fields on your connection — including custom ones — so you do not need to hunt for the key yourself.
The field must already exist. Revial does not create fields, and does not modify your Pipedrive schema.
If a batch field update fails, Revial retries each field individually and reports which ones failed, rather than discarding the whole write.
7. What Revial deliberately does not do
Revial has no delete capability on any Pipedrive entity. It does not create or modify custom fields, does not change pipelines or stages, does not alter user permissions, and does not touch company settings.
The read scopes it holds are limited to the entities listed in section 5.
Notably, Revial requests no mail scope — it does not read the content of your
Pipedrive email sync, and the integration is deliberately built to avoid the
mail:full requirement. It does read the last_incoming_mail_time and
last_outgoing_mail_time timestamps that Pipedrive maintains on the standard
person record, which it uses to judge whether a deal has gone quiet. Timestamps
only — never subjects, bodies or recipients.
Be clear about what enforces each of these. The boundaries above rest on what the software does, not on a Pipedrive permission — the write scopes in section 4 would technically permit more. The one boundary Pipedrive itself enforces is the authorising user's visibility.
8. Credentials, expiry and revoking access
Access tokens last 60 minutes and Revial refreshes them automatically. Refresh tokens rotate on each refresh and do not expire on a fixed schedule. There is no rotation task for you.
A refresh token stops working when:
- the authorising user's Pipedrive account is deactivated or deleted;
- the app is uninstalled from your Pipedrive Marketplace;
- Pipedrive invalidates it.
Revial distinguishes a revoked or invalid refresh token from a temporary outage and reports it as a connection that needs re-authorising, rather than retrying silently.
To revoke Revial's access: uninstall the Revial app from Pipedrive Marketplace → Installed apps, or deactivate the authorising user. Either takes effect immediately.
Disconnecting inside Revial (Organization Settings → CRM → Disconnect) stops all syncing, deletes Revial's synced copy of your CRM data, and drops the stored credentials.
Disconnecting in Revial does not revoke the grant in Pipedrive. Pipedrive offers no token revocation endpoint, so Revial cannot revoke on your behalf. If your intent is to withdraw access rather than merely stop syncing, uninstall the app in Pipedrive as well — that is the step that actually ends the grant.
Notes and field values Revial previously wrote into Pipedrive stay there; a disconnect removes nothing from your CRM.
9. Verifying the connection
We suggest verifying in this order, as each step isolates a different scope.
- The connection is accepted, and the email shown is the intended account.
Confirms the token is valid and
users:readworks — and, more importantly, that the right person authorised. - The initial sync populates organizations, persons and deals. Confirms the read scopes and the authorising user's visibility.
- Check that a deal shows the correct pipeline stage. Confirms
pipelines:read. - Push a test meeting note to a known deal. Confirms note creation.
- If you use field mapping, check the nominated field was written. Confirms the write scope on that entity.
- For case A in section 2, confirm a consumer record is not present in the synced data. This is the check that proves the authorising user's visibility restriction actually holds.
10. Troubleshooting
| Symptom | Likely cause |
|---|---|
| The connection shows an unexpected email address | A different Pipedrive account was signed in at authorisation — disconnect, sign out of Pipedrive, and reconnect as the intended user |
| No Allow and Install button on the consent screen | Your Pipedrive plan or settings restrict Marketplace installs to admins |
| Sync completes but many deals are missing | The authorising user cannot see them — check their permission set and visibility groups |
| Sync returns nothing at all | The authorising user's Pipedrive account has been deactivated |
| The connection worked and then stopped, asking to reconnect | The refresh token was invalidated — usually the app was uninstalled, or the authorising user was deactivated |
| Notes appear in Pipedrive but all attributed to one person | Expected — see section 5. Notes are authored by the authorising user |
| A configured custom field is not updated | The field key is wrong, or the field type rejects the value — Revial reports the per-field failure |
| Consumer records are still visible after connecting | Expected — see section 2. This is a visibility-group question, not a scope question |
| Syncs are slower than expected on a large account | The first full sync is the slowest; later syncs are incremental. Deal participants are fetched one request per deal, so a large pipeline means many calls |
| A sync fails outright on a large or busy account | Possibly Pipedrive API throttling. Revial does not currently back off and retry on a rate-limit response — tell us if you see this and we will investigate the logs |
11. Questions we cannot answer for you
Please raise these with us before connecting rather than after:
- Your consumer and business records are separated only by a field value (case C).
- You need per-seller attribution on notes written into Pipedrive.
- You need Revial restricted to specific pipelines.
- Your review requires written confirmation on the
productsscopes in section 4.