Skip to main content

Coeffection CRM Documentation

Everything you need to set up, use, and get the most out of Coeffection CRM.

Getting Started

Welcome to Coeffection CRM โ€” the unified platform built for mid-market sales teams. Coeffection combines a full contact and lead management system with an end-to-end Quote-to-Cash workflow, a communication hub, and deep integrations into the tools your team already uses every day.

This documentation covers every module in the product. Use the sidebar on the left to jump directly to the section you need. Each section includes a visual walkthrough of the interface, step-by-step instructions, and tips from our implementation team.

First-time setup checklist

  1. 1Sign up or accept your invitation email โ€” you will land on the workspace setup wizard.
  2. 2Complete your company profile: name, timezone, logo, and default currency.
  3. 3Invite your team members via Admin โ†’ Users โ†’ Invite User.
  4. 4Connect your email provider (Gmail or Outlook) under Admin โ†’ Integrations.
  5. 5Import your existing contacts by uploading a CSV file from Contacts โ†’ Import.
  6. 6Set up at least one sales pipeline under Admin โ†’ Pipelines.
  7. 7Configure your product catalog under Products so quotes can be generated.
  8. 8Run through the 5-minute demo walkthrough available on the Dashboard.
โ„น
Tip: Coeffection uses role-based access control. As the account owner you start with the Admin role. You can assign roles (Sales Rep, Manager, Executive, Finance) to each invited user.
Workspace Setup Wizard
Step 1 of 4

Company Profile

Acme Corporation
America/New_York
USD ($)
Software / SaaS

Once setup is complete you will land on the main dashboard. From there you can navigate to any module using the left sidebar. The sidebar shows only the sections your role has permission to access.

Need help at any time? Click the ? icon in the top right corner to open this documentation in a side panel, or email support@coeffection.com.

Dashboard Overview

The dashboard is the first screen you see after logging in. It provides a high-level snapshot of your team's sales health: pipeline value, open deals, recent activity, upcoming tasks, and KPI progress. Each widget on the dashboard can be customised or rearranged by dragging.

Managers and Executives see an aggregated team view by default, while Sales Reps see their personal metrics. Use the team selector in the top-right corner of the dashboard to switch between your own numbers and the full team roll-up.

Coeffection โ€” Dashboard

Total Contacts

2,847

+12% vs last month

Pipeline Value

$1.24M

+8% vs last month

Open Cases

34

-3 vs last month

Deals Closed (MTD)

18

+5 vs last month

Pipeline by Stage

Prospecting
42
Qualified
28
Proposal Sent
14
Negotiation
7
Closed Won
18

Recent Activity

JS

Jamie S. closed deal Globex Corp โ€” $48,000

2m ago

MK

Mike K. sent quote Initech Ltd โ€” $12,500

14m ago

AL

Amy L. opened case CASE-0491 โ€” Login issue

1h ago

Customising your dashboard

  1. 1Click the Edit Dashboard button in the top-right corner of any dashboard.
  2. 2Drag and drop widgets to reorder them.
  3. 3Click the + Add Widget button to add a new chart, table, or KPI card.
  4. 4To remove a widget, hover it and click the ร— button in its top-right corner.
  5. 5Click Save Layout when finished.
โ„น
You can create multiple named dashboards (e.g. "Sales Overview", "Support Health") under the Dashboards module in the sidebar. Each dashboard can be shared with specific teams or roles.

The dashboard also surfaces an Upcoming Tasks widget showing your tasks due in the next 48 hours, and a Deal Forecast widget that uses weighted pipeline value to project your month-end revenue. Both widgets are powered in real time and update without a page refresh.

Contacts & Companies

Contacts are the individual people you do business with โ€” prospects, customers, partners, and influencers. Companies (also called Accounts) are the organisations those people belong to. A contact can belong to one or more companies, and a company can have many contacts.

You can create contacts manually, import them from a CSV, or have them flow in automatically from web form fills or lead capture integrations. Every contact gets a full activity timeline showing calls, emails, SMS messages, notes, deals, cases, and tasks โ€” all in one place.

Contacts โ€” All Contacts
NameCompanyEmailPhoneStatusOwner
SCSarah Chen
Globex Corps.chen@globex.com+1 415 555 0102CustomerJS
DPDavid Park
Initech Ltdd.park@initech.io+1 212 555 0189ProspectMK
EWEmma Wilson
Acme Inc.e.wilson@acme.com+1 312 555 0234LeadAL
CRCarlos Reyes
Hoolic.reyes@hooli.io+1 650 555 0177CustomerJS

Creating a new contact

  1. 1Navigate to Contacts in the sidebar and click the blue "+ New Contact" button.
  2. 2Fill in First Name, Last Name, and at least one of: Email or Phone.
  3. 3Link the contact to a Company โ€” type to search existing companies or click "Create New Company".
  4. 4Set the Contact Status (Lead, Prospect, Customer, Churned) and assign an Owner.
  5. 5Click Save. The contact record opens immediately.

Contact detail view

Contact โ€” Sarah Chen
SC

Sarah Chen

Customer

VP of Engineering ยท Globex Corp

s.chen@globex.com+1 415 555 0102

Open Deals

2 ยท $62,000

Open Cases

1

Last Activity

2 days ago

โ„น
Merging duplicates: Go to Contacts, select two or more contacts, and choose "Merge Selected" from the bulk action menu. Coeffection will keep the primary record and merge all activity history into it.

Importing contacts via CSV

To bulk-import contacts navigate to Contacts โ†’ Import. Download the CSV template, populate it with your data, and re-upload. The importer shows a column-mapping step where you can match your CSV headers to Coeffection fields โ€” including any custom fields your admin has configured. Duplicate detection is based on email address; existing records will be updated rather than duplicated.

โš 
Import files are limited to 50,000 rows per upload. For larger datasets contact our support team for a bulk migration service.

Leads Management

Leads represent early-stage interest before a full contact or opportunity record is warranted. They are a lightweight capture mechanism โ€” often sourced from web forms, marketing campaigns, events, or manual entry โ€” and live in their own module until they are qualified and converted.

Each lead has a lead score (0โ€“100) calculated automatically based on engagement signals: email opens, page visits, form submissions, and direct outreach. High-scoring leads appear at the top of the list and trigger alerts to the assigned rep.

Leads โ€” Kanban Board
New2

Tom Brady

NexGen

72

Rita Morales

Cloudify

45
Contacted2

James Obi

DataVault

88

Lisa Tran

InnoSoft

61
Qualified1

Marco Polo

TechBridge

94
Converted1

Alice Ng

FluxCorp

97
Disqualified1

Bob Smith

SpamCo

12

Converting a lead

  1. 1Open the lead record and click the Convert Lead button in the top-right.
  2. 2Choose whether to create a new Contact, a new Company, or both.
  3. 3Optionally create an Opportunity at the same time by checking Create Opportunity and selecting a pipeline stage.
  4. 4Click Convert. The lead is marked as Converted and linked to the newly created records.
โœ“
After conversion, all lead history (notes, emails, activity) is automatically transferred to the new contact record. Nothing is lost.

Lead assignment rules can be configured by an Admin under Settings โ†’ Workflows. You can round-robin new leads across your team, assign by territory, or route based on company size or lead score thresholds.

Opportunities & Pipeline

Opportunities represent active sales deals. Each opportunity belongs to a pipeline โ€” an ordered sequence of stages (e.g. Qualified โ†’ Demo Scheduled โ†’ Proposal Sent โ†’ Negotiation โ†’ Closed Won). You can have multiple pipelines for different product lines or sales motions.

Every opportunity has a close date, an expected value, and a probability percentage. These feed into the Deal Forecast widget on your dashboard. Stage gates let admins require certain conditions before a deal can advance โ€” for example, a signed NDA before moving to Proposal.

Opportunities โ€” Pipeline View
Qualified2

Globex Renewal

$48K

Apr 1570%

Initech Expansion

$18K

Apr 2860%
Demo Scheduled1

Hooli Platform

$120K

May 1050%
Proposal Sent2

NexGen Bundle

$35K

Apr 3080%

DataVault Pro

$22K

May 575%
Negotiation1

TechBridge Ent.

$95K

Apr 2090%

Pipeline editor

Admins can create and configure pipelines under Admin โ†’ Pipelines. Each stage can have a default probability, a color, and optionally a stage gate โ€” either a soft gate (warning only) or a hard gate (blocks movement until conditions are met). Stage gates can require a field to be filled, a task to be completed, or a specific user to approve the transition.

Pipeline Editor โ€” Enterprise Sales

Prospecting

10%

โ†’

Qualified

25%

โ†’

Demo

40%

โ†’

Proposal

60%

โ†’

Negotiation

80%

โ†’

Closed Won

100%

โ„น
Use the Forecast view (toggle in the top-right of the pipeline page) to see a weighted sum by close date, grouped by month. This is the number your Manager will use for monthly reporting.

Cases & Tickets

The Cases module is Coeffection's customer support and issue-tracking system. Cases are customer-reported problems, service requests, or enquiries that require resolution. They can be created manually by an agent, raised via an inbound email, or submitted through a web form.

Each case moves through a Kanban board with five default statuses: Backlog, Pending Agent, In Progress, Pending Customer, and Resolved. You can add custom statuses to match your support workflow. Priority levels (Low, Medium, High, Critical) drive SLA timers and escalation rules.

Cases โ€” Kanban Board
Backlog2
CASE-0498Medium

API rate limit errors

AL
CASE-0497Low

Export fails for large datasets

Pending Agent1
CASE-0496High

2FA not sending SMS

MK
In Progress2
CASE-0494Medium

Dashboard widget blank

JS
CASE-0491Critical

Login issue after SSO

AL
Pending Customer1
CASE-0488Low

Custom domain setup

MK
Resolved1
CASE-0485Low

Billing address update

JS

Creating a case

  1. 1Go to Cases in the sidebar and click "+ New Case".
  2. 2Select or search for the Contact this case belongs to. Link to a Company if applicable.
  3. 3Enter a Subject and a full Description of the issue.
  4. 4Set Priority (Low / Medium / High / Critical) and Category (e.g. Billing, Technical, Feature Request).
  5. 5Assign to an agent or leave unassigned to add to the team queue.
  6. 6Optionally apply a Case Template which will pre-populate a checklist of tasks.
  7. 7Click Create Case. An automated email confirmation is sent to the contact.

SLA timers and escalation

SLA rules are configured in Admin โ†’ Settings โ†’ SLA Policies. Each priority level maps to a first-response target and a resolution target. When a case is created, the appropriate SLA timer starts immediately. If the first-response deadline is approaching, the case card turns amber. If the deadline passes, it turns red and an escalation email is fired to the case owner's manager.

Email threading

Every case has a unique email address (e.g. case-0494@support.yourcompany.com). When a customer replies to a case notification, that reply is appended to the case thread automatically. Agents can reply directly from within Coeffection and the email will appear to come from the support address, keeping the conversation on-brand.

โ„น
Cases can be converted into Opportunities if you discover a upsell or renewal during the support process. Open the case and click Convert to Opportunity in the Actions menu.

Tasks & Assignments

Tasks are the atomic unit of work in Coeffection. They can be standalone to-dos, subtasks on a project, action items attached to a case, or required checklist items on an opportunity stage gate. Every task has an assignee, a due date, a priority, and a status.

Tasks can be assigned to a specific person or to a team queue. Queue-assigned tasks appear in the shared inbox of the team; the first agent to claim it becomes the owner. Dependencies between tasks are tracked with Blocks / Blocked By relationships, allowing you to model multi-step workflows.

Tasks โ€” Board View
To Do2

Send follow-up email to Sarah Chen

HighToday

Prepare Q2 forecast report

MediumApr 18Blocked
In Progress1

Demo prep for Hooli

HighTomorrow
Review2

Review NDA for TechBridge

MediumApr 20

Update pricing deck

LowApr 22
Done1

Onboarding call with Globex

HighApr 10

Task dependencies

Open a task and scroll to the Dependencies section. You can add any number of "Blocks" relationships (tasks this task prevents from starting) and "Blocked By" relationships (tasks that must complete before this one can start). Tasks that are currently blocked display a red "Blocked" badge and cannot be moved to In Progress until all their blockers are resolved.

Creating tasks from stage gates

When an opportunity advances to a new pipeline stage, any task templates configured for that stage are automatically spawned. For example, when a deal moves to Proposal Sent, tasks for "Send proposal document", "Schedule follow-up call", and "Log decision maker name" can be created automatically and assigned to the deal owner.

  1. 1Go to Admin โ†’ Pipelines and open the pipeline you want to configure.
  2. 2Click on a stage card to open its settings.
  3. 3Under "Task Templates", click "+ Add Template".
  4. 4Enter the task title, default assignee (person or team), priority, and relative due date (e.g. 2 days after stage entry).
  5. 5Save. Tasks will be created automatically for all future deal movements into that stage.
โ„น
You can view all your tasks in the My Tasks view filtered by due date, or switch to Team Tasks to see everything assigned to your team regardless of record.

Projects

Projects group related tasks under a shared goal. They are ideal for post-sale activities such as customer onboarding, implementation engagements, or internal campaigns. A project has a start date, an end date, a status, and an owner. Project milestones let you break the timeline into phases.

Every project can be linked to a Contact, a Company, or an Opportunity, giving your team full context about why the work is being done and who the customer is. Project progress is calculated automatically based on how many of its tasks are marked Complete.

Projects โ€” Onboarding: Globex Corp

Globex Corp Onboarding

Apr 1 โ€“ May 15 ยท Sarah Chen

Progress

68%

Kickoff & Discovery
3/3 tasksComplete
Data Migration
4/6 tasksIn Progress
Training
0/4 tasksNot Started
Go-Live
0/2 tasksNot Started
  1. 1Navigate to Projects in the sidebar and click "+ New Project".
  2. 2Enter the project name, start and end dates, and assign an owner.
  3. 3Link to a Contact, Company, or Opportunity using the Related To field.
  4. 4Add milestones by clicking + Add Milestone and naming each phase.
  5. 5Create tasks within each milestone using the inline task creator.
  6. 6Share the project with team members using the Members tab.
โ„น
Project templates let you save a project structure (milestones + tasks) and reuse it. Configure templates under Settings โ†’ Project Templates.

Quotes & Proposals

The Quote Builder lets you assemble professional proposals directly from your product catalog without leaving Coeffection. Each quote is linked to an opportunity and a contact. When a quote is accepted it automatically advances to the contract stage, kicking off the Quote-to-Cash workflow.

Quotes support line items, quantity discounts, manual override pricing, tax rates, and multi-currency. Each line item pulls from the product catalog and respects effective-dated pricing โ€” so if a price changes next month, existing quotes are not affected. A beautiful PDF is generated automatically and can be emailed to the customer directly from the quote record.

Quote Builder โ€” QT-2024-0089

QT-2024-0089

Enterprise Platform โ€” TechBridge Inc.

Valid until May 15, 2024

Draft
ProductQtyUnit PriceDiscountTotal
Platform License50$150.0010%$6,750.00
Implementation Services1$12,000.000%$12,000.00
Priority Support1$5,000.0015%$4,250.00
Subtotal$23,000.00
Discountsโ€“$2,000.00
Tax (8%)$1,680.00
Total$22,680.00
  1. 1Open an Opportunity and click "Create Quote" from the Related section.
  2. 2Add line items by searching the product catalog.
  3. 3Adjust quantities, apply discounts, and set the quote expiry date.
  4. 4Preview the PDF to check formatting.
  5. 5Click Send to Customer โ€” the system emails the PDF and creates a tracked link.
  6. 6When the customer accepts, click Accept Quote which transitions to Contract.
โš 
Discounts above the threshold configured for your role require Manager approval. The quote will show an Approval Required badge until a Manager approves or adjusts the discount.

Contracts & DocuSign

When a quote is accepted, Coeffection creates a Contract record automatically. The contract module handles the full signature lifecycle: generating the contract document from a template, sending it for e-signature via DocuSign, tracking signer activity, and receiving the countersigned copy.

If you do not have a DocuSign account, you can use the PDF upload fallback โ€” attach a signed PDF manually and mark the contract as signed. Either path triggers the same downstream automation: the linked opportunity moves to Closed Won and an invoice is generated in QuickBooks or NetSuite.

Contract โ€” CT-2024-0042

CT-2024-0042

TechBridge Enterprise Agreement

Linked to Opportunity: TechBridge Ent. ยท $95,000

Awaiting Signature

Signature Progress

โœ“

Marco Polo (Customer)

Apr 14, 10:32 AM

Signed
โ€ฆ

Amy L. (Our Company)

โ€”

Pending

State machine

The contract progresses through these states automatically:

Draftโ†’Sent for Signatureโ†’Partially Signedโ†’Fully Signedโ†’Activeโ†’Expired
โ„น
DocuSign webhooks update the contract status in real time. There is no need to manually poll DocuSign โ€” Coeffection receives envelope events the moment a signer acts.

Invoices & Billing

Once a contract is fully signed, Coeffection automatically generates an invoice and syncs it to your connected accounting system โ€” QuickBooks Online or NetSuite. The invoice mirrors the line items and totals from the originating quote. You can also create invoices manually from any opportunity or contact record.

Invoices track payment status (Draft, Sent, Partially Paid, Paid, Overdue, Void) and display a payment timeline. When payment is recorded in QuickBooks or NetSuite, the status syncs back to Coeffection within minutes via webhook.

Invoices โ€” List View
Invoice #CustomerAmountDue DateStatus
INV-1089TechBridge Inc.$95,000.00May 1, 2024Sent
INV-1088Globex Corp$48,000.00Apr 28, 2024Paid
INV-1087DataVault Pro$22,000.00Apr 15, 2024Overdue
INV-1086InnoSoft$8,500.00May 5, 2024Draft
  1. 1Connect QuickBooks or NetSuite under Admin โ†’ Integrations.
  2. 2When a contract is fully signed, an invoice is created automatically.
  3. 3To create manually: open an Opportunity and click Create Invoice.
  4. 4Review line items, add payment terms, and click Send to Customer.
  5. 5Payment status syncs automatically when recorded in your accounting system.
โš 
Manual invoice edits made in QuickBooks will NOT sync back to Coeffection. For consistency, always make changes in Coeffection and let them push out to QuickBooks.

Communication Hub

The Communication Hub is the unified inbox for all customer interactions. Every email, phone call, SMS message, and meeting is automatically logged against the relevant contact, company, opportunity, or case. Your team never needs to manually log calls or copy-paste emails again.

The hub integrates with Gmail and Outlook for email sync, Twilio for voice calls and SMS, and Zoom for video meetings. Call recordings are transcribed automatically via Fireflies.ai and the summary is attached to the activity record.

Communications โ€” Inbox
Call

Sarah Chen

10:32 AM

Renewal discussion โ€” 18 min

Email

Marco Polo

9:15 AM

Re: TechBridge contract โ€” Please see attached

SMS

David Park

Yesterday

Quick question about pricing

Meeting

Alice Ng โ€” Zoom

Yesterday

FluxCorp implementation kickoff โ€” Transcript available

Email sync setup

  1. 1Go to Admin โ†’ Integrations and click Connect next to Gmail or Outlook.
  2. 2Authorise access via the OAuth popup.
  3. 3Choose whether to sync All Emails or only emails matching CRM contacts.
  4. 4Configure the sync lookback period (up to 12 months of history).
  5. 5Emails will begin appearing on contact and opportunity timelines within minutes.

Making calls with Twilio

With Twilio connected, a Call button appears on every contact record and in the communications module. Clicking it opens the soft-phone dialler inside Coeffection. Calls are recorded (with the appropriate consent notice), transcribed, and attached to the contact timeline. You can add notes during the call that are saved alongside the recording.

โ„น
Call transcripts are searchable. Use the global search bar and filter by "Calls" to find any conversation by keyword.

Integrations Setup

Coeffection integrates with the tools your team already uses. All integrations are managed by an Admin from the Admin โ†’ Integrations page. Most connections use OAuth โ€” you authorise Coeffection to access your account and the token is stored securely per tenant.

Each integration page inside the app shows its current status, last sync time, and a log of any recent errors. You can disconnect and reconnect at any time without losing your data in Coeffection.

Admin โ€” Integrations

Gmail

Email

Sync emails, send from CRM, track opens and clicks.

Outlook

Email

Full Exchange and Office 365 support including calendar sync.

Twilio

Phone & SMS

Voice calls, SMS, call recording and transcription.

Zoom

Video

Schedule meetings, join from CRM, auto-log meeting records.

DocuSign

Signatures

Send contracts for e-signature, track signer progress.

QuickBooks

Accounting

Sync invoices, payments and customers bidirectionally.

NetSuite

Accounting

Enterprise ERP integration for invoicing and revenue.

Slack

Notifications

Deal alerts, task reminders and CRM notifications in Slack.

Fireflies.ai

Transcription

AI-powered meeting transcription and call summaries.

Mailchimp

Marketing

Sync contacts, track campaign engagement in CRM.

HubSpot

CRM Import

One-click migration from HubSpot contacts and deals.

Salesforce

CRM Import

Migrate Salesforce accounts, contacts and opportunities.

Supabase

Lead Import

Import leads directly from Supabase tables and views into your pipeline with real-time sync.

Dropbox

Documents

Store and organize entity documents in Dropbox with automatic folder routing and template support.

Airtable

Lead Import

Import and sync records from Airtable bases with field mapping, transforms, and bidirectional sync.

Monday.com

Project Management

Import projects and tasks from Monday.com boards with status mapping and field sync.

Calendly

Scheduling

Sync scheduled meetings, auto-create CRM records for new bookings, and track meeting outcomes.

ChiliPiper

Scheduling

Intelligent meeting routing and scheduling with automatic lead assignment and CRM record creation.

Microsoft Teams

Communication

Deal alerts, task notifications, and CRM updates delivered directly to Microsoft Teams channels.

SendGrid

Email Delivery

Transactional email delivery with delivery tracking, bounce handling, and engagement analytics.

Setting up Google (Gmail & Calendar)

OAuth 2.0 / Service Account~5 min personal, 15 min organization setup

Bidirectional sync between Google Workspace and Coeffection. Emails land on contact timelines automatically, calendar events sync in real time, and outbound email is sent from your actual Gmail address โ€” so recipients see your name, not a CRM alias.

Coeffection supports two connection modes. Personal Connection is fastest โ€” each user connects their own Google account via OAuth and is up and running in under a minute. Organization Connection uses Google's Domain-Wide Delegation so an admin connects once and every user in the Workspace domain is synced automatically โ€” no individual OAuth flows, no per-user setup, and employees added later are connected immediately.

Supported Features

FeatureDetailsStatus
Email sync (inbound)Incoming emails matched to CRM contacts appear on the contact timelineSupported
Email sync (outbound)Emails sent from Coeffection go through your Gmail โ€” recipients see your addressSupported
Email threadingReplies are grouped into conversation threads with In-Reply-To headersSupported
File attachmentsSend and receive attachments up to 25 MB via MIME encodingSupported
Rich text composeFormatting toolbar (bold, italic, links, lists) in the compose and reply editorSupported
Calendar syncGoogle Calendar events sync bidirectionally โ€” create in either placeSupported
Meeting linksGoogle Meet links auto-generated when creating calendar events from the CRMSupported
Contact matchingIncoming emails auto-matched to CRM contacts by email addressSupported
Gravatar avatarsExternal sender avatars resolved via Gravatar; internal users show CRM profile photoSupported
Shared mailbox syncSync a team shared mailbox (e.g. sales@) via delegationComing Soon

Option A โ€” Personal Connection

Before you begin

  • โœ“A Google account (Gmail or Google Workspace)
  • โœ“Admin or Manager role in Coeffection
  1. 1Go to Admin โ†’ Integrations and click the Google (Gmail & Calendar) card.
  2. 2Click "Connect My Account" โ€” a Google OAuth popup will open.
  3. 3Sign in with the Google account you use for work email (use your personal work email, not a shared admin account).
  4. 4Review the permission scopes and click "Allow". Coeffection requests: read and send email, manage calendar events, and view your email address.
  5. 5Your Gmail inbox and Google Calendar will begin syncing immediately. Existing emails matching CRM contacts will backfill onto their timelines.
โœ“
Once connected, open any contact record and scroll to the Email section โ€” you should see recent email threads with that contact. Click Compose to send an email from your Gmail address directly within the CRM.

Option B โ€” Organization Connection (Domain-Wide Delegation)

This is the recommended setup for teams of 5+ users. An admin completes the setup once and every user in the Google Workspace domain is connected automatically โ€” no individual OAuth flows needed. New employees are connected the moment they are added to the Workspace domain.

Before you begin

  • โœ“Google Workspace (not personal Gmail โ€” delegation requires an organization domain)
  • โœ“Super Admin access in Google Admin Console (admin.google.com)
  • โœ“A Google Cloud project with billing enabled (free tier is sufficient)
  • โœ“Admin role in Coeffection

Part 1 โ€” Create a Google Cloud Service Account

  1. 1Go to console.cloud.google.com and select (or create) the project you want to use.
  2. 2Navigate to APIs & Services โ†’ Library. Search for and enable: Gmail API, Google Calendar API, and People API.
  3. 3Navigate to IAM & Admin โ†’ Service Accounts. Click "Create Service Account".
  4. 4Name it something descriptive like "Coeffection CRM Delegation" and click Create and Continue.
  5. 5Skip the optional role and user access steps โ€” click Done.
  6. 6Click into the new service account. Go to the Details tab and check "Enable Google Workspace Domain-wide Delegation". Copy the Client ID shown โ€” you will need it in Part 2.
  7. 7Go to the Keys tab. Click Add Key โ†’ Create new key โ†’ JSON. A .json file will download โ€” this is your service account credential file. Store it securely.
Google Cloud Console โ€” Service Account Keys
SA

coeffection-crm-delegation

coeffection-crm@project-id.iam.gserviceaccount.com

Client ID:1148274832847294Copy
Domain-wide delegation:Enabled

Keys

JSON keya1b2c3d4e5f6
Created Apr 6, 2026

Part 2 โ€” Grant Domain-Wide Delegation Scopes

  1. 1Go to admin.google.com and sign in as a Super Admin.
  2. 2Navigate to Security โ†’ Access and data control โ†’ API controls.
  3. 3Scroll down to "Domain-wide delegation" and click Manage Domain-wide Delegation.
  4. 4Click "Add new". In the Client ID field, paste the Client ID you copied from the service account.
  5. 5In the OAuth scopes field, paste the following scopes (comma-separated):
https://www.googleapis.com/auth/gmail.send,
https://www.googleapis.com/auth/gmail.readonly,
https://www.googleapis.com/auth/gmail.modify,
https://www.googleapis.com/auth/calendar,
https://www.googleapis.com/auth/calendar.events,
https://www.googleapis.com/auth/userinfo.email
  1. 1Click Authorize. The service account now has permission to act on behalf of any user in your domain for these scopes.
Google Admin Console โ€” Domain-wide Delegation

API Clients

Client IDOAuth Scopes
114827483284

gmail.send, gmail.readonly, gmail.modify

calendar, calendar.events, userinfo.email

Part 3 โ€” Connect in Coeffection

  1. 1In Coeffection, go to Admin โ†’ Integrations โ†’ Google (Gmail & Calendar).
  2. 2Click "Connect My Organization".
  3. 3Enter your Google Workspace domain (e.g. yourcompany.com).
  4. 4Upload the JSON key file you downloaded in Part 1.
  5. 5Click "Verify & Save". Coeffection will test the delegation by reading a sample inbox โ€” if scopes are correct, the connection is confirmed.
  6. 6All users in your Workspace domain are now connected. Email sync, calendar sync, and send-as capabilities are active for every user.
โœ“
Verify the connection by opening any user's contact record โ€” their email threads should be loading. Send a test email from the compose box and confirm it appears in the recipient's inbox with the correct "From" address.

Troubleshooting

I see "unauthorized_client" when verifying the connectionโ–พ
This means the Domain-Wide Delegation step (Part 2) was missed or the Client ID was entered incorrectly. Go to Google Admin Console โ†’ Security โ†’ API Controls โ†’ Domain-wide Delegation and verify the Client ID matches the one on your service account. Make sure all 6 scopes are listed.
I see "Organization Policy blocks service account key creation"โ–พ
Your Google Workspace has an organization policy (iam.disableServiceAccountKeyCreation) that prevents JSON key downloads. Ask your Workspace Super Admin to temporarily disable this policy under Google Cloud Console โ†’ IAM โ†’ Organization Policies, create the key, then re-enable the policy.
Emails are sending from the wrong addressโ–พ
Domain-Wide Delegation impersonates each user by their email address. If the "From" address is wrong, check that the user's email address in Coeffection matches their Google Workspace email exactly. The match is case-insensitive but must be the primary email, not an alias.
Calendar events aren't syncingโ–พ
Make sure the Google Calendar API is enabled in your Google Cloud project (APIs & Services โ†’ Library โ†’ Google Calendar API). Also verify the calendar and calendar.events scopes are included in your Domain-Wide Delegation configuration.
I only want to connect my own account, not the whole orgโ–พ
Use Option A (Personal Connection) instead. You can mix both modes โ€” some users can use personal OAuth while the organization connection covers everyone else. Personal connections take priority when both exist for the same user.
โ„น
Organization Connection is recommended for teams of 5+ users. It eliminates per-user OAuth flows, automatically connects new employees, and ensures consistent sync settings across the organization. Personal Connection is best for solo users or small teams where each person manages their own Google account.

Setting up Zoom

OAuth 2.0 / Service Account~5 min personal, 10 min organization setup

Connect Zoom to sync meetings, recordings, phone calls, and webinars to CRM contact timelines. Supports both individual OAuth and organization-wide Server-to-Server connections. Zoom Phone users get an embedded dialer directly inside Coeffection.

Supported Features

FeatureDetailsStatus
Meeting syncPast and upcoming Zoom meetings appear on the contact timelineSupported
Recording syncCloud recordings are linked to the CRM record with playbackSupported
Zoom PhoneEmbedded Zoom Phone dialer widget inside the CRM โ€” click-to-call from any recordSupported
Call loggingInbound and outbound Zoom Phone calls auto-logged on contact timelinesSupported
Webinar trackingWebinar registrations and attendance sync to CRM contactsSupported
Meeting transcriptsZoom AI Companion transcripts attached to timeline entriesComing Soon

Option A โ€” Personal Connection

Before you begin

  • โœ“A Zoom account (free or paid)
  • โœ“Admin or Manager role in Coeffection
  1. 1Go to Admin โ†’ Integrations โ†’ Zoom.
  2. 2Under "Personal Zoom Connection", click Connect.
  3. 3Sign in to Zoom in the OAuth popup and authorize Coeffection.
  4. 4Your Zoom meetings, recordings, and call logs will sync to the CRM immediately.

Option B โ€” Organization Connection (Server-to-Server OAuth)

For teams where all users share a Zoom account, create a Server-to-Server OAuth app in the Zoom Marketplace. This connects every user automatically โ€” no individual OAuth flows.

Before you begin

  • โœ“Zoom account with Admin or Owner role
  • โœ“Access to marketplace.zoom.us
  • โœ“Admin role in Coeffection

Step 1 โ€” Create a Server-to-Server OAuth App

  1. 1Go to marketplace.zoom.us and sign in with your Zoom admin account.
  2. 2Click Develop โ†’ Build App in the top navigation.
  3. 3Select "Server-to-Server OAuth" as the app type and click Create.
  4. 4Name the app (e.g. "Coeffection CRM Integration") and click Create.
  5. 5On the App Credentials page, copy the Account ID, Client ID, and Client Secret โ€” you will need all three.
Zoom Marketplace โ€” App Credentials
Z

Coeffection CRM Integration

Server-to-Server OAuth
Account ID:Abc123XYZ...
Client ID:rK4z8N7q...
Client Secret:โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข

Step 2 โ€” Add Required Scopes

  1. 1In the Zoom app settings, go to the "Scopes" tab.
  2. 2Add these scopes: meeting:read:list_meetings:admin, meeting:read:meeting:admin, cloud_recording:read:list_user_recordings:admin, phone:read:list_call_logs:admin, user:read:list_users:admin.
  3. 3Click "Done" to save the scopes.
  4. 4Go to the Activation tab and click Activate your app.

Step 3 โ€” Connect in Coeffection

  1. 1In Coeffection, go to Admin โ†’ Integrations โ†’ Zoom.
  2. 2Under "Organization Connection", paste the Account ID, Client ID, and Client Secret.
  3. 3Click "Verify & Save". Coeffection will make a test API call to confirm the credentials work.
  4. 4All users in your Zoom account are now connected. Meetings, recordings, phone calls, and webinars sync for everyone.

Zoom Phone โ€” Embedded Dialer

If your Zoom account includes Zoom Phone, Coeffection embeds the Zoom Phone Smart Embed widget directly into the CRM. A floating phone pill appears in the bottom-right corner. Click it to open the full dialer โ€” or click any phone number on a contact record to start a call instantly.

โ„น
The Zoom Phone widget requires a Zoom Phone license assigned to the user. If you have Twilio configured instead of Zoom Phone, the phone pill opens the Twilio dialer automatically โ€” the CRM detects which provider is active and shows the correct widget.

Troubleshooting

Meetings aren't syncing after connectingโ–พ
Check that the required scopes are added to your Server-to-Server OAuth app in the Zoom Marketplace. Go to your app โ†’ Scopes and verify meeting:read and cloud_recording:read scopes are present. If you added scopes after activation, you may need to deactivate and reactivate the app.
Zoom Phone dialer isn't appearingโ–พ
The embedded dialer requires a Zoom Phone license assigned to the user. Verify in the Zoom Admin portal (admin.zoom.us) that the user has a Phone license. If you use Twilio instead of Zoom Phone, the Twilio dialer is shown instead.
Organization connection overrides my personal connectionโ–พ
This is by design. When an organization connection is active, personal connections are suspended and the individual connect UI is hidden. If the admin removes the organization connection, users can reconnect their personal accounts.

Setting up Twilio

API Key~10 min setup

Cloud telephony for voice calls and SMS directly from the CRM. Click-to-call from any contact record, send SMS messages, receive inbound calls with configurable routing, and record calls with automatic transcription. Twilio powers the built-in phone widget when Zoom Phone is not configured.

Supported Features

FeatureDetailsStatus
Outbound callsClick-to-call from any contact record โ€” calls go through your Twilio numberSupported
Inbound callsReceive calls with configurable routing to teams, users, or IVR menusSupported
SMS send/receiveSend and receive text messages from contact timelines and the phone widgetSupported
Call recordingRecord calls with one-click toggle โ€” recordings attached to the contact timelineSupported
Call loggingEvery call (inbound and outbound) auto-logged with duration, timestamp, and recordingSupported
VoicemailMissed calls go to voicemail โ€” recordings appear in the CRM as timeline entriesSupported
10DLC SMS complianceA2P campaign registration for business SMS with carrier-approved messagingSupported
SMS campaignsBulk SMS campaigns with opt-out management and delivery trackingComing Soon

Prerequisites

Before you begin

  • โœ“A Twilio account (twilio.com) โ€” a trial account works for testing but has limited functionality
  • โœ“A purchased Twilio phone number with Voice and SMS capabilities
  • โœ“For SMS: complete A2P/10DLC registration in the Twilio Console (required by US carriers)
  • โœ“Admin role in Coeffection

Getting Your Credentials

  1. 1Go to console.twilio.com and sign in to your Twilio account.
  2. 2On the main Console dashboard, find your Account SID and Auth Token. The Auth Token is hidden by default โ€” click "Show" to reveal it.
  3. 3Copy both values โ€” you will paste them into Coeffection in the next step.
Twilio Console โ€” Account Dashboard

Account Info

Account SID:AC1a2b3c4d5e6f7g8h9i...
Auth Token:โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขShow

Phone Numbers

+1 (415) 555-2671Voice + SMS

Connecting in Coeffection

  1. 1Go to Admin โ†’ Integrations โ†’ Twilio.
  2. 2Paste your Account SID and Auth Token.
  3. 3Enter your Twilio phone number in E.164 format (e.g. +14155552671).
  4. 4Click "Save and Test". Coeffection will place a test API call to verify the credentials.
  5. 5Configure inbound call routing โ€” choose to ring a specific team, a user, or set up an IVR menu.
  6. 6Set your default caller ID and recording preferences.

10DLC SMS Compliance

US carriers require businesses to register their phone numbers for Application-to-Person (A2P) messaging through the 10DLC system. Without registration, your SMS messages may be filtered or blocked. Complete registration in the Twilio Console:

  1. 1In the Twilio Console, go to Messaging โ†’ Trust Hub โ†’ A2P Brand Registration.
  2. 2Submit your brand (company name, EIN, website, vertical) for vetting.
  3. 3Once approved, create a Messaging Campaign with your use case (e.g. CRM notifications, appointment reminders).
  4. 4Provide your privacy policy URL and terms of service URL โ€” these must include SMS consent and opt-out language.
  5. 5After carrier approval, your Twilio number is 10DLC-registered and SMS delivery rates improve significantly.
โš 
Sending SMS without 10DLC registration will result in significantly reduced delivery rates and may lead to your number being blocked by carriers. Complete registration before sending any production SMS messages.

Troubleshooting

Test call fails with 'Invalid credentials'โ–พ
Double-check that you copied the full Account SID (starts with 'AC') and Auth Token from the Twilio Console. The Auth Token is hidden by default โ€” click 'Show' to reveal the full value. If you recently rotated your Auth Token, make sure you're using the new one.
Outbound SMS messages aren't being deliveredโ–พ
US carriers require 10DLC registration for business SMS. Check your registration status in the Twilio Console under Messaging โ†’ Trust Hub. Also verify your Twilio number has SMS capabilities enabled โ€” some numbers are voice-only.
Inbound calls aren't routing to my teamโ–พ
Check your Twilio webhook configuration. The Twilio phone number's Voice webhook URL must point to your Coeffection instance. Go to Phone Numbers โ†’ Active Numbers in the Twilio Console and verify the Voice webhook URL matches the URL shown in Admin โ†’ Integrations โ†’ Twilio.
โ„น
Use Twilio's trial account for initial testing, but switch to a paid account before going live. Trial accounts can only call verified numbers and prepend a trial message to calls, which is not suitable for production use.

Setting up DocuSign

OAuth 2.0~5 min setup

Send contracts for electronic signature directly from the CRM. Contracts are built from your DocuSign templates, and envelope status updates (sent, viewed, signed, declined) sync back to the deal record in real time. When a contract is signed, the opportunity automatically moves to Closed Won and invoice generation can be triggered.

Supported Features

FeatureDetailsStatus
Template mappingMap DocuSign templates to Coeffection contract types for one-click sendingSupported
Envelope status syncReal-time status updates: sent, delivered, viewed, signed, declined, voidedSupported
Auto-advance pipelineSigned contracts automatically move the deal to Closed WonSupported
Signer field prefillContact name, email, company, and deal fields auto-populate in the envelopeSupported
Multi-signer supportEnvelopes with multiple signers โ€” each signer mapped to a CRM contactSupported
Signed document storageCompleted PDFs stored in the CRM and linked to the deal recordSupported
Invoice triggerSigned contract triggers automatic invoice creation in QuickBooks/NetSuiteSupported

Before you begin

  • โœ“A DocuSign account (developer sandbox works for testing)
  • โœ“At least one DocuSign template configured
  • โœ“Admin role in Coeffection

Connecting DocuSign

  1. 1Go to Admin โ†’ Integrations โ†’ DocuSign and click Connect.
  2. 2Sign in to your DocuSign account in the OAuth popup.
  3. 3If you manage multiple DocuSign accounts, select the one to connect.
  4. 4Coeffection will fetch your DocuSign templates โ€” map each template to a Coeffection contract type (e.g. Master Service Agreement, NDA, SOW).
  5. 5Configure signer field mapping โ€” choose which CRM contact fields populate the DocuSign signer fields (name, email, company, title).
  6. 6Click Save. Contracts sent from Coeffection will now use DocuSign envelopes.
Admin โ†’ Integrations โ†’ DocuSign โ€” Template Mapping

Template โ†’ Contract Type Mapping

Master Service Agreement v3โ†’MSA
Mutual NDAโ†’NDA
Statement of Workโ†’SOW

Quote-to-Cash Workflow

DocuSign is a key step in Coeffection's Quote-to-Cash pipeline. The full flow is: Quote (draft) โ†’ Contract Sent (via DocuSign) โ†’ Signed โ†’ Closed/Won โ†’ Invoice Created. When a signed webhook arrives from DocuSign, the opportunity automatically advances to Closed Won and โ€” if QuickBooks or NetSuite is connected โ€” an invoice is created automatically.

Troubleshooting

Envelope status isn't updating in the CRMโ–พ
DocuSign sends status updates via webhooks. Verify the webhook URL is configured correctly in your DocuSign Connect settings. Go to DocuSign Admin โ†’ Connect and confirm the URL matches the one shown in Admin โ†’ Integrations โ†’ DocuSign.
Signer fields are empty in the envelopeโ–พ
Check your signer field mapping in Admin โ†’ Integrations โ†’ DocuSign. The CRM contact must have an email address โ€” DocuSign requires an email for each signer. Company name and title are optional but recommended.
โ„น
API credentials are encrypted at rest using AES-256 and are never exposed to frontend code. Coeffection uses per-tenant secret storage with full audit logging of all credential access.

Setting up Slack

OAuth 2.0~5 min setup

Route CRM activity notifications directly into your Slack channels. Deal stage changes, contract signings, task assignments, and pipeline updates appear where your team already works โ€” with configurable rules so the right events reach the right channels.

Supported Features

FeatureDetailsStatus
Channel notificationsCRM events posted to designated Slack channels with rich formattingSupported
Event filteringConfigure which CRM events trigger notifications (deal change, contract, task, lead)Supported
Per-pipeline routingDifferent pipelines can route notifications to different channelsSupported
Per-team overridesTeam-specific channel overrides for targeted notificationsSupported
@mention notificationsMention @users inside Coeffection to trigger a direct Slack DMSupported
Rich message formattingNotifications include deal value, stage, owner, and direct link to the CRM recordSupported
Slash commandsQuick CRM lookups from Slack with /coeffection commandsComing Soon

Before you begin

  • โœ“A Slack workspace where you have permission to install apps
  • โœ“Create a #crm-alerts channel (recommended) before connecting
  • โœ“Admin role in Coeffection

Connecting Slack

  1. 1Go to Admin โ†’ Integrations โ†’ Slack and click Authorize.
  2. 2Sign in to Slack and select the workspace to connect.
  3. 3Review the requested permissions and click Allow โ€” Coeffection needs permission to post messages to channels.
  4. 4Pick the default channel for CRM notifications (e.g. #crm-alerts).
  5. 5Configure notification rules: choose which CRM events trigger notifications and which channel receives each event type.
  6. 6Optionally add per-pipeline or per-team channel overrides for granular routing.
  7. 7Test the connection by triggering a sample deal update โ€” a message should appear in your chosen channel.
Slack โ€” CRM Notification
C
Coeffection2:34 PM

Deal moved to Negotiation

Deal: Acme Corp โ€” Enterprise License

Value: $125,000 โ€ข Owner: Sarah Chen

View in Coeffection โ†’

Notification Rules

Rules control which CRM events generate Slack messages. Available event types:

  • Deal Stage changed, deal won, deal lost
  • Contract Sent, viewed, signed, declined
  • Task Assigned, overdue, completed
  • Lead New lead assigned, lead converted
  • Invoice Created, paid, overdue

Troubleshooting

Notifications aren't appearing in my channelโ–พ
Verify that the Coeffection app has been added to the target channel in Slack. Go to the channel โ†’ click the channel name โ†’ Integrations tab โ†’ confirm Coeffection is listed. If not, click 'Add an app' and search for Coeffection.
I want different teams to get different notificationsโ–พ
Use per-pipeline and per-team channel overrides in Admin โ†’ Integrations โ†’ Slack โ†’ Notification Rules. Each pipeline or team can have its own target channel.
โ„น
Create a dedicated #crm-alerts channel before connecting Slack. Routing all CRM notifications there keeps your main team channels clutter-free and makes it easy to mute or customize alerts per user.

Setting up QuickBooks

OAuth 2.0~10 min setup

Close the loop between your CRM pipeline and accounting. Customers sync bidirectionally so account records stay consistent. When a deal moves to Closed Won, an invoice can be created in QuickBooks automatically โ€” completing the Quote-to-Cash workflow with zero manual data entry.

Supported Features

FeatureDetailsStatus
Customer syncBidirectional sync between CRM accounts and QuickBooks customers by company nameSupported
Auto-invoice on Close WonSigned contract triggers automatic invoice creation in QuickBooksSupported
Payment status syncInvoice payment status (paid, overdue, outstanding) reflected on the CRM deal recordSupported
Revenue reportingQuickBooks revenue totals feed into Coeffection's Reporting module for dashboardsSupported
Product/line item syncCRM quote line items map to QuickBooks products and servicesSupported
Tax calculationQuickBooks tax rates applied to auto-generated invoicesSupported
Credit memo syncCredit memos and refunds reflected on CRM deal recordsComing Soon

Before you begin

  • โœ“QuickBooks Online account (Simple Start, Essentials, Plus, or Advanced)
  • โœ“QuickBooks Admin or Accountant role
  • โœ“Admin or Finance role in Coeffection

Connecting QuickBooks

  1. 1Go to Admin โ†’ Integrations โ†’ QuickBooks and click Connect your QuickBooks Online account.
  2. 2Sign in via the QuickBooks OAuth popup and authorize Coeffection to access your company file.
  3. 3If you manage multiple QuickBooks companies, select the one to connect.
  4. 4Coeffection will fetch your existing QuickBooks customers and display a mapping preview.

Customer Mapping

After connecting, Coeffection matches CRM accounts to QuickBooks customers by company name. The mapping preview shows suggested matches โ€” review each one and accept, reject, or manually override the match.

Admin โ†’ Integrations โ†’ QuickBooks โ€” Customer Mapping

Suggested Matches

Acme Corporationโ†’Acme Corp98%
TechStart Incโ†’TechStart Inc.95%
Global Solutionsโ†’No match foundโ€”

Auto-Invoice Configuration

  1. 1In the QuickBooks integration settings, toggle "Auto-invoice on Close Won".
  2. 2Configure the invoice template โ€” select which QuickBooks income account, payment terms (Net 15, Net 30, etc.), and memo text to use.
  3. 3Map CRM quote line items to QuickBooks products/services โ€” the mapper suggests matches by product name.
  4. 4Set your preferred sync frequency: real-time (webhook), hourly, or daily batch.
  5. 5Run an initial sync and review the results in the QuickBooks integration log.
โš 
Start with manual sync before enabling auto-invoice to verify that customer mapping is correct. Once you are confident the accounts align, switch to auto-invoice so invoices are created without any extra steps.

Quote-to-Cash Flow

When QuickBooks + DocuSign are both connected, the full Quote-to-Cash automation is:

Quote Draftโ†’Contract Sentโ†’Signedโ†’Closed Wonโ†’Invoice Created

Each step is automatic โ€” the signed DocuSign envelope triggers Closed Won, which triggers the QuickBooks invoice. Your sales team closes the deal; finance sees the invoice without lifting a finger.

Troubleshooting

Invoice wasn't created when a deal was wonโ–พ
Check that auto-invoice is enabled in Admin โ†’ Integrations โ†’ QuickBooks. Also verify the deal has a quote with line items โ€” auto-invoice requires at least one line item to generate the invoice. Check the integration log for specific errors.
Customer mapping shows 'No match found'โ–พ
Coeffection matches by company name. If the CRM account name differs from the QuickBooks customer name (e.g. 'Acme Corp' vs 'Acme Corporation'), manually map them using the mapping interface. Future records will use your manual mapping.
OAuth token expiredโ–พ
QuickBooks OAuth tokens expire after 100 days if not used. If the connection shows as expired, click Re-authorize in Admin โ†’ Integrations โ†’ QuickBooks to generate a new token. Coeffection auto-refreshes tokens during normal use, so this only happens if the integration is inactive for extended periods.
โ„น
Enable payment status sync so your sales team can see invoice status (paid, overdue, outstanding) directly on the deal record. This eliminates the "did they pay yet?" back-and-forth between sales and finance teams.

Setting up NetSuite

Token-Based~20 min setup

Enterprise-grade ERP integration for larger organizations. Coeffection connects using NetSuite's Token-Based Authentication (TBA) for secure, granular access without password sharing. Invoices, customers, and revenue data sync bidirectionally with full field mapping control.

Supported Features

FeatureDetailsStatus
Customer syncBidirectional sync between CRM accounts and NetSuite customer recordsSupported
Invoice syncInvoices created in NetSuite appear on the CRM deal recordSupported
Auto-invoice on Close WonSigned deals trigger automatic invoice creation in NetSuiteSupported
Revenue trackingNetSuite revenue data feeds into CRM reporting dashboardsSupported
Field mappingCustom field mapping between CRM entity fields and NetSuite record fieldsSupported
Multi-subsidiaryConnect to specific NetSuite subsidiaries for multi-entity organizationsSupported
Custom record typesSync custom NetSuite record types in addition to standard onesComing Soon

Before you begin

  • โœ“NetSuite account with Administrator or Integration Administrator role
  • โœ“Token-Based Authentication enabled in your NetSuite account (Setup โ†’ Company โ†’ Enable Features โ†’ SuiteCloud โ†’ Token-Based Authentication)
  • โœ“Admin or Finance role in Coeffection

Step 1 โ€” Create a NetSuite Integration Record

  1. 1In NetSuite, go to Setup โ†’ Integration โ†’ Manage Integrations.
  2. 2Click New. Name the integration "Coeffection CRM".
  3. 3Check "Token-Based Authentication" under Authentication.
  4. 4Uncheck TBA: Authorization Flow if it is checked โ€” Coeffection uses the direct token approach.
  5. 5Save the record. Copy the Consumer Key and Consumer Secret โ€” these are shown only once.
โš 
The Consumer Key and Consumer Secret are displayed only once when you create the integration record. Copy them immediately and store them securely. If you lose them, you must create a new integration record.

Step 2 โ€” Create a Dedicated User and Role

  1. 1Go to Setup โ†’ Users/Roles โ†’ Manage Roles and create a new role (e.g. "CRM Integration").
  2. 2Assign the minimum permissions needed: Customers (Full), Transactions (View/Create), Items (View). Restrict access to only the record types Coeffection needs.
  3. 3Go to Setup โ†’ Users/Roles โ†’ Manage Users. Create a dedicated user (e.g. crm-sync@yourcompany.com) and assign the new role.
  4. 4This user will be used exclusively for the integration โ€” using a dedicated user makes audit logging clear and permission management simple.

Step 3 โ€” Generate Access Tokens

  1. 1Sign in to NetSuite as the dedicated integration user (or as an admin).
  2. 2Go to Setup โ†’ Users/Roles โ†’ Access Tokens. Click "New Access Token".
  3. 3Select the "Coeffection CRM" application and the integration user.
  4. 4Click Save. Copy the Token ID and Token Secret โ€” these are shown only once.
NetSuite โ€” Access Token Credentials

Token-Based Authentication Credentials

Account ID:TSTDRV1234567
Consumer Key:a8f2b91c4d6e...
Consumer Secret:โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข
Token ID:7c3d8e5f1a9b...
Token Secret:โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข

Step 4 โ€” Connect in Coeffection

  1. 1In Coeffection, go to Admin โ†’ Integrations โ†’ NetSuite.
  2. 2Enter all five credentials: Account ID, Consumer Key, Consumer Secret, Token ID, and Token Secret.
  3. 3Click "Verify & Save". Coeffection will make a test API call to confirm the credentials work.
  4. 4Map CRM entity fields to NetSuite record fields using the field-mapping interface.
  5. 5Set your sync direction (CRM โ†’ NetSuite, NetSuite โ†’ CRM, or bidirectional) and sync frequency.
  6. 6Enable sync and verify the initial results in the integration status log.

Troubleshooting

'Invalid login attempt' when verifyingโ–พ
This usually means Token-Based Authentication is not enabled in your NetSuite account. Go to Setup โ†’ Company โ†’ Enable Features โ†’ SuiteCloud tab and check 'Token-Based Authentication'. Also verify the Account ID matches your NetSuite account number (visible in the URL when logged in).
'Insufficient permissions' for certain record typesโ–พ
The integration role needs explicit permissions for each record type. Go to Setup โ†’ Users/Roles โ†’ Manage Roles, find your integration role, and add the missing permissions. Common ones: Customers (Full), Sales Orders (View/Create), Invoices (View/Create).
Sync failing silentlyโ–พ
Check the integration status log in Admin โ†’ Integrations โ†’ NetSuite โ†’ Logs. Common causes: rate limiting (NetSuite limits API calls per hour), field type mismatches in your mapping, or deleted records on one side.
โ„น
Use your NetSuite Sandbox account first to test the full integration flow before connecting your production environment. This lets you verify field mappings and sync rules without affecting live financial data.

Setting up Outlook

OAuth 2.0~5 min setup

Sync your Microsoft 365 email and calendar with Coeffection. Emails auto-appear on contact timelines, outbound messages are sent from your Outlook address, and calendar events sync bidirectionally. Uses Microsoft Graph API via Azure AD OAuth for secure, scoped access.

Supported Features

FeatureDetailsStatus
Email sync (inbound)Incoming Outlook emails matched to CRM contacts appear on the contact timelineSupported
Email sync (outbound)Send from your Outlook address inside the CRM โ€” messages appear in your Sent ItemsSupported
Calendar syncOutlook calendar events sync bidirectionally with the CRM calendarSupported
Folder selectionChoose which Outlook folders to sync (Inbox, Sent Items, custom folders)Supported
Email threadingConversation threads grouped by thread ID with full reply historySupported
Rich text & attachmentsHTML email formatting preserved; attachments up to 25 MB supportedSupported
Shared mailbox syncSync shared mailboxes (e.g. sales@company.com) via delegated accessComing Soon

Before you begin

  • โœ“A Microsoft 365 account (Exchange Online) โ€” on-premise Exchange is not supported
  • โœ“Admin role in Coeffection

Connecting Outlook

  1. 1Go to Admin โ†’ Integrations โ†’ Outlook and click Sign in with Microsoft.
  2. 2Authenticate with your Microsoft 365 account via the Azure AD OAuth popup.
  3. 3Review and grant the requested permissions: Mail.ReadWrite, Mail.Send, Calendars.ReadWrite.
  4. 4Select which Outlook folders to sync โ€” Inbox and Sent Items are enabled by default; you can add custom folders.
  5. 5Choose your calendar sync direction: one-way (Outlook โ†’ CRM) or bidirectional.
  6. 6Emails from selected folders will auto-appear on contact and deal records as they arrive.
Admin โ†’ Integrations โ†’ Outlook โ€” Folder Selection

Sync Folders

Calendar Sync

Troubleshooting

OAuth popup shows 'Need admin approval'โ–พ
Your Azure AD tenant requires admin consent for new apps. Ask your IT admin to grant consent for Coeffection in the Azure portal under Enterprise Applications โ†’ Coeffection โ†’ Permissions โ†’ Grant admin consent.
Emails sent from CRM don't appear in Outlook Sent Itemsโ–พ
Enable "Send from CRM" in Admin โ†’ Integrations โ†’ Outlook settings. This uses the Microsoft Graph API to send through your Outlook account directly, ensuring messages appear in your Sent Items folder.
โ„น
Enable "Send from CRM" in the Outlook settings panel to keep your Outlook sent folder in sync with emails sent through Coeffection. This ensures your sent history is consistent whether you send from Outlook directly or from the CRM.

Setting up Calendly

OAuth 2.0~5 min setup

Automatically create CRM records when meetings are booked. Meeting details sync to the contact timeline, and outcome tracking (showed, no-show, rescheduled) keeps your pipeline data accurate without manual updates.

Supported Features

FeatureDetailsStatus
Auto-create recordsNew bookings automatically create Contact, Lead, or Opportunity records in the CRMSupported
Meeting syncMeeting date, time, duration, and event type sync to the contact timelineSupported
Outcome trackingTrack whether the invitee showed, no-showed, or rescheduledSupported
Field mappingMap Calendly custom questions to CRM entity fieldsSupported
Pipeline auto-advanceNew bookings can auto-advance leads to a 'Call Scheduled' pipeline stageSupported
Multi-event typeDifferent event types can create different entity types (Discovery โ†’ Lead, Demo โ†’ Opportunity)Supported
Round-robin routingCalendly round-robin assignments reflected in CRM record ownershipSupported

Before you begin

  • โœ“Calendly account (free or paid โ€” paid recommended for team features)
  • โœ“At least one event type configured in Calendly
  • โœ“Admin role in Coeffection

Getting Your Credentials

You can connect via OAuth (recommended) or by pasting a Personal Access Token. For the token approach:

  1. 1Go to calendly.com/integrations/api_webhooks (or Settings โ†’ Integrations โ†’ API & Webhooks in the Calendly dashboard).
  2. 2Under Personal Access Tokens, click Generate New Token.
  3. 3Name it "Coeffection CRM" and click Create Token.
  4. 4Copy the token โ€” it is shown only once.

Connecting in Coeffection

  1. 1Go to Admin โ†’ Integrations โ†’ Calendly and click Connect Account.
  2. 2Choose OAuth (redirects to Calendly for authorization) or paste your Personal Access Token.
  3. 3Select which Calendly event types to sync โ€” you can sync all or pick specific ones.
  4. 4For each event type, choose the CRM entity type to auto-create: Contact, Lead, or Opportunity.
  5. 5Map Calendly fields (name, email, company, custom questions) to the corresponding CRM fields.
  6. 6Optionally set a pipeline stage to auto-assign when a booking creates a new lead.
  7. 7Save and test by booking a sample meeting โ€” a new CRM record should appear.
Admin โ†’ Integrations โ†’ Calendly โ€” Event Type Mapping

Event Type โ†’ Entity Mapping

30-Minute Discovery Callโ†’LeadCall Scheduled
Product Demoโ†’OpportunityDemo Scheduled
15-Minute Check-inโ†’Contact

Troubleshooting

Bookings aren't creating CRM recordsโ–พ
Check that your Calendly webhook is active. Go to Admin โ†’ Integrations โ†’ Calendly โ†’ Logs and look for incoming webhook events. If none appear, verify the Calendly webhook subscription was created โ€” this happens automatically when you connect, but can fail if your Coeffection instance was unreachable.
Duplicate records being createdโ–พ
Coeffection deduplicates by email address. If duplicates appear, the invitee's email may differ between bookings (e.g. personal vs. work email). You can merge duplicates from the contact record's Actions menu.
โ„น
Map your "Discovery Call" event type to your Sales Pipeline with auto-advance to "Call Scheduled" โ€” new bookings create a lead and move it to the right stage in a single step, so nothing falls through the cracks.

Setting up ChiliPiper

API Key~10 min setup

Intelligent inbound lead routing that assigns leads to the right sales rep instantly. When a prospect books a meeting or submits a form, ChiliPiper routes them based on territory, round-robin, or account ownership rules โ€” and Coeffection reflects the assignment in real time.

Supported Features

FeatureDetailsStatus
Lead routingInbound leads auto-assigned to the correct rep based on routing rulesSupported
Queue mappingMap ChiliPiper queues to CRM teams or user groupsSupported
Auto-assignmentRouted leads immediately assigned in the CRM โ€” no manual handoffSupported
Pipeline auto-advanceRouted leads auto-advance to 'Call Scheduled' when a meeting is bookedSupported
Round-robin syncChiliPiper round-robin decisions reflected in CRM record ownershipSupported
Calendar availabilityRep availability from CRM calendar considered in routing decisionsComing Soon

Before you begin

  • โœ“ChiliPiper account with API access (Growth plan or higher)
  • โœ“At least one routing queue configured in ChiliPiper
  • โœ“Admin role in Coeffection

Getting Your API Key

  1. 1Sign in to the ChiliPiper dashboard at app.chilipiper.com.
  2. 2Go to Settings โ†’ API (or Settings โ†’ Integrations โ†’ API).
  3. 3Copy your API key โ€” if one does not exist, click Generate New Key.

Connecting in Coeffection

  1. 1Go to Admin โ†’ Integrations โ†’ ChiliPiper and enter the API key.
  2. 2Coeffection will fetch your ChiliPiper queues โ€” map each queue to the corresponding CRM team or user group.
  3. 3Configure routing rules: territory-based, round-robin, or account-owner matching.
  4. 4Enable auto-assignment so routed leads are immediately assigned in the CRM.
  5. 5Optionally set a pipeline stage to auto-assign when routing creates a new record.
  6. 6Test by submitting a sample lead form โ€” the record should appear assigned to the correct rep.

Troubleshooting

Leads aren't being assigned after routingโ–พ
Check that auto-assignment is enabled in Admin โ†’ Integrations โ†’ ChiliPiper. Also verify the ChiliPiper queue is mapped to a CRM team โ€” unmapped queues create leads but don't assign them.
API key rejectedโ–พ
ChiliPiper API keys are specific to your organization. Make sure you're copying the key from Settings โ†’ API in the ChiliPiper dashboard, not from a different integration page. If the key was recently rotated, use the new one.
โ„น
Combine ChiliPiper with your CRM pipeline to auto-advance leads to "Call Scheduled" when a meeting is booked โ€” routing and stage progression happen in a single step.

Setting up Microsoft Teams

OAuth 2.0~10 min setup

Route CRM notifications to Microsoft Teams channels with rich Adaptive Card formatting. Notifications include deal values, pipeline stages, and action buttons that link directly back to the CRM record โ€” so your team can act on alerts without switching apps.

Supported Features

FeatureDetailsStatus
Channel notificationsCRM events posted to Teams channels as rich Adaptive CardsSupported
Adaptive CardsInteractive cards with deal details, owner info, and direct CRM linksSupported
Event filteringConfigure which CRM events trigger Teams notificationsSupported
Multi-channel routingRoute different event types to different Teams channelsSupported
Action buttonsOpen record, assign owner, or change stage directly from the Teams cardComing Soon

Before you begin

  • โœ“Microsoft 365 account with Teams enabled
  • โœ“Azure AD admin access (for app registration and consent)
  • โœ“Admin role in Coeffection

Getting Your Credentials

  1. 1Go to portal.azure.com and sign in with your Microsoft 365 admin account.
  2. 2Navigate to Azure Active Directory โ†’ App registrations โ†’ New registration.
  3. 3Name the app "Coeffection CRM" and set the redirect URI to the value shown in Admin โ†’ Integrations โ†’ Teams.
  4. 4After creation, copy the Application (client) ID and create a new Client Secret under Certificates & Secrets.
  5. 5Go to API permissions โ†’ Add a permission โ†’ Microsoft Graph โ†’ Application permissions.
  6. 6Add these permissions: ChannelMessage.Send, Team.ReadBasic.All, Channel.ReadBasic.All.
  7. 7Click Grant admin consent for [your organization] to approve the permissions.
Azure AD โ€” App Registration
AD

Coeffection CRM

Application (client) ID: 2f4a8c1e-...

ChannelMessage.SendAdmin Consent Granted
Team.ReadBasic.AllAdmin Consent Granted

Connecting in Coeffection

  1. 1Go to Admin โ†’ Integrations โ†’ Microsoft Teams and click Authorize.
  2. 2Sign in with your Microsoft 365 admin account to complete the OAuth flow.
  3. 3Select the Teams channels that should receive CRM notifications.
  4. 4Configure which CRM events trigger notifications โ€” the same event types as Slack (deal, contract, task, lead, invoice).
  5. 5Test the connection by triggering a sample deal update โ€” an Adaptive Card should appear in the selected channel.

Troubleshooting

'Insufficient privileges' when authorizingโ–พ
The Azure AD app requires admin consent for Application permissions. Go to Azure AD โ†’ App registrations โ†’ your app โ†’ API permissions and click 'Grant admin consent'. Only a Global Admin or Application Admin can do this.
Notifications not appearing in my Teams channelโ–พ
Verify the Coeffection app has been added to the Team (not just the channel). In Teams, right-click the Team name โ†’ Manage Team โ†’ Apps โ†’ confirm Coeffection is listed.
โ„น
If your organization uses both Slack and Teams, you can connect both simultaneously. Use notification rules to route different event types to different platforms โ€” for example, deal alerts to Slack and task assignments to Teams.

Setting up SalesLoft

OAuth 2.0~10 min setup

Keep your sales engagement platform in sync with your CRM. Contacts sync bidirectionally, cadence membership and sequence step data flow into the CRM, and every touchpoint โ€” email opens, clicks, replies, calls, and meetings โ€” appears on the contact timeline automatically.

Supported Features

FeatureDetailsStatus
Contact syncBidirectional sync between CRM contacts and SalesLoft people by emailSupported
Cadence syncContacts added to SalesLoft cadences are reflected in the CRM with cadence name and stepSupported
Email engagementOpens, clicks, and replies from SalesLoft sequences appear on the contact timelineSupported
Call loggingSalesLoft call logs imported as CRM timeline entries with duration and notesSupported
Meeting notesMeeting notes created in SalesLoft sync to the CRM contact recordSupported
Last activity tracking"Last SalesLoft Activity" field on contacts for stale lead identificationSupported
Tag syncSalesLoft tags synced as CRM contact tags for filtering and segmentationComing Soon

Before you begin

  • โœ“SalesLoft account with API access (Professional or Enterprise plan)
  • โœ“Admin role in SalesLoft
  • โœ“Admin role in Coeffection

Connecting SalesLoft

  1. 1Go to Admin โ†’ Integrations โ†’ SalesLoft and click Connect with OAuth.
  2. 2Sign in to SalesLoft in the OAuth popup and authorize Coeffection.
  3. 3Coeffection will fetch your SalesLoft people โ€” the mapper suggests matches between CRM contacts and SalesLoft people by email address.
  4. 4Review and confirm the matches, then click Sync.
  5. 5Enable sequence sync so contacts added to a SalesLoft cadence are reflected in the CRM.
  6. 6Turn on engagement tracking โ€” email opens, clicks, and replies will appear on contact timelines.
Contact Timeline โ€” SalesLoft Engagement

Recent Activity

Email Opened

Opened "Re: Enterprise Pricing Discussion"

SalesLoft โ€ข 10 min ago โ€ข Cadence: Q2 Enterprise Outreach (Step 3)

Link Clicked

Clicked "View pricing page" in sequence email

SalesLoft โ€ข 12 min ago

Call Logged

Outbound call โ€” 4:32 duration โ€” "Discussed pricing tiers"

SalesLoft โ€ข Yesterday

Troubleshooting

Contact sync is creating duplicatesโ–พ
Coeffection matches SalesLoft people to CRM contacts by email address. Duplicates occur when a person has different email addresses in each system. Use the merge contacts feature to combine duplicates, then the mapping will stick.
Engagement data isn't appearing on timelinesโ–พ
Verify that engagement tracking is enabled in Admin โ†’ Integrations โ†’ SalesLoft. Also check that the SalesLoft person is mapped to a CRM contact โ€” engagement data only flows for mapped contacts.
โ„น
Use the "Last SalesLoft Activity" field on contact records to identify stale leads that have not been touched by a sequence โ€” filter by this field in your contact list view to prioritize re-engagement.

Setting up Fireflies.ai

API Key~5 min setup

AI-powered meeting transcription that brings full conversation context into the CRM. Zoom, Teams, and Google Meet calls are automatically transcribed, and summaries, action items, and sentiment analysis sync to the relevant contact or deal record.

Supported Features

FeatureDetailsStatus
Auto-transcriptionZoom, Teams, and Google Meet calls transcribed automaticallySupported
AI summariesAI-generated meeting highlights and key points attached to timelineSupported
Action itemsExtracted action items auto-created as CRM tasks on the linked recordSupported
Full transcript searchTranscripts are searchable from the contact timeline โ€” find any conversationSupported
Speaker identificationEach speaker identified and mapped to CRM contactsSupported
Meeting filteringChoose which meetings to transcribe by participant, calendar, or keywordSupported
Sentiment analysisAI-detected sentiment and topic classification per meetingComing Soon

Before you begin

  • โœ“Fireflies.ai account (free tier transcribes limited hours; paid recommended for teams)
  • โœ“Fireflies.ai bot added to your meeting platform (Zoom, Teams, or Meet)
  • โœ“Admin role in Coeffection

Getting Your API Key

  1. 1Sign in to app.fireflies.ai.
  2. 2Go to Settings โ†’ API & Integrations (or click your profile โ†’ API).
  3. 3Copy your API key โ€” if none exists, click Generate API Key.
  4. 4Note your Fireflies.ai webhook URL if you plan to use real-time sync.

Connecting in Coeffection

  1. 1Go to Admin โ†’ Integrations โ†’ Fireflies.ai and enter the API key.
  2. 2Configure which meetings to transcribe: all meetings, or filter by participant email domain, calendar name, or keyword.
  3. 3Choose how to match transcripts to CRM records: by participant email (default), by meeting title, or both.
  4. 4Enable action item sync to auto-create CRM tasks from extracted action items.
  5. 5Save and wait for your next meeting โ€” the transcript will appear on the contact timeline after the call ends.
Contact Timeline โ€” Meeting Transcript
TranscriptionToday, 2:00 PM โ€ข 34 min

Q2 Pipeline Review with Acme Corp

AI Summary

Discussed pricing for enterprise tier. Client interested in 50-seat license. Main concern is implementation timeline โ€” wants go-live before Q3. Action: Send revised SOW by Friday.

View full transcript (4,280 words)

Action Items Created

โœ“Send revised SOW to Acme Corp โ€” Due: Friday

Troubleshooting

Transcripts aren't appearing on contact recordsโ–พ
Fireflies.ai must be able to join your meetings. Verify the Fireflies bot (Fred) is admitted to your calls โ€” some organizations block unknown participants. Also check that the participant email addresses match CRM contact emails.
Action items aren't creating CRM tasksโ–พ
Enable action item sync in Admin โ†’ Integrations โ†’ Fireflies.ai. Action items require clear language in the transcript (e.g. 'I'll send the proposal by Friday') โ€” vague statements may not be detected.
โ„น
Enable "Smart Summary" in Fireflies.ai to get AI-generated meeting highlights and action items โ€” these appear as structured timeline entries on the related CRM record so follow-ups are never missed.

Setting up Mailchimp

OAuth 2.0~10 min setup

Sync CRM contacts to Mailchimp audiences and bring campaign engagement data back into the CRM. Segment audiences by pipeline stage, track opens and clicks on contact records, and automate list management so marketing and sales stay aligned.

Supported Features

FeatureDetailsStatus
Audience syncCRM contacts sync to Mailchimp audiences โ€” new contacts added automaticallySupported
Field mappingMap CRM fields to Mailchimp merge tags (FNAME, LNAME, COMPANY, etc.)Supported
Engagement trackingEmail opens, clicks, and unsubscribes appear on the CRM contact timelineSupported
Pipeline segmentationSegment Mailchimp audiences by CRM pipeline stage for targeted campaignsSupported
Tag syncCRM tags synced as Mailchimp tags for list segmentationSupported
Bidirectional syncNew Mailchimp subscribers create CRM contacts (optional)Supported
Campaign reportingMailchimp campaign performance metrics visible in CRM reporting dashboardsComing Soon

Before you begin

  • โœ“Mailchimp account (free or paid โ€” paid recommended for automation features)
  • โœ“At least one audience (list) created in Mailchimp
  • โœ“Admin role in Coeffection

Connecting Mailchimp

  1. 1Go to Admin โ†’ Integrations โ†’ Mailchimp and click Connect with OAuth.
  2. 2Sign in to Mailchimp in the OAuth popup and authorize Coeffection.
  3. 3Select the audience (list) to sync CRM contacts into โ€” if you have multiple audiences, pick the primary one.
  4. 4Map CRM fields to Mailchimp merge tags (e.g. First Name โ†’ FNAME, Company โ†’ COMPANY, Phone โ†’ PHONE).
  5. 5Choose your sync direction: CRM โ†’ Mailchimp (default), or bidirectional if you want Mailchimp subscribers to create CRM contacts.
  6. 6Optionally configure pipeline-based segmentation โ€” for example, all contacts in 'Closed Won' auto-tagged as 'Customer' in Mailchimp.
  7. 7Campaign engagement data (opens, clicks, unsubscribes) will start appearing on contact records after your next campaign send.
Admin โ†’ Integrations โ†’ Mailchimp โ€” Field Mapping

CRM Field โ†’ Mailchimp Merge Tag

First Nameโ†’FNAME
Last Nameโ†’LNAME
Emailโ†’EMAIL
Companyโ†’COMPANY
Pipeline Stageโ†’CRM_STAGE

Pipeline-Based Segmentation

Automatically segment your Mailchimp audience based on CRM pipeline stages:

  • New Lead โ†’ Mailchimp tag: "Prospect" โ†’ Welcome sequence
  • Closed Won โ†’ Mailchimp tag: "Customer" โ†’ Onboarding emails
  • Closed Lost โ†’ Mailchimp tag: "Nurture" โ†’ Re-engagement campaign

Troubleshooting

Contacts aren't appearing in Mailchimpโ–พ
Check that the contact has a valid email address โ€” Mailchimp requires an email for every subscriber. Also verify your sync direction is set to include CRM โ†’ Mailchimp. Check the integration log for any sync errors (e.g. email validation failures).
Engagement data (opens/clicks) not appearingโ–พ
Engagement data syncs after each campaign send. If you just connected, the data will appear after your next Mailchimp campaign. Open/click tracking must be enabled in your Mailchimp campaign settings.
โ„น
Create a Mailchimp segment that mirrors your "Closed Won" pipeline stage โ€” new customers are automatically added to the segment so onboarding emails go out without any manual list management.

Setting up SendGrid

API Key~10 min setup

Route CRM-triggered transactional and marketing emails through SendGrid's delivery infrastructure. Benefit from industry-leading deliverability, bounce handling, and real-time tracking โ€” every open, click, and bounce is reflected on the CRM contact record.

Supported Features

FeatureDetailsStatus
Transactional emailCRM-triggered emails (notifications, invoices, welcome) sent via SendGridSupported
Delivery trackingReal-time delivery status: sent, delivered, opened, clicked, bouncedSupported
Bounce handlingBounced emails flagged on the CRM contact record automaticallySupported
Domain authenticationSend from your verified domain for maximum deliverabilitySupported
Webhook eventsReal-time event webhook for delivery status updatesSupported
Email validationValidate email addresses at import to prevent bouncesSupported
Template syncUse SendGrid dynamic templates for CRM-triggered emailsComing Soon

Before you begin

  • โœ“SendGrid account (free tier supports 100 emails/day; paid recommended for production)
  • โœ“A verified sender identity (domain authentication recommended over single sender)
  • โœ“Admin role in Coeffection

Getting Your API Key

  1. 1Sign in to app.sendgrid.com.
  2. 2Go to Settings โ†’ API Keys and click Create API Key.
  3. 3Name it "Coeffection CRM" and select "Restricted Access".
  4. 4Enable these permission scopes: Mail Send (Full Access), Tracking (Full Access), Email Validation (Read Access).
  5. 5Click Create & View. Copy the API key โ€” it is shown only once.
SendGrid โ€” API Key Permissions

Restricted Access Permissions

Mail SendFull Access
TrackingFull Access
Email ValidationRead Access
StatsRead Access

Connecting in Coeffection

  1. 1Go to Admin โ†’ Integrations โ†’ SendGrid and enter the API key.
  2. 2Enter your verified sender email address (e.g. notifications@yourcompany.com) โ€” this must match a verified sender identity in SendGrid.
  3. 3Copy the webhook URL shown in Coeffection and add it in SendGrid under Settings โ†’ Mail Settings โ†’ Event Webhook.
  4. 4In the webhook settings, enable these event types: Delivered, Opened, Clicked, Bounced, Dropped, Spam Reports.
  5. 5Click "Verify & Save". Coeffection will send a test email to confirm deliverability.

Domain Authentication (Recommended)

For best deliverability, authenticate your sending domain in SendGrid rather than using single sender verification. This adds DKIM and SPF records to your DNS, proving to email providers that you own the domain.

  1. 1In SendGrid, go to Settings โ†’ Sender Authentication โ†’ Domain Authentication.
  2. 2Enter your domain and follow the prompts to add CNAME records to your DNS.
  3. 3Once verified, all emails sent through Coeffection via SendGrid will show your domain in the 'From' field.

Troubleshooting

Emails going to spamโ–พ
Complete domain authentication in SendGrid (DKIM + SPF). Single sender verification has lower deliverability than authenticated domains. Also check your SendGrid sender reputation dashboard for any issues.
Webhook events not appearing on contact recordsโ–พ
Verify the webhook URL in SendGrid matches exactly what Coeffection shows. Go to SendGrid โ†’ Settings โ†’ Mail Settings โ†’ Event Webhook and confirm it's active with the correct URL. Check that the event types (Delivered, Opened, Clicked, Bounced) are all enabled.
API key rejectedโ–พ
Make sure you copied the full API key when it was shown (it starts with 'SG.'). If you've lost the key, create a new one โ€” SendGrid doesn't show keys after initial creation. Verify the key has Mail Send and Tracking permissions.
โ„น
Use SendGrid's email validation API alongside CRM contact imports to automatically flag invalid email addresses before they bounce โ€” keeping your sender reputation high and your contact list clean.

Setting up Airtable

OAuth 2.0~10 min setup

Import records from Airtable bases into your CRM with an intelligent field mapping wizard. Supports linked records, attachment fields, formula fields, and continuous sync. Type coercion handles mismatches automatically โ€” a text field containing a number casts to the target type.

Supported Features

FeatureDetailsStatus
Base & table importSelect any base and table to import records fromSupported
Field mapping wizardAuto-mapper suggests matches by column name โ€” override manually if neededSupported
Type coercionAutomatic type casting when field types don't match exactlySupported
Linked recordsLinked record fields resolved to display values or imported as relationship fieldsSupported
Attachment fieldsAirtable attachment fields imported as file referencesSupported
Formula fieldsComputed formula values imported as static valuesSupported
Continuous syncOne-way or bidirectional sync on a configurable intervalSupported
View filteringSync only records visible in a selected Airtable viewSupported

Before you begin

  • โœ“Airtable account (free or paid)
  • โœ“At least one base with data to import
  • โœ“Admin role in Coeffection

Getting Your Credentials

You can connect via OAuth (recommended) or by using a Personal Access Token:

  1. 1Go to airtable.com/create/tokens (or Account โ†’ Developer Hub โ†’ Personal Access Tokens).
  2. 2Click "Create new token". Name it "Coeffection CRM".
  3. 3Add scopes: data.records:read, data.records:write, schema.bases:read.
  4. 4Under Access, add the specific bases you want to sync (or select All Workspaces).
  5. 5Click Create Token and copy the token value.

Connecting in Coeffection

  1. 1Go to Admin โ†’ Lead Sources โ†’ New โ†’ Select Airtable.
  2. 2Connect via OAuth or paste your Personal Access Token.
  3. 3Select the base you want to import from โ€” Coeffection lists all bases your token can access.
  4. 4Choose the table within that base.
  5. 5Optionally select a specific view to filter which records sync (only records visible in the view are imported).
  6. 6Use the field mapping wizard to match Airtable columns to CRM entity fields.
  7. 7Set the sync direction: one-way (Airtable โ†’ CRM) or bidirectional.
  8. 8Set sync frequency and enable the connection.
Admin โ†’ Lead Sources โ†’ Airtable โ€” Field Mapping Wizard
Base: Sales PipelineTable: Leads

Column Mapping

Nametext โ†’ text
โ†’
Full NameAuto
Emailemail โ†’ email
โ†’
EmailAuto
Companytext โ†’ text
โ†’
Company NameAuto
Revenuecurrency โ†’ number
โ†’
Annual RevenueManual
Statusselect โ†’ enum
โ†’
Pipeline StageManual

Troubleshooting

No bases appearing after connectingโ–พ
If using a Personal Access Token, verify the token has the schema.bases:read scope and that the specific base is granted access under the token's Access settings. OAuth connections have access to all bases you own.
Type coercion errors on importโ–พ
Some type conversions aren't supported (e.g. attachment โ†’ number). Check the field mapping wizard for type warnings. You can skip problematic fields or change the target field type in the CRM entity type settings.
Linked records showing IDs instead of namesโ–พ
By default, linked records resolve to their display value (primary field). If you're seeing raw record IDs, check the field mapping and select 'Resolve to display value' for the linked record column.
โ„น
Use Airtable views to filter which records sync to your CRM โ€” only records visible in the selected view will be imported. This is the easiest way to exclude archived or draft records without changing your base structure.

Setting up Supabase

API Key~5 min setup

A live lead source that reads records directly from your Supabase database on each page load โ€” nothing is polled, synced, or stored until you act. Every record in the CRM was deliberately promoted by a human, keeping your pipeline clean and intentional.

โš 
The Supabase integration is a lead source, not a background sync. Records are read live from your Supabase project on each inbox load. No data is stored in Coeffection until you explicitly promote a record to a CRM entity.

Supported Features

FeatureDetailsStatus
Live data readRecords fetched directly from Supabase on each page load โ€” always freshSupported
Auto-discoveryTables and views auto-discovered via the Supabase OpenAPI spec โ€” no schema setupSupported
RLS-awareAnon key respects Row Level Security policies; service_role bypasses themSupported
Field mappingMap Supabase columns to CRM entity fields with the mapping wizardSupported
Lead InboxRecords land in a review inbox โ€” promote, reject, or snooze each oneSupported
View filteringConnect to Supabase views instead of tables for pre-filtered, pre-joined dataSupported
Bulk promoteSelect multiple records and promote them as CRM entities in one actionSupported

Before you begin

  • โœ“A Supabase project with at least one table containing lead data
  • โœ“Your Project URL and API key (found in Supabase Dashboard โ†’ Settings โ†’ API)
  • โœ“Admin role in Coeffection

Getting Your Credentials

  1. 1Go to supabase.com/dashboard and open your project.
  2. 2Navigate to Settings โ†’ API (or click the Settings gear โ†’ API in the sidebar).
  3. 3Copy your Project URL (e.g. https://xyz.supabase.co).
  4. 4Copy your API key โ€” choose anon (public) to respect RLS policies, or service_role (secret) to bypass them.
Supabase Dashboard โ€” API Settings

API Credentials

Project URL:https://xyzabc.supabase.co
anon key:eyJhbGciOiJIUzI1NiIs...Safe to expose
service_role:eyJhbGciOiJIUzI1NiIs...Secret โ€” never expose

Anon Key vs. Service Role Key

Key TypeRLSUse When
anon (public)Respected โ€” only rows the anonymous role can seeYou have RLS policies that already filter to the right records
service_role (secret)Bypassed โ€” all rows visibleNo RLS policies on the table, or you need unrestricted access

Connecting in Coeffection

  1. 1Go to Admin โ†’ Lead Sources โ†’ New โ†’ Select Supabase.
  2. 2Enter your Supabase Project URL.
  3. 3Enter your API key (anon or service_role).
  4. 4Coeffection auto-discovers your tables and views โ€” select the source to read from.
  5. 5Map the source columns to CRM entity fields using the field mapping wizard.
  6. 6Save. Records from that table now appear in the Lead Inbox.
  7. 7Review each record: click Promote to create a CRM entity, Reject to dismiss, or Snooze for later.

Troubleshooting

No tables appearing after connectingโ–พ
Verify your Project URL is correct (should end with .supabase.co). If using the anon key, check that the anonymous role has SELECT permission on your tables. Try using the service_role key temporarily to confirm the connection works.
Inbox shows zero records but table has dataโ–พ
If using the anon key, your RLS policies may be blocking access. Check your Supabase dashboard โ†’ Authentication โ†’ Policies to verify the anonymous role can read the target table. Consider using a Supabase view to pre-filter data.
Can I use Supabase for ongoing sync instead of a lead inbox?โ–พ
Supabase is designed as a live lead source, not a background sync. This is intentional โ€” it keeps your CRM clean by requiring human review before creating records. For automated background sync, consider using the Airtable integration or a webhook-based approach.
โ„น
Use a Supabase VIEW instead of a raw table to pre-filter records and join related data before it reaches your inbox. For example, create a view that joins your leads table with your companies table so the company name is already resolved when you promote the record.

Setting up Dropbox

OAuth 2.0~15 min setup

Store and organize files directly from CRM entity records. Files live in your Dropbox account, organized automatically by a folder template you define. Add Dropbox File fields to any entity type โ€” contracts, proposals, onboarding documents โ€” with document requirements tracking for compliance.

Supported Features

FeatureDetailsStatus
File upload from recordsUpload files directly from any entity record with a Dropbox File fieldSupported
Template-based foldersAuto-create folder structures using entity field variables ({company}/{name})Supported
Document requirementsChecklist view showing which required files have been uploaded per entitySupported
File previewPreview documents (PDF, images, Office files) inline on the entity recordSupported
Shared team accessSingle admin connection shared across the entire team โ€” no per-user OAuthSupported
Metadata trackingFile path, name, size, and last modified date tracked in the CRMSupported
Version historyAccess Dropbox version history for any uploaded fileComing Soon

Before you begin

  • โœ“Dropbox account (Business recommended for shared team access)
  • โœ“Access to the Dropbox Developer App Console (dropbox.com/developers)
  • โœ“Admin role in Coeffection

Step 1 โ€” Create a Dropbox App

  1. 1Go to dropbox.com/developers/apps and click Create App.
  2. 2Select "Scoped access" as the API type.
  3. 3Select "Full Dropbox" as the access type (required for creating folders in any location).
  4. 4Name the app (e.g. "Coeffection CRM Files").
  5. 5Click Create App.

Step 2 โ€” Configure App Permissions

  1. 1In the app settings, go to the Permissions tab.
  2. 2Enable these scopes: files.metadata.read, files.metadata.write, files.content.read, files.content.write.
  3. 3Click Submit to save the permissions.
  4. 4Go to the Settings tab. Copy the App Key and App Secret.
  5. 5Under OAuth 2 โ†’ Redirect URIs, add your Coeffection redirect URI (shown in Admin โ†’ Integrations โ†’ Dropbox).
Dropbox Developer Console โ€” App Credentials
D

Coeffection CRM Files

Scoped Access ยท Full Dropbox
App Key:a1b2c3d4e5f6g7h
App Secret:โ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ขโ€ข

Redirect URIs

https://app.coeffection.com/api/integrations/dropbox/callback

Step 3 โ€” Connect in Coeffection

  1. 1Add DROPBOX_APP_KEY and DROPBOX_APP_SECRET to your environment variables.
  2. 2In Coeffection, go to Admin โ†’ Integrations โ†’ Dropbox and click Connect.
  3. 3Authorize the connection via the Dropbox OAuth popup.
  4. 4The connection is now shared across your entire team โ€” no individual setup needed.

Step 4 โ€” Add Dropbox File Fields

  1. 1Go to Admin โ†’ Entity Types and select the entity type you want to add file storage to.
  2. 2Add a new field with type "Dropbox File".
  3. 3Define the folder path template using entity field variables enclosed in curly braces.
  4. 4Optionally mark the field as "Required" to add it to the document requirements checklist.
  5. 5Save. Users can now upload files directly from entity records.

Folder Path Templates

Templates use entity field values to auto-create folder structures in Dropbox. Examples:

{company}/{name}/Contractsโ†’ Acme Corp/Widget Deal/Contracts/
{company}/Proposals/{name}โ†’ Acme Corp/Proposals/Enterprise License/
Clients/{company}โ†’ Clients/Acme Corp/

Coeffection creates folders on first upload โ€” no manual folder creation needed. If you remove a Dropbox File reference from a record, the file is not deleted from Dropbox. Delete it manually if no longer needed.

Troubleshooting

OAuth redirect fails with 'redirect_uri_mismatch'โ–พ
The redirect URI in your Dropbox app settings must match exactly what Coeffection provides. Go to your Dropbox app settings โ†’ OAuth 2 โ†’ Redirect URIs and verify the URL. It's case-sensitive and must include the full path.
File upload fails with 'insufficient_space'โ–พ
Your Dropbox account has run out of storage. Check your Dropbox storage usage at dropbox.com/account. Upgrade your plan or delete unused files to free up space.
Folder template variables not resolvingโ–พ
Make sure the variable names in curly braces match your entity field names exactly (case-insensitive). Common issue: using {customer} when the field is named 'Company'. Check your entity type's field definitions in Admin โ†’ Entity Types.
โ„น
Use the folder template {company}/{name} to automatically organize files by customer and project โ€” Coeffection creates the folders in Dropbox on first upload, so no manual folder creation is needed.

Setting up Monday.com

API Key~15 min setup

A one-time migration tool for teams moving from Monday.com to Coeffection. Import historical project data, customer records, and pipeline history from Monday.com board exports โ€” preserving your full project history for day-one reporting.

โš 
This is a one-time migration tool, not an ongoing sync. It is designed for teams migrating historical project data into Coeffection. For day-to-day project management going forward, use Coeffection's native Project entity type.

Supported Features

FeatureDetailsStatus
Excel importImport from Monday.com board exports in Excel (.xlsx) formatSupported
Column mappingMap Monday.com columns to CRM entity fields with type coercionSupported
Status โ†’ stage mappingMap Monday.com status and group values to Coeffection pipeline stagesSupported
Customer extractionCompany names auto-extracted โ€” duplicates consolidated into single Account entitiesSupported
Relationship linkingProjects automatically linked to their parent Account entitySupported
Historical importCompleted projects imported as closed records for full reporting historySupported
Import previewReview entity counts, field coverage, and flagged rows before importingSupported

Before you begin

  • โœ“A Monday.com board exported as Excel (.xlsx format)
  • โœ“Your Coeffection Project pipeline configured with the desired stages
  • โœ“Admin role in Coeffection

Step 1 โ€” Export from Monday.com

  1. 1In Monday.com, open the board you want to migrate.
  2. 2Click the three-dot menu (โ‹ฏ) at the top of the board.
  3. 3Select More actions โ†’ Export board to Excel.
  4. 4Save the .xlsx file โ€” this is the file you will upload to Coeffection.
โ„น
Export the board with all groups visible โ€” Monday.com only exports the groups that are currently expanded. Collapse any groups you don't want to import.

Step 2 โ€” Upload and Map Columns

  1. 1In Coeffection, go to Admin โ†’ Integrations โ†’ Monday.com Import.
  2. 2Upload the Excel file.
  3. 3Coeffection reads the spreadsheet and shows all columns โ€” map each column to a CRM entity field.
  4. 4The auto-mapper suggests matches by column name (e.g. 'Name' โ†’ Entity Name, 'Status' โ†’ Pipeline Stage).
  5. 5Override any suggestions manually and skip columns you don't want to import.
Monday.com Import โ€” Column Mapping

Column โ†’ Entity Field Mapping

Nameโ†’
Entity NameAuto
Statusโ†’
Pipeline StageAuto
Subitemsโ†’
DescriptionManual
Dateโ†’
Start DateManual
Personโ†’
OwnerAuto

Step 3 โ€” Map Statuses to Pipeline Stages

Monday.com status values (e.g. "Working on it", "Done", "Stuck") need to be mapped to your Coeffection pipeline stages. The mapper also handles Monday.com group names, which can be mapped to stages or used for filtering.

  1. 1Review the list of unique status values found in the spreadsheet.
  2. 2Map each status to a Coeffection pipeline stage (e.g. 'Working on it' โ†’ 'In Progress', 'Done' โ†’ 'Completed').
  3. 3Decide how to handle completed/archived records โ€” you can import them as closed records or skip them.
  4. 4Map any Monday.com group names if you want to use them as categories or pipeline filters.

Step 4 โ€” Review and Import

  1. 1Review the import preview โ€” it shows total records, entity counts by type, field coverage percentages, and any rows flagged for review.
  2. 2Check flagged rows โ€” these may have missing required fields or ambiguous status mappings.
  3. 3Click Run Import to create the CRM records.
  4. 4Customer (Account) entities are created automatically โ€” if a company name appears across multiple project rows, a single Account is created with all projects linked to it.
  5. 5Verify the imported data in your CRM views and pipelines.
Monday.com Import โ€” Preview Summary

Import Preview

794

Project Records

123

Accounts Extracted

726 Closed68 Active3 Flagged

Troubleshooting

Excel file won't uploadโ–พ
Make sure the file is in .xlsx format (not .csv or .xls). Monday.com's export always produces .xlsx. If the file is very large (10,000+ rows), try splitting it into smaller exports by Monday.com group.
Duplicate account records createdโ–พ
The deduplication uses exact company name matching. If the same company appears with different spellings (e.g. 'Acme Corp' and 'ACME Corporation'), they will create separate accounts. Clean up the data in the spreadsheet before importing, or merge duplicates afterward in the CRM.
Some rows are flagged for reviewโ–พ
Flagged rows typically have missing required fields (e.g. no project name), ambiguous status values that didn't match any pipeline stage, or data type mismatches. Review each flag in the preview and either fix the source data or adjust your column mapping.
โ„น
Import completed projects as closed records to preserve historical data for reporting โ€” your dashboard will show full project history from day one, including win rates and cycle times for past deals.

Workflow Automation

Workflows let you automate repetitive actions in response to events in Coeffection. A workflow has a trigger (something that starts it), one or more conditions (optional filters that must be true), and one or more actions (what to do). Workflows run server-side, in the background, and are logged so you can debug them.

Common use cases: send a welcome email when a lead is created, create an onboarding project when a contract is signed, alert a manager when a deal has been stalled for 7 days, or assign a high-score lead to a specific rep.

Workflow Builder โ€” New Lead โ†’ Welcome Email

Trigger

Lead Created

When a new lead record is saved

โ†“

Condition

Lead Score โ‰ฅ 50

Only proceed if score threshold met

โ†“

Action 1

Send Email

Template: "Welcome โ€” Thanks for your interest"

โ†“

Action 2

Create Task

"Follow-up call" ยท Assigned to lead owner ยท Due in 2 days

โ†“

End of Workflow

Available triggers

Record Created
Record Updated
Field Value Changed
Status Changed
Pipeline Stage Changed
Task Completed
Case Escalated
Contract Signed
Invoice Overdue
Lead Score Threshold
Scheduled (Recurring)
Webhook Received

Available actions

Send Email
Send SMS
Create Task
Create Case
Update Field
Assign Owner
Add to Sequence
Send Slack Message
Call Webhook
Create Opportunity
Add Note
Change Status
  1. 1Go to Settings โ†’ Workflows and click + New Workflow.
  2. 2Name your workflow and select the trigger event from the dropdown.
  3. 3Optionally add condition blocks to filter which records the workflow applies to.
  4. 4Add one or more action blocks and configure each one.
  5. 5Click Activate to enable the workflow. It will begin running on new events immediately.
  6. 6Monitor execution history from the Runs tab on the workflow detail page.
โš 
Workflows run asynchronously. There may be a delay of a few seconds between the trigger event and the action completing. Do not rely on workflows for real-time UX feedback.

Reports & Analytics

The Reports module gives Managers and Executives a configurable reporting engine. Reports can query any CRM entity โ€” contacts, leads, opportunities, cases, tasks, quotes, contracts, invoices โ€” and join across them. Visualisations include bar charts, line charts, pie charts, funnels, and tables.

Reports can be scheduled to run and be emailed as a PDF to a list of recipients. They can also be embedded as widgets on any custom dashboard. The standard report library includes 30+ pre-built reports covering the most common sales, support, and financial metrics.

Reports โ€” Sales Performance MTD

Deals Closed by Rep โ€” March 2024

Jamie S.
12
$384K
Mike K.
8
$210K
Amy L.
6
$156K
Carlos R.
4
$98K
Lisa T.
3
$72K

KPIs & Goals

Under the KPIs & Goals module, admins define key performance indicators with targets and measurement periods. Each rep can see their personal goal progress in the My Goals view. A leaderboard (optional โ€” can be disabled per tenant) ranks team members on configurable KPIs to add friendly competition.

  1. 1Go to Reports and click + New Report.
  2. 2Choose a primary entity (e.g. Opportunities) and add any related entities to join.
  3. 3Select the fields to display as columns.
  4. 4Add filters (e.g. Close Date = This Month, Status = Closed Won).
  5. 5Choose a visualisation type (Table, Bar Chart, Line Chart).
  6. 6Click Run Report to preview, then Save to add it to your library.
  7. 7Optionally click Schedule to set up automated email delivery.
โ„น
Reports you create are private by default. Click Share Report to make them visible to specific roles or the entire workspace.

Team Management

Teams are named groups of users with a designated manager. They are used throughout Coeffection for assigning tasks to a shared queue, filtering reports to a subset of reps, controlling visibility of records, and routing inbound leads. A user can belong to multiple teams.

Teams are managed under Admin โ†’ Teams. The team manager can see all records owned by team members, approve discount requests, and view team-level KPI dashboards.

Admin โ€” Teams
๐Ÿ’ผ

Enterprise Sales

Manager: Jamie S.

A
B
C
D
+1
5 members
๐Ÿข

SMB Sales

Manager: Mike K.

A
B
C
D
+4
8 members
๐ŸŽซ

Customer Support

Manager: Amy L.

A
B
C
D
+2
6 members
๐Ÿ’ฐ

Finance & Ops

Manager: Carlos R.

A
B
C
3 members

User roles

RoleOwn RecordsTeam RecordsAll RecordsAdmin AccessFinance Access
Sales Repโœ“โ€”โ€”โ€”โ€”
Managerโœ“โœ“โ€”โ€”โ€”
Executiveโœ“โœ“โœ“โ€”โ€”
Adminโœ“โœ“โœ“โœ“โ€”
Financeโœ“โ€”โ€”โ€”โœ“
โ„น
Custom roles are not supported โ€” only the five built-in roles are available. However, each role's permissions can be fine-tuned at the category level under Admin โ†’ Roles & Permissions.

Admin Settings

The Admin section is accessible only to users with the Admin role. It covers workspace-wide configuration: custom fields, tenant settings, security policies, audit logs, configuration history, and integration management. Changes made in Admin are version-controlled โ€” every configuration change is committed to a Git repository and can be rolled back with one click.

The audit log records every significant action taken in the workspace: record created/updated/deleted, user invited/removed, integration connected, permission changed, and more. Each audit entry includes the user, timestamp, IP address, and the exact data change (before/after).

Custom fields

Custom fields let you extend any core entity (Contact, Company, Lead, Opportunity, Case, etc.) with additional data your business needs. Supported field types: Text, Number, Currency, Date, Select (dropdown), Multi-Select, Checkbox, URL, Email, Phone, and Lookup (link to another record).

  1. 1Go to Settings โ†’ Custom Fields and click + Add Field.
  2. 2Select the entity you want to extend (e.g. Contact).
  3. 3Name the field, choose the field type, and configure options if needed.
  4. 4Mark it as Required if it must be filled before saving the record.
  5. 5Click Save. The field will appear on all records of that entity type.

Configuration rollback

Every time an Admin makes a configuration change โ€” modifying a pipeline, changing a permission, editing a workflow โ€” Coeffection commits that change to a per-tenant Git repository. You can browse the full history under Admin โ†’ Config History and roll back to any previous state with a single click.

Admin โ€” Config History
a3f9c1

Updated Enterprise pipeline โ€” added Negotiation stage

Admin ยท 2h ago

b2e801

Changed Sales Rep discount limit from 15% to 20%

Admin ยท Yesterday

c1d702

Added custom field 'Industry' to Contact

Admin ยท 2 days ago

d0c603

Enabled Twilio integration

Admin ยท Apr 10

Security: IP restrictions & sessions

Admins can configure IP allowlists under Admin โ†’ IP Restrictions to limit logins to specific IP ranges โ€” useful for teams that only want users logging in from corporate networks or VPNs. Session management is available under Admin โ†’ Sessions where active sessions can be reviewed and remotely invalidated.

โš 
Setting an IP restriction that blocks your own IP will lock you out of the workspace. Always test the restriction with a secondary admin account before saving.

API Reference

Coeffection exposes a REST-based API for every core entity, allowing you to build integrations, sync data with other systems, or automate workflows from external tools. All API requests are authenticated using API keys generated per user under Settings โ†’ API Keys.

The base URL for all API requests is https://app.coeffection.com/api/v1. Pass your API key in the Authorization header as a Bearer token. Responses are JSON and follow consistent envelope formatting.

Authentication

GET /api/v1/contacts
Authorization: Bearer ck_live_your_api_key_here
Content-Type: application/json

List contacts

GET /api/v1/contacts?limit=25&offset=0&status=Customer

Response 200:
{
  "data": [
    {
      "id": "cnt_01HX9ZK2P8N3QR",
      "firstName": "Sarah",
      "lastName": "Chen",
      "email": "s.chen@globex.com",
      "status": "Customer",
      "companyId": "cmp_01HX9ZK2ABCDEF",
      "createdAt": "2024-01-15T09:30:00Z"
    }
  ],
  "meta": {
    "total": 2847,
    "limit": 25,
    "offset": 0
  }
}

Create a contact

POST /api/v1/contacts
{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john.doe@example.com",
  "phone": "+14155550100",
  "status": "Lead",
  "companyId": "cmp_01HX9ZK2ABCDEF"
}

Response 201:
{
  "data": {
    "id": "cnt_01HX9ZK2NEWREC",
    "firstName": "John",
    ...
  }
}

Webhooks

Configure outbound webhooks under Settings โ†’ Webhooks. Coeffection will POST a JSON payload to your endpoint when any subscribed event occurs. Webhook payloads include the event type, a timestamp, the tenant ID, and the full record payload.

// Example webhook payload for contact.created
{
  "event": "contact.created",
  "tenantId": "ten_01HX9ZK2TENANT",
  "timestamp": "2024-04-15T10:30:00Z",
  "data": {
    "id": "cnt_01HX9ZK2NEWREC",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com"
  }
}

Rate limits

PlanRequests / minuteRequests / day
Starter6010,000
Professional300100,000
Enterprise1,000Unlimited
โ„น
Full interactive API documentation with a live try-it-now interface is available at /api/docs (requires authentication). OpenAPI 3.1 spec available for download.