# Changelog Source: https://docs.avina.io/changelog What's new in Avina. Recent updates, features, and improvements. Stay up to date with the latest changes to Avina. This page is updated as new features ship. *** ## April 2026 ### Outbound Agent Launch personalized, multi-step email outreach directly from Avina. AI drafts every step using signal context and your product positioning, then sends through your existing sequencer (Outreach, Salesloft, HubSpot, Lemlist, Instantly, Smartlead). [Learn more →](/features/ai-sequences) ### Post-Activation Quick Actions After activating a signal, a new guided modal helps you decide what should happen next: launch AI outreach, create an automation, send to webhook, add to a CRM list, or just monitor your feed. [Learn more →](/features/ai-signals-agent#post-activation-next-steps) ### Automation Stats & Enrollment History View enrollment counts, filter rates, and detailed enrollment history for each automation. Filter by time period (7d, 30d, 90d) and drill into individual enrollments. [Learn more →](/features/automations#automation-stats) ### Location-Aware Web Signals Web visit signals now display visitor location derived from IP. Avina uses this to find geographically relevant ICP contacts. [Learn more →](/signals/web-signals#location-aware-icp-matching) ### Webhook Testing Test your webhook endpoints directly from the automation builder before saving. [Learn more →](/features/automations#webhook-testing) ### New Integrations Added support for Apollo, Instantly, Lemlist, and Smartlead as sequence and automation destinations. *** ## Earlier Updates Check back here for future release notes. For questions about specific features, contact [support@avina.io](mailto:support@avina.io). # Accounts Source: https://docs.avina.io/features/accounts View and manage all your accounts with aggregated signals, touchpoint history, and AI-powered insights. The Accounts view gives you a comprehensive look at every company in your pipeline, combining signal activity, touchpoint history, and AI-generated insights in one place. ## Overview Accounts aggregates all activity at the company level, making it easy to understand which organizations are showing buying intent and how they've engaged with your team over time. ## Account List The main Accounts view displays a sortable, filterable list of all accounts with key metrics: | Field | Description | | -------------------------- | ------------------------------------------------------------ | | **Account Name** | Company name with logo | | **Most Recent Signal** | The latest buying signal detected for this account | | **Most Recent Touchpoint** | Last interaction with your team (email, call, meeting, etc.) | | **First Touchpoint** | When this account first engaged with your company | | **Pipeline Stage** | Current stage in your sales process | | **CRM ID** | Direct link to the account in your CRM | | **Number of Touches** | Total count of interactions with this account | ## Account Details Click on any account to open the detailed view, which includes: ### AI Overview An AI-generated summary of the account, including: * Company description and key business context * Recent activity patterns and engagement trends * Buying intent assessment based on signal data * Recommended next steps for your team ### Touchpoint History A complete timeline of every interaction with the account: * Web visits and content engagement * Email opens, clicks, and replies * Meeting activity * Ad engagement * Sales outreach and responses Each touchpoint shows the date, type, associated contact, and relevant details. ### Contacts A list of all known contacts at the account, including: * Name and job title * Email and phone (when available) * Signal activity associated with this individual * Engagement history ## Filtering and Sorting Use filters to focus on specific segments: * **By signal type**: Show only accounts with specific signal activity * **By pipeline stage**: Focus on accounts at a particular stage * **By engagement recency**: Find recently active or dormant accounts * **By account score**: Prioritize high-intent accounts Sort by any column to quickly identify top opportunities or accounts needing attention. ## Best Practices 1. **Monitor high-intent accounts**: Sort by most recent signal to catch buying activity early 2. **Review AI overviews before calls**: Get up to speed on account context in seconds 3. **Track engagement patterns**: Use touchpoint history to identify the right moment to reach out 4. **Sync with your CRM**: Keep your CRM data current by reviewing accounts regularly # Qualification Agent Source: https://docs.avina.io/features/ai-qualification-agent How Avina's AI agent evaluates every signal to find the right accounts and the right people to go after. Not every signal deserves your team's attention. Avina's **Qualification Agent** runs behind the scenes on every signal, evaluating accounts and contacts against your Ideal Customer Profile to determine who's worth pursuing and who isn't. The result: your team only sees high-quality, pre-qualified leads in their feed, and automations only fire for accounts that actually match your target market. ## What the Agent Does Every time a signal fires, the Qualification Agent evaluates it across two dimensions: 1. **Account fit:** does this company match your ICP? 2. **Signal relevance:** is this the right person, triggering the right signal, at the right time? Signals that pass both checks are surfaced to your team. Signals that don't are suppressed or deprioritized, saving your team from noise and protecting your credits. *** ## Account Fit (ICP Scoring) The agent scores every account against your configured ICP and assigns an **ICP Fit** letter grade (A–F) plus a numeric **Account Fit Score** (0–100). Signals from **F-graded** accounts are suppressed from notifications and outreach; signals from **A/B** accounts are prioritized in your Feed. For the full breakdown of grades, how the score is computed, and how to configure your ICP, see [ICP & Fit Scoring](/features/icp-scoring). *** ## AI Signal Qualification For signal types that support it, the agent goes beyond firmographic scoring and runs an **AI-powered evaluation** of each signal before it reaches your team. This step uses an LLM with web search capabilities to assess whether a signal meets your specific requirements. You define these requirements in freeform text when configuring a signal (the "qualification" field), and the agent evaluates each potential signal against them. ### How It Works 1. **Signal fires:** a potential lead is detected (e.g., a new hire, a job posting, a social mention). 2. **Context is gathered:** the agent assembles account info, contacts, engagement history, deal context, and your product positioning. 3. **AI evaluates:** the agent assesses the signal against your qualification criteria using web research and contextual reasoning. 4. **Decision:** the signal is either qualified (proceeds to summarization and delivery) or rejected (skipped silently). ### Example If you create a New Hire signal with the qualification prompt: > *"Only surface hires at companies that have raised Series B or later funding and have over 100 employees"* The agent will research each candidate company, check funding history and headcount, and only deliver signals that meet those criteria. Use the qualification field for criteria that can't be captured by standard filters. If a filter already exists for something (like industry or location), use that instead for faster, more precise results. *** ## Tuning the Agent If AI-qualified signals aren't precise enough: * **Add more specific criteria** to your qualification text (companies, sizes, signals you care about). * **Be concrete about exclusions** — tell the agent what *not* to surface as much as what to surface. * **Test with Preview** before activating — the preview pane shows recent matches so you can verify the prompt is catching the right intent. If too many or too few signals are coming through at all, the issue is usually your ICP, not the qualification prompt. See [Tuning your scoring in ICP & Fit Scoring](/features/icp-scoring#tuning-your-scoring). *** ## Best Practices 1. **Set your ICP first.** The agent works best when your ICP is defined before you activate signals. See [ICP & Fit Scoring](/features/icp-scoring). 2. **Gate outreach behind ICP Fit.** Don't blast sequences at every signal. Use ICP Fit grades as automation filters. 3. **Use qualification prompts for nuance.** Standard filters handle the basics; qualification prompts handle the judgment calls web search can resolve. 4. **Combine fit with signal strength.** The best outreach targets are accounts with both high ICP Fit grades and strong recent signal activity. # Outbound Agent Source: https://docs.avina.io/features/ai-sequences Automated multi-step outreach powered by AI, built on top of your existing sequencer. Avina's **Outbound Agent** lets you launch personalized, multi-step outreach powered by signal context and delivered through your existing sending platform. You keep your inboxes, workflows, and deliverability settings; Avina handles the drafting and orchestration. In the dashboard, this feature lives under the **Sequences** tab, where you create and manage AI Sequences. ## How It Works When you create an AI Sequence in Avina, we create a corresponding sequence in your connected sending platform under the hood. This means: * **Your existing setup stays intact:** inboxes, sender reputation, mail merge tokens, and compliance settings carry over. * **Avina drafts the steps:** using signal context, account history, and your product positioning to write personalized copy. * **Your platform sends the emails:** deliverability, scheduling, and reply handling all happen in the tool your team already uses. AI Sequences are not a separate email sender. They extend your existing sequencer with AI-powered drafting and signal-triggered enrollment. *** ## Supported Platforms AI Sequences work with the following sending platforms: Connect your preferred platform in **Settings > Integrations** before creating your first sequence. *** ## Creating a Sequence Navigate to **Sequences** from the main sidebar. Click the **+ Create Sequence** button in the top-right corner. Give your sequence a descriptive name (e.g., "Pricing Page Visitors Follow-Up"). Select the platform you want to send from. Only connected integrations are available. Disconnected platforms appear greyed out with a link to connect them. If your preferred platform is greyed out, click the **Connect** link to set it up in **Settings > Integrations**, then return to create your sequence. After creating the sequence, you'll be taken to the sequence editor where you can: * Add and edit email steps * Review AI-generated drafts * Select senders * Set timing between steps * Preview and publish *** ## AI-Assisted Drafting Avina drafts each email step using context from the signal that triggered the sequence: ### Signal Context Framework Avina uses two categories of context to personalize drafts: * **Public context:** information Avina found about the prospect and their company from public sources (website, LinkedIn, news, job postings). * **Private context:** information from your CRM and engagement history (deal stage, past conversations, account activity). This dual-context approach produces emails that reference specific, relevant details rather than generic templates. ### How Drafting Works 1. **Signal fires:** a prospect triggers one of your active signals (e.g., visits your pricing page, gets hired into a target role). 2. **Context is assembled:** Avina pulls together public research and CRM data about the prospect and their account. 3. **Draft is generated:** AI writes personalized copy for each step, incorporating the signal trigger, prospect context, and your product positioning. 4. **You review:** preview the draft in the sequence editor, tweak if needed, then publish. ### Style and Templating Instructions When editing a sequence, you can provide: * **Style instructions:** guide the tone, formality, and voice of AI-generated drafts (e.g., "Keep it casual and under 100 words"). * **Templating instructions:** define structural requirements or specific talking points to include in every draft. *** ## Sender Selection Choose which team member sends each sequence. The sender list is populated from your connected platform's user accounts, so your team's existing mailbox setup is preserved. *** ## Sequence Analytics Track the performance of each sequence from the Sequences page: * **Published vs. Draft:** see which sequences are live and which are still being edited. * **Enrollment count:** how many prospects have been enrolled. * **Connected signal:** which signal is feeding prospects into the sequence. *** ## Launching from Signal Activation When you activate a new signal, Avina presents a "What should happen next?" modal with quick actions. Selecting **Launch AI Outreach** takes you directly to the sequence creation flow with the signal pre-linked, so prospects from that signal are automatically enrolled. For the full list of post-activation options, see [Post-activation: next steps](/features/ai-signals-agent#post-activation-next-steps). *** ## Best Practices 1. **Start with your highest-intent signal:** pair AI Sequences with signals like pricing page visits or champion movement for the best results. 2. **Use style instructions:** a few sentences of guidance dramatically improve draft quality and brand consistency. 3. **Review before publishing:** AI drafts are strong starting points, but a human pass ensures nothing feels off. 4. **Keep sequences short:** 2–3 steps perform better than 5+ step sequences for signal-triggered outreach. 5. **Monitor and iterate:** check sequence analytics regularly and refine your signal filters and copy based on engagement. # Signals Agent Source: https://docs.avina.io/features/ai-signals-agent Create signals just by describing them, or build them yourself for greater control. Every deal starts with a signal: a prospect visits your pricing page, an account posts a job listing, or a champion moves to a new company. Our **Signals Agent** lets you define the signals that matter the most to your business, and then monitors them for you around the clock. Ultimately, that means we cut through the noise for you, so that your team can focus on the right relationships while intent is fresh. ## Signal types Avina supports a range of signal types, each designed to capture a different dimension of intent. Describe exactly what you're looking for, and have our agent generate the perfect signal for you. Identify people that visit your website. Block out the noise by filtering on session times and number of pages visited. Find recent hires in any role, industry, or location. Surface listings with specific titles, keywords, locations, or industries. Get notified whenever a key contact from a previous deal moves to a new company. Monitor social posts, funding announcements, product launches, and events. Keep track of people engaging with your paid advertising campaigns. Find accounts that engage with you following a period of inactivity. Attribute post-outbound website activity when email pixels fail. Generate signals from the output of any Slack integration. ### Which engagement signal should I use? Web Visits, Ad Engagement, Outbound Engagement, and Re-engagement all fire on "someone interacted with us" — but they answer different questions: | Signal | Triggers when… | Use when you want to… | | ------------------------------------------------ | ------------------------------------------------------------------ | ----------------------------------------------------- | | [Web Visits](/signals/web-signals) | An ICP prospect browses your site | Act on fresh, first-party intent regardless of source | | [Ad Engagement](/signals/ad-engagement-signals) | An ICP prospect clicks one of your ads | Tie specific ad campaigns to pipeline | | [Outbound Engagement](/signals/outbound-signals) | A prospect visits your site shortly after receiving outbound email | Recover attribution when email pixels are blocked | | [Re-engagement](/signals/reengagement-signals) | A stalled/dormant account starts engaging again | Revive closed-lost deals or quiet pipeline | Signals can overlap (e.g., a re-engagement can also be a web visit) — Avina emits all applicable tags so your automations can target whichever angle matters most. *** ## Creating your first signal You can get started with signals *with* or *without* the help of our agent. Either way, the details are always under your control. ### Create with AI The easiest way to get from idea to signal. Navigate to **Signals** and click **Create with AI**. Type out a description of the buying signal you want to track. Be as specific as possible: the more context you give, the better results you get. **Good examples** *Recently hired CTOs at fintech companies with 50–200 employees* *Companies posting job listings for AI/ML engineers* *Startups that raised funding in the last 30 days* *Accounts that recently adopted HubSpot as their CRM* Avina's agent will analyze your request, select the best signal type, and populate the right filters. You'll be taken to a configuration page where you can review and adjust anything before going live. If the agent has any feedback on your prompt, you'll see it highlighted on this screen. Once your signal's configuration looks right, continue to [Preview & activate](#preview--activate). ### Create manually If you prefer a greater degree of control, you can build a signal from scratch by selecting the type and filters that matter most to you and your team. Navigate to **Signals** and click **Create Manually**. In the left panel, select a signal type from the dropdown. Hover over any option for details. Once you've selected a type, applicable filters will appear onscreen for you to fill out. Your signal won't be able to be previewed or activated until all required fields are filled in. Once your filters are in place, continue to [Preview & activate](#preview--activate). *** ## Preview & activate Whether you built your signal with AI or manually, the final three steps are the same. Click the **Preview** button in the top-right corner to see a live preview of signals that match your configuration. This lets you validate that your signal is capturing the right intent before activating it. When you're ready, click **Activate Signal**. **Signals may take a while to appear as alerts** When you click **Preview**, a number of important steps (such as ICP grading) are skipped to give you a quick sense of the breadth of intent described by your signal. Your **Feed** is built with a lot more care and intention, and so may take a bit longer to start receiving new intent. We promise, it's worth the wait! After activation, a guided modal asks what should happen when Avina identifies a new prospect from this signal. See [Post-activation: next steps](#post-activation-next-steps) for the available options. *** ## Post-activation: next steps After activating a signal, a guided modal asks: **"When Avina identifies a new prospect from this signal, what should happen next?"** Pick one of the following options: * **Launch AI Outreach:** create an [AI Sequence](/features/ai-sequences) that drafts and sends personalized emails to prospects from this signal. * **Trigger an Existing Sequence:** enroll prospects into an outreach sequence you've already built in your sending platform. * **Send to a Webhook:** push signal and lead data to external tools like Clay, Zapier, or your own systems. * **Add to a CRM List:** sync prospects to a list or segment in your CRM for campaigns, ad audiences, and more. * **Skip for now:** you can always configure actions later from the [Automations](/features/automations) page. Each option (except Skip) creates an [automation](/features/automations) pre-configured with this signal as the trigger. You'll be taken to the automation builder to finish setting up the destination details. *** ## AI Qualification As a rule of thumb: if a filter already exists for something, use it; it's faster and more precise! Many signal types support an optional **qualification** step. Use this field to describe requirements that can't easily be captured by other filters, e.g. "Series B companies" or "Companies with 50–200 employees." This allows Avina's agent to evaluate each potential signal against any number of freeform criteria before delivering them to your team. See the [Qualification Agent](/features/ai-qualification-agent) for how signals are evaluated against your ICP and freeform requirements. *** ## Notifications By default, Avina alerts you of incoming intent through the channel associated with your [Slack integration](/integrations/slack/overview). To route a signal to a specific channel, take the following steps: 1. Visit your signal's configuration page and click the in the top-right corner of the window. 2. Type in the name of the channel that you'd like to receive alerts in. 3. Click **Save**. # Automations Source: https://docs.avina.io/features/automations Build automated workflows triggered by signals to route leads, update your CRM, and launch outreach. Automations let you build powerful workflows that trigger automatically when buying signals occur, eliminating manual work and ensuring no opportunity slips through the cracks. With Avina's visual automation builder, you can create rules that watch for specific signals, filter by over 100 properties, and execute actions like adding contacts to sequences, updating CRM records, or syncing to ad audiences. All without code. ## Visual Builder The automation builder provides a drag-and-drop interface for creating workflows: 1. **Trigger**: Select the signal that starts the automation 2. **Filters**: Add conditions to narrow which signals qualify 3. **Actions**: Define what happens when conditions are met Each automation runs in real-time as signals are detected, ensuring immediate response to buying intent. ## Triggers Automations can be triggered by any signal type in Avina: * Website Visits * Custom AI Signals * New Hires * Job Postings * Champion Movement * Re-engagement * Ad Interactions * Social Posts * etc. ## Filters Refine which signals trigger your automation using 100+ filterable properties across two categories: ### CRM Fields Filter using data from your connected CRM: * Account owner * Pipeline stage * Deal value * Industry or segment * Lead source * Any custom field synced from Salesforce or HubSpot ### Calculated / Enriched Fields Filter using Avina's enriched and computed data: * ICP fit score * Time since last contact * Company size or revenue * Technology stack * etc. ### Combining Filters Use AND/OR logic to create sophisticated filter combinations: ``` IF signal = "Web Visit" AND page contains "/pricing" AND icp fit score > C AND pipeline stage = "No Opportunity" THEN → Add to SDR sequence ``` ## Actions When an automation triggers, execute one or more actions: ### Sequence & Outreach * **Add to sequence**: Enroll contact in an Outreach, Salesloft, Apollo, HubSpot or Instantly sequence ### CRM Updates * **Create lead/contact**: Add new records to Salesforce, HubSpot or Attio * **Create account/company:** Add a new company or account record to Salesforce, HubSpot or Attio * **Add signals to contacts / accounts:** Attach signal data to an account or contact in Salesforce, HubSpot or Attio ### Audience Management * **Add to ad audience**: Sync to LinkedIn, Meta, or Google ad audiences via HubSpot * **Add to list**: Include in static or dynamic marketing lists in HubSpot or Apollo * **Add labels**: Apply labels for segmentation ### Data Operations * **Send to webhook**: Send signal data to any external system via webhook. See [Webhooks](/features/automations/webhooks) for payload schema, setup, and how to test your endpoint before going live. * **Send a Microsoft Teams message**: Post each signal as a card in a Teams channel. See [Microsoft Teams](/integrations/microsoft-teams/overview) for how to create the Teams webhook. ## Example Automations ### High-Intent Pricing Page Visitor ``` Trigger: Web Visit Filter: Page URL contains "/pricing" AND Account Fit Score > 70 Action: Add to "Pricing Page Follow-Up" sequence ``` ### Champion Job Change ``` Trigger: Champion Movement Filter: New company matches ICP AND Previous deal value > $50K Action: Add to "Champion Outreach" sequence ``` ### Re-Engaged Closed-Lost Deal ``` Trigger: Deal Re-engagement Filter: Pipeline stage = "Closed Lost" AND ICP fit = A Action: Add to re-engagement list in HubSpot and push to ad audience ``` ### Ad Click to Sequence ``` Trigger: Ad Click Filter: Campaign = "Product Launch" AND Contact title = "Director of Growth" Action: Add to "Product Launch Sequence" + Add to LinkedIn retargeting audience ``` ## Managing Automations ### Automation Dashboard View all your automations in one place: * **Status**: Active or paused * **Priority**: Drag to reorder the priority that automations run in. ### Automation Stats Each automation shows enrollment statistics filterable by time period: * **7 days**, **30 days**, **90 days:** select a range to see how many contacts were enrolled vs. filtered out. * **Enrolled count:** contacts that matched all filters and were sent to the destination. * **Filtered count:** contacts that triggered the automation but were excluded by your filters. * **Enrollment history:** drill into individual enrollments to see contact details, the triggering signal, and filter reasons for excluded contacts. Use these stats to tune your filters. If too many contacts are being filtered out, your criteria may be too restrictive. ### Creating Automations from Signal Activation You can create automations directly from the signal activation flow. After activating a signal, the "What should happen next?" modal lets you set up an automation pre-configured with that signal as the trigger. See [Post-Activation Next Steps](/features/ai-signals-agent#post-activation-next-steps) for details. ### Connecting Destinations When choosing a destination (e.g., "Add to sequence"), only connected integrations are available. Disconnected integrations appear greyed out with a **Connect** link that takes you to **Settings > Integrations** to set up the connection. If you see a destination option that's disabled, it means the required integration hasn't been connected yet. ### Editing & Versioning * Edit automations at any time; changes apply to new triggers only * Pause automations to stop them temporarily without deleting * Duplicate automations to create variations quickly ## Best Practices 1. **Start simple**: Begin with one trigger, one filter, one action, then expand 2. **Use fit scores**: Filter by account fit to ensure only qualified signals trigger outreach 3. **Combine with manual review**: Use automations for speed, but keep humans in the loop for strategic accounts # Company Lists Source: https://docs.avina.io/features/automations/company-lists Automatically add signal-matched companies to lists in your CRM. The **Company List** destination adds the account (company) associated with a signal to a list on your connected platform whenever an automation triggers. ## How It Works 1. In the automation builder, select **Add to Company List** as the action. 2. Choose the **platform** where the list lives. 3. Select an existing company list from the dropdown. 4. Save and activate. When a signal fires and passes your filters, Avina adds the associated company to the selected list. ## When to Use Company Lists vs. Contact Lists | Destination | Best For | | ---------------- | -------------------------------------------------------------------- | | **Company List** | Account-level targeting, ABM campaigns, territory assignments | | **Contact List** | Individual outreach, sequence enrollment, contact-level segmentation | Use company lists when your workflow operates at the account level rather than the individual contact level. ## Use Cases * **ABM target lists**: Automatically populate account lists for coordinated sales and marketing plays * **Territory routing**: Add companies to region-specific lists for rep assignment * **Pipeline tracking**: Build lists of companies showing buying signals for pipeline reviews # Contact Lists Source: https://docs.avina.io/features/automations/contact-lists Automatically add signal-discovered contacts to lists in your CRM or sales engagement platform. The **Contact List** destination adds contacts to a list on your connected platform whenever an automation triggers. Use this for campaign targeting, ad audience syncing, nurture segments, and more. ## How It Works 1. In the automation builder, select **Add to Contact List** as the action. 2. Choose the **platform** where the list lives (e.g., HubSpot, Apollo). 3. Select an existing list from the dropdown. 4. Save and activate. When a signal fires and passes your filters, Avina automatically adds the enriched contact to the selected list. ## Use Cases | Use Case | Example | | --------------------- | ------------------------------------------------------------------- | | **Ad retargeting** | Add high-intent visitors to a HubSpot list synced with LinkedIn Ads | | **Nurture campaigns** | Route new hire signals to a drip campaign list | | **SDR prospecting** | Build a daily list of signal-qualified leads for manual outreach | | **Event follow-up** | Collect contacts who engaged with event-related signals | ## Supported Platforms Contact lists are available on any connected platform that supports list management, including HubSpot and Apollo. Contacts are deduplicated by email. If a contact already exists on the list, they won't be added again. # CRM Labels Source: https://docs.avina.io/features/automations/crm-labels Automatically tag accounts and contacts in your CRM when signals fire. The **CRM Label** destination applies a label or tag to the associated account or contact in your CRM whenever an automation triggers. This is useful for tracking which signals have fired without enrolling contacts into active outreach. ## How It Works 1. In the automation builder, select **Set CRM Label** as the action. 2. Choose the **CRM platform** (Salesforce, HubSpot, or Attio). 3. Save and activate. When a signal fires and passes your filters, Avina writes signal data to the associated CRM records. This includes a human-readable summary and one or more signal tags. ## What Gets Written Each signal writes structured data to your CRM: * **Signal summary**: a plain-English description of what triggered the signal * **Signal tags**: lowercase identifiers like `avina_web_visit_signal` or `avina_new_hire_signal` For details on tag formats and CRM-specific setup, see [Push to Salesforce](/integrations/salesforce/push-salesforce) and [Push to HubSpot](/integrations/hubspot/push-hubspot). ## Use Cases * **Passive tracking**: Log signal activity in your CRM without triggering outreach * **CRM reporting**: Build reports and dashboards based on signal tags * **Workflow triggers**: Use CRM-native automation (Salesforce Flows, HubSpot Workflows) to act on signal tags * **Audit trail**: Maintain a record of all signals that fired for an account # Sequences Source: https://docs.avina.io/features/automations/sequences Enroll contacts into outreach sequences automatically when signals fire. The **Sequence** destination enrolls contacts into outreach sequences on your connected sending platform whenever an automation triggers. Avina supports two sequence modes: ## AI Sequence Enrolls contacts into an [AI Sequence](/features/ai-sequences) created in Avina. Avina drafts personalized email steps using signal context and sends through your connected platform. When selecting this destination: 1. Choose the **sending platform** (Outreach, Salesloft, HubSpot, Lemlist, Instantly, Smartlead). 2. Select an existing AI Sequence or create a new one. 3. Optionally assign a **sender** from your team. AI Sequences combine signal-triggered enrollment with AI-drafted copy, so every prospect gets a personalized message based on the signal that surfaced them. ## Static Sequence Enrolls contacts into a sequence that already exists on your sending platform. Avina pushes the contact into the sequence as-is, without modifying the email content. When selecting this destination: 1. Choose the **sending platform**. 2. Select the sequence from the dropdown (only active sequences are shown). 3. Optionally assign a **sender**. ## Supported Platforms | Platform | AI Sequence | Static Sequence | | --------- | :---------: | :-------------: | | Outreach | Yes | Yes | | Salesloft | Yes | Yes | | HubSpot | Yes | Yes | | Apollo | Yes | Yes | | Instantly | Yes | Yes | | Lemlist | Yes | Yes | | Smartlead | Yes | Yes | Only connected integrations are available. Disconnected platforms appear greyed out with a **Connect** link to **Settings > Integrations**. # Webhooks Source: https://docs.avina.io/features/automations/webhooks Webhook payload schema, authentication, and integration guide for custom workflows. Avina can send signal and contact data to any external system via webhooks. Use webhooks to pipe data into tools like Clay, Zapier, n8n, Make, or your own internal systems. ## Overview When an automation's action is set to **Send to webhook**, Avina sends an HTTP POST request to your specified URL every time the automation triggers. The payload contains structured signal and contact data. *** ## Payload Schema Each webhook delivery sends a JSON payload with the following structure: ```json theme={null} { "event": "automation.triggered", "automation_id": "abc123", "automation_name": "Pricing Page Visitor → Webhook", "triggered_at": "2026-04-06T14:30:00Z", "signal": { "type": "web_visit", "signal_group_id": "sg_456", "signal_group_name": "Pricing Page Visitors", "score": 85, "icp_fit": "A", "account_fit_score": 92, "triggered_at": "2026-04-06T14:28:00Z" }, "account": { "name": "Acme Corp", "domain": "acme.com", "industry": "SaaS", "employee_count": 150, "crm_id": "001ABC123", "crm_url": "https://your-crm.com/accounts/001ABC123" }, "contacts": [ { "first_name": "Jane", "last_name": "Smith", "email": "jane@acme.com", "title": "VP of Engineering", "phone": "+1-555-0100", "linkedin_url": "https://linkedin.com/in/janesmith" } ], "context": { "summary": "Jane Smith from Acme Corp visited your pricing page and spent 4 minutes reviewing enterprise plan details.", "pages_visited": ["/pricing", "/pricing/enterprise"], "topics_of_interest": ["enterprise pricing", "SSO", "API access"] } } ``` The exact fields included vary by signal type. Web visit signals include page and session data; new hire signals include the new role and company; champion movement signals include previous and new company details. *** ## Setting Up a Webhook 1. [Create an automation](/features/automations) triggered by the signal type you want. 2. Under **Actions**, select **Send to webhook**. 3. Enter your webhook URL. 4. Click **Test Webhook** to send a sample payload and verify your endpoint responds with a `200` status. This catches configuration issues (wrong URL, auth problems, firewall blocks) before the automation goes live. 5. Save and activate the automation. *** ## Authentication Webhook requests include the following headers that you can use to verify the request originated from Avina: | Header | Description | | -------------- | ------------------- | | `Content-Type` | `application/json` | | `User-Agent` | `Avina-Webhook/1.0` | For additional security, you can validate requests by checking the source IP or implementing a shared secret in your webhook URL (e.g., `https://your-endpoint.com/webhook?token=YOUR_SECRET`). *** ## Retry Behavior If your endpoint returns a non-2xx status code or times out, Avina does **not** automatically retry webhook deliveries. Ensure your endpoint is reliable and returns a `200` response promptly. *** ## Common Use Cases | Use Case | How | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | **Enrich in Clay** | Send signal leads to a Clay table for waterfall enrichment | | **Trigger a Zapier workflow** | Use a Zapier webhook trigger to route data to any connected app | | **Log to internal database** | POST signal data to your own API for custom analytics | | **Notify in Microsoft Teams** | Use the dedicated [Microsoft Teams](/integrations/microsoft-teams/overview) destination instead, which posts a formatted card | | **Sync to a data warehouse** | Route signal events to Snowflake, BigQuery, or Redshift via a middleware | # Contacts Source: https://docs.avina.io/features/contacts Browse and filter all contacts with enriched data and individual-level signal activity. The Contacts view provides visibility into every individual prospect in your database, with enriched contact information and signal activity at the person level. ## Overview While Accounts shows company-level activity, Contacts lets you drill down to individual buyers. See who's engaging with your content, clicking your ads, or showing other buying signals, complete with enriched contact data ready for outreach. ## Contact List The Contacts view displays a comprehensive list of all known contacts with key information: | Field | Description | | ---------------------- | ---------------------------------------------------- | | **Name** | Contact's full name | | **Job Title** | Current role at their company | | **Company** | Account they belong to | | **Email** | Enriched email address | | **Phone** | Phone number (when available) | | **Most Recent Signal** | Latest buying signal from this individual | | **Signal Count** | Total number of signals associated with this contact | ## Contact Enrichment Avina automatically enriches contacts using waterfall enrichment, which queries multiple data providers in sequence to maximize coverage: 1. **Primary enrichment**: First data source is queried 2. **Fallback providers**: If primary fails, secondary sources are checked 3. **Data validation**: Results are verified for accuracy 4. **Continuous refresh**: Contact data is periodically re-enriched to stay current Enriched fields include: * Email address (work and personal) * Phone numbers (direct and mobile) * LinkedIn profile URL * Job title and seniority level * Department and function ## Filtering Contacts Narrow down your contact list using filters: * **By account**: View all contacts at a specific company * **By job title or seniority**: Focus on decision-makers or specific roles * **By signal type**: Find contacts who've shown specific buying behaviors * **By enrichment status**: Identify contacts with complete vs. missing data * **By engagement recency**: Prioritize recently active contacts ## Sorting Options Sort your contact list by: * Name (alphabetical) * Company * Most recent signal (date) * Signal count (engagement level) * Job title or seniority ## Use Cases ### Prioritizing Outreach Sort by signal count or recency to identify the most engaged contacts for immediate follow-up. ### Building Target Lists Filter by job title and company size to create targeted outreach lists for specific campaigns. ### Multi-Threading Deals View all contacts at an account to identify additional stakeholders and expand your influence within the organization. ### Data Hygiene Filter by enrichment status to identify contacts missing key information, then trigger re-enrichment or manual research. ## Best Practices 1. **Focus on engaged contacts**: Prioritize outreach to contacts showing multiple signals 2. **Leverage enriched data**: Use phone numbers for direct outreach when email isn't getting responses 3. **Combine with account context**: Cross-reference contact activity with account-level insights 4. **Keep data fresh**: Regularly review contacts with stale data for re-enrichment # Engagement Source: https://docs.avina.io/features/engagement Analyze how accounts and contacts interact across all your marketing and sales channels. The Engagement view gives you a channel-by-channel breakdown of how prospects interact with your marketing and sales touchpoints, helping you understand which channels drive the most pipeline. ## Overview Engagement aggregates activity across all your connected channels (website, blog, paid ads, generative AI search, email campaigns, and more) so you can see exactly which accounts and contacts are engaging and where. ## Channel Overview The main Engagement view displays all your connected marketing and sales channels: | Channel | Description | | ------------------------ | -------------------------------------------------------------------------- | | **Website** | Traffic to your main site, landing pages, and product pages | | **Blog Content** | Engagement with blog posts and educational content | | **Paid Ads** | Clicks and impressions from LinkedIn, Google, Meta, and other ad platforms | | **Generative AI Search** | Traffic from AI-powered search tools like ChatGPT, Perplexity, and others | | **Email Campaigns** | Opens, clicks, and replies from marketing emails | | **Outbound Sequences** | Engagement with sales outreach via Outreach, Salesloft, etc. | ## Channel Details Click on any channel to see detailed engagement data: ### Account Engagement A list of all accounts that have interacted through this channel: * Account name and key firmographics * Total engagement count (visits, clicks, opens, etc.) * Most recent engagement timestamp * Engagement trend (increasing, decreasing, stable) ### Contact Engagement Individual contacts who engaged through this channel: * Contact name and job title * Company they belong to * Specific actions taken (pages viewed, links clicked, etc.) * Engagement timestamp ## Channel Analytics For each channel, Engagement provides key metrics: * **Total accounts engaged**: Unique companies interacting through this channel * **Total contacts engaged**: Unique individuals interacting through this channel * **Engagement volume**: Total number of interactions ## Use Cases ### Attribution Analysis Understand which channels drive the most high-intent accounts to prioritize marketing spend. ### Content Performance See which blog posts and website pages attract the most engaged prospects. ### Ad Optimization Identify which ad campaigns generate clicks from target accounts vs. non-ICP traffic. ### AI Search Visibility Track how prospects are finding you through AI-powered search tools, an increasingly important channel. ### Multi-Touch Journey Mapping Follow an account's journey across channels to understand how touchpoints combine to drive pipeline. ## Filtering Options Narrow down engagement data by: * **Date range**: Focus on recent activity or analyze historical trends * **Account segment**: View engagement from target accounts only * **Contact persona**: Filter by job title, seniority, or department * **Engagement type**: Focus on specific actions (views, clicks, replies, etc.) ## Best Practices 1. **Review weekly**: Check channel performance regularly to spot trends early 2. **Compare channels**: Identify which channels drive the highest-quality engagement 3. **Follow up on AI search traffic**: Prospects finding you via AI search are often high-intent 4. **Correlate with pipeline**: Connect engagement data with closed-won deals to optimize channel mix # ICP & Fit Scoring Source: https://docs.avina.io/features/icp-scoring How Avina scores accounts against your Ideal Customer Profile to prioritize the best opportunities. Every signal Avina surfaces is scored against your Ideal Customer Profile (ICP) so your team focuses on the accounts most likely to convert. Fit scoring runs automatically in the background. No manual configuration after initial setup. ICP scoring is one half of how Avina decides which signals reach you. The other half is AI-powered signal-level qualification, handled by the [Qualification Agent](/features/ai-qualification-agent). ## What Is ICP Fit Scoring? ICP fit scoring evaluates how closely an account matches the profile of your ideal customer. Avina considers firmographic attributes (industry, size, location, technology stack) alongside behavioral signals (engagement depth, content interest) to produce a composite fit score. Accounts that closely match your ICP are prioritized in your Signals Feed, automations, and outreach recommendations. *** ## Letter Grades Every account receives a letter grade representing its overall ICP fit: | Grade | Meaning | | ----- | -------------------------------------------------------------------------------------------------------------------- | | **A** | Strong match. Closely fits your ICP across multiple dimensions. Prioritize these accounts. | | **B** | Good match. Fits most ICP criteria with minor gaps. Worth pursuing. | | **C** | Partial match. Some ICP alignment but notable mismatches. Evaluate case by case. | | **D** | Weak match. Does not strongly align with your ICP. Deprioritize unless there is exceptional signal activity. | | **F** | No match. Falls outside your ICP. These accounts are still tracked but are excluded from notifications and outreach. | *** ## Account Fit Score In addition to letter grades, accounts receive a numeric **Account Fit Score** (0-100) that provides more granular ranking within a grade. This score is used in: * **Signals Feed:** higher-scoring accounts appear higher in your inbox. * **Automation filters:** create rules like "Account Fit Score > 70" to trigger actions only for well-matched accounts. * **Signal prioritization:** Avina uses fit scores to determine which signals to surface and which to suppress. *** ## Configuring Your ICP Navigate to **Settings > ICP & Personas** to define and refine your ICP criteria at any time: * **Target industries:** which verticals your product serves. * **Company size:** employee count and/or revenue ranges. * **Geography:** target regions and countries. * **Key personas:** job titles and roles you typically sell to. Your product context (what you sell, who you sell to, key differentiators) is managed separately under **Settings > Product Info**. Avina scans your website to pre-fill this and uses it to contextualize scoring, signal summaries, and AI-drafted outreach. ICP & Personas configuration is available on the **Growth** plan and above. *** ## How Scoring Works 1. **Data collection:** Avina aggregates firmographic data from your CRM, enrichment providers, and public sources. 2. **ICP comparison:** each account's attributes are compared against your configured ICP criteria. 3. **Score calculation:** a weighted composite score is computed, factoring in how many criteria the account matches and how strongly. 4. **Grade assignment:** the numeric score maps to a letter grade (A through F). 5. **Continuous updates:** scores are recalculated as new data arrives (CRM updates, new signals, enrichment refreshes). *** ## How Fit Scores Are Used ### In the Signals Feed Signals from A and B accounts appear prominently. Signals from F-graded accounts are captured for analytics but do not generate notifications. ### In Automations Use fit scores as filters in your automation rules: ``` IF signal = "Web Visit" AND Account Fit Score > 70 THEN → Add to SDR sequence ``` Or filter by letter grade: ``` IF signal = "New Hire" AND ICP fit = A or B THEN → Push to CRM ``` ### In Signal Prioritization Avina uses fit scores internally to rank which signals are worth surfacing. High-fit accounts with strong buying signals rise to the top; low-fit accounts with weak signals are suppressed. *** ## Tuning Your Scoring If you notice too many irrelevant accounts appearing (or too few accounts qualifying), revisit your ICP settings: * **Broaden criteria** if your feed is too quiet: consider adding adjacent industries or expanding your company size range. * **Narrow criteria** if your feed is noisy: tighten geography, add minimum revenue thresholds, or exclude specific verticals. * **Review grade distribution:** if most accounts are landing in C/D territory, your ICP may be too narrow for your current market. *** ## Best Practices 1. **Set your ICP early:** scoring works best when your ICP is defined before you activate signals. 2. **Use automations with fit filters:** don't blast sequences at every signal; gate outreach behind A/B fit scores. 3. **Revisit quarterly:** your ICP should evolve as your product and market mature. 4. **Combine with signal strength:** the best outreach targets are accounts with both high fit scores and strong recent signal activity. # Signals Feed Source: https://docs.avina.io/features/signals-feed A centralized feed to view, manage, and act on all your buying signals in one place. The **Signals Feed** is your command center for managing buying signals. Designed with a Superhuman-style interface, it surfaces ranked, actionable signals so your team never misses a high-intent prospect. ## Overview Every buying signal Avina captures (web visits, job changes, ad clicks, deal re-engagements, and more) flows into your Feed. Signals are scored and ranked by relevance, ensuring the most important opportunities appear at the top. ## Viewing signals The Feed displays a list of signals with key information visible at a glance: * **Signal type** (e.g., Web Visit, Champion Movement, Ad Click) * **Account name** and associated contact * **Signal score** indicating buying intent strength * **Timestamp** showing when the signal occurred Click on any signal to open the full [signal detail view](#signal-detail-view). ## Managing signals Keep your Feed focused with: ### Archive Archive signals that don't require action. This keeps your Feed focused on active opportunities while preserving the signal data for analytics and history. ### Filters Narrow the Feed to specific signal types, accounts, ICP fit grades, or time windows when prioritizing outreach. ### Keyboard shortcuts Navigate the Feed with keyboard shortcuts to triage quickly. See the shortcut reference in-app by pressing `?` while on the Feed. ## Signal detail view Clicking into a signal opens a full detail view with everything you need to take action in one place. ### Context cards The detail view assembles relevant context into cards: * **Signal summary:** AI-generated explanation of what happened and why it matters. * **Account overview:** company name, industry, size, [ICP Fit grade](/features/icp-scoring), and account fit score. * **Web visit details** *(web signals only)*: pages visited, time on page, content summary per page, and topics of interest. * **Visitor location** *(web signals only)*: where the visitor is based, derived from their IP address. * **Deal history:** open opportunities, closed-won/lost deals, and pipeline stage. * **Recent engagement:** a timeline of other signals and touchpoints from this account. ### Enriched contact The primary contact surfaced for the signal includes: * Full name and job title * Verified email address * Phone number (when available) * LinkedIn profile link * Direct links to the associated records in your CRM ### Signal timeline A chronological view of all signals from this account, showing the pattern of engagement over time. Use this to identify multi-signal buying journeys (e.g., a web visit followed by an ad click followed by a form fill). ### Quick actions From the detail view, you can take immediate action: * **Add to sequence:** enroll the contact in an [outreach sequence](/features/ai-sequences) * **Push to CRM:** create or update the contact/account in your CRM * **Archive:** remove the signal from your active Feed once handled *** ## Best practices 1. **Review daily:** Check your Feed at the start of each day to catch time-sensitive signals. 2. **Use keyboard shortcuts:** Navigate quickly through signals to maximize efficiency. 3. **Archive promptly:** Keep your Feed clean by archiving signals once you've acted on them. 4. **Leverage filters:** Focus on specific signal types or accounts when prioritizing outreach. # Quickstart Source: https://docs.avina.io/getting-started/quickstart Get up and running with Avina in under 30 minutes. This guide walks you through the first-time setup: defining your ICP, installing the Web SDK, connecting your GTM stack, activating your first signal, and choosing what happens next. ## Prerequisites * An Avina workspace: sign up or log in at [app.avina.io](https://app.avina.io) * Admin access to at least one integration you want to connect (CRM, sales engagement, Slack, etc.) *** ## Step-by-Step Setup Sign in at [app.avina.io](https://app.avina.io). If you're joining an existing workspace, accept your invite first; otherwise create a new workspace during sign-up. Head to **Settings > ICP & Personas** and tell Avina who your best customers look like: * **Target industries:** the verticals your product serves * **Company size:** employee count or revenue ranges * **Geography:** countries and regions you sell into * **Key personas:** job titles and roles you typically sell to Avina uses your ICP to score every account and prioritize signals from the companies most likely to buy. You can refine it at any time. Learn more in [Qualification Agent](/features/ai-qualification-agent). Add Avina's Web SDK to your marketing site so we can capture anonymous visitor traffic and attribute it to companies. See [SDK Configuration](/sdk-reference/configuration) and [Domain Validation](/sdk-reference/domain-validation) for the snippet and setup steps. Register every domain where the SDK is installed under **Settings > Web Tracking**. Only registered domains contribute data to your signal pipeline. Navigate to **Settings > Integrations** and connect the tools that power your GTM stack: * **CRM** (Salesforce, HubSpot, Attio): pulls in accounts, contacts, and deal context, and receives enriched signals back * **Sales engagement** (Outreach, Salesloft, Apollo, Instantly, Lemlist, Smartlead): enables the Outbound Agent and sequence enrollment automations * **Slack:** delivers signal notifications to your team's channels See [Integrations Overview](/integrations/introduction) for the full list of supported tools. Go to **Signals** and create your first signal, either with AI or manually: * **Create with AI:** describe the buying intent you care about in plain language and let Avina's agent configure the signal for you. * **Create Manually:** pick a signal type (Web Visit, New Hire, Job Posting, Champion Movement, etc.), set your filters, preview, and activate. For a detailed walkthrough, see [Signals Agent](/features/ai-signals-agent). After activation, a guided modal asks what should happen when Avina identifies a new prospect from this signal — launch AI outreach, trigger an existing sequence, send to a webhook, add to a CRM list, or skip for now. See [Post-activation: next steps](/features/ai-signals-agent#post-activation-next-steps) for the canonical list and details. Every new signal always flows into your [Signals Feed](/features/signals-feed) regardless of what you pick here — so you can always triage manually in addition to any automated action. *** ## What's Next? Review and act on buying signals as they arrive. Build workflows that trigger automatically when signals fire. Track website visitors and capture web engagement signals. Add your full GTM stack for richer signals and more actions. # Tuning Your Setup Source: https://docs.avina.io/guides/optimizing-feed How to tune your signals, ICP, and automations for the best results. Once your signals and automations are running, tuning them is how you go from good to great. This guide covers common issues and how to fix them. *** ## "My signals aren't relevant" The accounts showing up don't match who you actually sell to. **Fixes:** * **Revisit your ICP** in **Settings > Personas**. Make sure your Required criteria are specific enough. For example, if you only sell to B2B companies, add "Must be a B2B company" as a Required criterion. * **Add a qualification prompt** to your signal. This tells the Qualification Agent to evaluate each signal with AI before delivering it. * **Use contact filtering** in **Settings > Contact Filtering** to exclude internal employees, competitors, or known non-prospects. *** ## "I'm getting too many signals" Your feed is noisy and your team is ignoring it. **Fixes:** * **Tighten URL filters on web visit signals.** Focus on pricing, demo, and product pages instead of all traffic. * **Set minimum session duration** in your SDK settings to filter out bots and bounce traffic. * **Add ICP Fit filters to automations.** Gate actions behind A/B grades so only strong-fit accounts trigger outreach. * **Use qualification prompts** to add freeform criteria the agent evaluates with AI. *** ## "I'm not getting enough signals" Your feed is too quiet. **Fixes:** * **Broaden your ICP.** Loosen Required criteria or move some to Important. * **Add more signal types.** If you're only running web visits, add Custom AI Signals, New Hires, or Job Postings. * **Loosen signal filters.** Very specific URL patterns or narrow job title filters reduce volume. Start broad, then narrow. * **Check your Web SDK.** Make sure your domains are registered in **Settings > Web Tracking** and the script is loading. * **Check your credit balance** in **Settings > Plan & Usage**. *** ## "My automations aren't firing" Signals are appearing but automations aren't triggering. **Fixes:** * **Check automation status.** Make sure it's set to Active, not Paused. * **Check filter criteria.** Your automation filters may be too strict. Look at the enrollment history to see why contacts are being filtered out. * **Check destination connection.** If the destination integration is disconnected, the automation can't execute. * **Check trigger signal.** Make sure the signal the automation is tied to is active and firing. *** ## Tuning Signals by Type ### Web Visitors Highest volume. Keep it focused: * Filter by high-intent pages * Require minimum session duration (5-10 seconds filters most bots) * Gate automations behind ICP Fit A/B ### Custom AI Signals Most powerful. Get the prompt right: * Be specific about what behavior you're looking for * Add qualification prompts for nuance * Browse the [Signals Library](https://avina.io/signals-library) for proven examples * Start with one, validate, then create more ### New Hires & Job Postings Lower volume, higher intent: * Start with broad title keywords, then narrow based on results * Use qualification prompts for criteria like funding stage or tech stack * Don't over-filter; these signals are naturally high-quality ### Champion Movement Very low volume, very high value: * Accept ICP Fit A through C * Prioritize speed of outreach over perfect qualification * Pair with a warm, personal AI Sequence *** ## Weekly Review Checklist Spend 10 minutes each week: 1. **Check automation stats**: look at enrolled vs. filtered counts. A high filter rate means your signal is too broad or your automation is too strict. 2. **Ask your reps**: which signals did they act on? Which did they ignore? Why? 3. **Review ICP grade distribution**: if most accounts are C/D, your ICP may be too narrow 4. **Check credit usage**: make sure credits go to the signal types that produce the best results 5. **Add a new signal**: layer on one new signal per week as you learn what works # Outreach Best Practices Source: https://docs.avina.io/guides/outreach-best-practices Get the most out of AI-drafted sequences and signal-triggered outreach. Avina's [Outbound Agent](/features/ai-sequences) drafts personalized outreach using signal context, but the quality of the output depends on how you set it up. *** ## Give the Agent Good Instructions When creating an AI Sequence, you provide **style instructions** and **templating instructions**. These are the single biggest lever for draft quality. ### Style Instructions Tell the agent how to write: > *"Keep emails under 100 words. Conversational, peer-to-peer tone. No marketing jargon. Sound like a helpful colleague, not a salesperson."* > *"Formal but warm. Reference specific data points when available. End with a clear, low-commitment CTA."* ### Templating Instructions Tell the agent what to include: > *"Always mention the specific signal that triggered this sequence. Reference at least one relevant customer story."* > *"First email: value-add with no ask. Second email: reference the signal and propose a 15-minute call. Third email: brief bump."* *** ## Match Tone to Signal Type Different signals call for different approaches: | Signal Type | Tone | Approach | | ----------------------- | ---------------- | ----------------------------------------------------------------- | | **Pricing page visit** | Direct, helpful | Reference what they looked at, offer to answer questions | | **Champion movement** | Warm, personal | Congratulate them, reference your past relationship | | **New hire** | Consultative | Don't rush; offer resources for their first 90 days | | **Job posting** | Strategic | Connect the role they're hiring for to your product's value | | **Custom AI (funding)** | Informed, timely | Acknowledge the milestone, position yourself for their next phase | *** ## Keep Sequences Short For signal-triggered outreach, shorter sequences outperform longer ones: * **2-3 steps** is the sweet spot * **Step 1**: Value-add or relevant insight (no hard ask) * **Step 2**: Reference the signal, propose a specific next step * **Step 3**: Brief bump or alternative CTA Signals are time-sensitive. If a prospect doesn't respond to 3 well-timed, personalized emails, a 7-step sequence won't change that. *** ## Always Review Before Publishing AI drafts are strong starting points, not finished products: 1. **Read every email out loud.** Does it sound like something your best rep would send? 2. **Check the signal reference.** Is the trigger mentioned naturally? 3. **Verify the CTA.** Is there a clear, low-friction next step? 4. **Remove filler.** Cut any sentence that doesn't add value. *** ## Choose the Right Sender * **SDRs** for top-of-funnel, high-volume signals (web visits, job postings) * **AEs** for high-value signals (champion movement, re-engagement) * **Leadership** for executive-level contacts (use sparingly) The sender should match the seniority and relationship context of the prospect. *** ## Measure and Iterate After a week of running: 1. Which sequences have the highest reply rates? 2. Which signal types produce the best conversations? 3. Update style instructions based on what's working 4. Retire sequences that consistently underperform # Champion Job Change → Warm Outreach Source: https://docs.avina.io/guides/sample-plays/champion-movement Re-engage past champions the moment they land at a new ICP account. **Signal:** Champion Movement\ **Filter:** New company matches ICP\ **Action:** Add to "Champion Re-engagement" sequence ## Why it works When a champion moves to a new company, there's a narrow window to re-engage before they settle on a new vendor stack. This play catches that window automatically. ## Setup 1. [Activate the Champion Movement signal](/signals/champion-signals). 2. Create an [automation](/features/automations) triggered by Champion Movement signals. 3. Add a filter: **ICP Fit = A or B**. 4. Set the action: **Add to sequence** → select a warm re-engagement sequence. 5. Activate. # Custom AI Signal → LinkedIn Ad Audience Source: https://docs.avina.io/guides/sample-plays/custom-ai-ad-audience Push AI-qualified target companies into a LinkedIn ad audience for always-on retargeting. **Signal:** [Custom AI Signal](/signals/custom-ai-signals) (e.g., *"Companies publicly evaluating AI platforms for customer support"*) **Filter:** ICP Fit = A or B **Action:** Add matched companies to a LinkedIn ad audience (via HubSpot) ## Why it works Custom AI signals catch intent that no built-in signal can: earnings-call mentions, executive posts about a pain point, blog announcements, industry trend coverage. Retargeting these companies with LinkedIn ads keeps your brand top-of-mind with their buying committee while your SDRs work the 1:1 motion in parallel — every impression reinforces the sequence landing in the inbox. ## Setup 1. [Create a Custom AI Signal](/signals/custom-ai-signals) describing the intent you want to track. Be specific — the more concrete the prompt, the cleaner the audience. * Example prompt: *"Companies whose executives have publicly discussed evaluating AI platforms for customer support in the last 60 days."* 2. [Activate the signal](/features/ai-signals-agent#preview--activate) and use **Preview** to confirm the agent is finding the right companies before going live. 3. [Create an automation](/features/automations) triggered by the Custom AI Signal. 4. Add a filter: **ICP Fit = A or B** so only qualified accounts enter the audience. 5. Set the action: **Add to ad audience** → select your LinkedIn ad audience (synced via [HubSpot](/integrations/hubspot/overview)). 6. Activate. Pair this play with a [pricing page visitor sequence](/guides/sample-plays/pricing-page-sdr). Ad impressions warm the account up; the SDR sequence converts the visitor who clicks through. # Custom AI Signal → Outbound Sequence Source: https://docs.avina.io/guides/sample-plays/custom-ai-funding Use a Custom AI Signal to catch a niche buying trigger and launch AI-drafted outbound. **Signal:** [Custom AI Signal](/signals/custom-ai-signals) (e.g., *"SaaS companies that raised Series B or later in the last 90 days"*) **Filter:** ICP Fit = A or B **Action:** Launch an [AI Sequence](/features/ai-sequences) ## Why it works Custom AI Signals let you codify the exact buying trigger that matters in your market — funding rounds, leadership announcements, product launches, regulatory changes, technology migrations — and turn it into a continuous pipeline of accounts. The Outbound Agent then drafts personalized outreach that references the specific trigger, so the first email reads like a human wrote it. ## Setup 1. [Create a Custom AI Signal](/signals/custom-ai-signals) with a tightly scoped prompt. * Example prompt: *"SaaS companies with 50–500 employees that raised Series B or later in the last 90 days. Exclude companies outside North America."* 2. Use the qualification field to tighten the results further if needed (e.g., *"Must be in cybersecurity, devtools, or data infrastructure"*). 3. [Activate the signal](/features/ai-signals-agent#preview--activate) and verify the **Preview** results look right. 4. [Create an automation](/features/automations) triggered by the Custom AI Signal. 5. Add a filter: **ICP Fit = A or B**. 6. Set the action: **Launch AI Outreach** → create or select an [AI Sequence](/features/ai-sequences) in your sending platform of choice. 7. Activate. Qualification is what separates a Custom AI Signal from a generic filter. Take 5 minutes to refine the prompt until Preview shows exactly the accounts you'd hand-pick — noise here compounds into wasted credits and rep time. # Re-engaged Closed-Lost Deal → Deal Revival Source: https://docs.avina.io/guides/sample-plays/deal-revival Notify the original account owner the moment a closed-lost deal re-engages. **Signal:** Re-engagement\ **Filter:** Pipeline stage = "Closed Lost" AND ICP Fit = A, B, or C\ **Action:** Add to re-engagement list + notify account owner via Slack ## Why it works When a closed-lost account re-engages with your content, something has changed. This play ensures the original account owner is notified instantly and the contact is added to a nurture track. ## Setup 1. [Activate the Re-engagement signal](/signals/reengagement-signals). 2. Create an [automation](/features/automations) triggered by Re-engagement signals. 3. Add filters: **Pipeline stage = Closed Lost** AND **ICP Fit >= C**. 4. Set actions: * **Add to list** → "Deal Revival" list in your CRM * Slack notification goes out automatically via your signal's notification settings 5. Activate. # Job Posting for Target Function → Early Engagement Source: https://docs.avina.io/guides/sample-plays/hiring-signal Reach target accounts as soon as they start hiring for your buyer persona. **Signal:** Job Posting\ **Filter:** Role matches your product's buyer AND ICP Fit = A or B\ **Action:** Add to "Hiring Signal" sequence + push to ad audience ## Why it works Hiring signals budget allocation and operational urgency. A company posting for a role directly related to your product is often weeks away from evaluating vendors. This play catches them first. ## Setup 1. [Create a Job Posting signal](/signals/job-posting-signals) filtered by relevant roles and keywords. 2. Create an [automation](/features/automations) with two actions: * **Add to sequence** → "Hiring Signal Outreach" * **Add to ad audience** → sync to LinkedIn or Google for brand exposure 3. Gate with ICP fit filters. 4. Activate. # New Hire in Target Role → CRM + Sequence Source: https://docs.avina.io/guides/sample-plays/new-hire Catch new decision-makers early, before they commit to a vendor. **Signal:** New Hire\ **Filter:** Job title matches target personas AND ICP Fit = A or B\ **Action:** Push to CRM + Add to outreach sequence ## Why it works New hires in decision-making roles often evaluate and procure new tools in their first 90 days. Catching them early, before they've committed to a vendor, dramatically increases conversion rates. ## Setup 1. [Create a New Hire signal](/signals/new-hire-signals) with title filters matching your buyer personas. 2. Create an [automation](/features/automations) with two actions: * **Push to CRM** (creates the contact and account in Salesforce/HubSpot) * **Add to sequence** (enrolls the contact in a "New Hire Intro" sequence) 3. Add ICP fit filters to keep noise low. 4. Activate. # Sample Plays Overview Source: https://docs.avina.io/guides/sample-plays/overview High-impact plays to set up in your first week with Avina. These sample plays connect Avina's signals to your sales and marketing workflows end-to-end. Each one takes about 5 minutes to set up and runs autonomously once configured. Start with one, get it running cleanly, then layer others on top. Auto-enroll qualified pricing page visitors into a personalized SDR sequence. Push AI-qualified target companies into a LinkedIn ad audience for always-on retargeting. Catch a niche buying trigger with a Custom AI Signal and launch AI-drafted outbound. Re-engage past champions the moment they land at a new ICP account. Catch new decision-makers early, before they commit to a vendor. Notify the original account owner the moment a closed-lost deal re-engages. Reach target accounts as soon as they start hiring for your buyer persona. *** ## Tips for all plays 1. **Gate with ICP fit:** every play should include a fit filter to avoid wasting credits and rep time on low-quality accounts. 2. **Start with one, then layer:** get one play running smoothly before adding more. Overlapping automations can cause duplicate outreach. 3. **Set automation priority:** if multiple automations could fire on the same signal, use the priority ordering in the [Automation Dashboard](/features/automations) to control which one takes precedence. 4. **Review weekly:** check automation stats (enrollments, filtered count) to make sure your filters are calibrated correctly. # Pricing Page Visitor → SDR Sequence Source: https://docs.avina.io/guides/sample-plays/pricing-page-sdr Auto-enroll qualified pricing page visitors into a personalized SDR sequence. **Signal:** Web Visit\ **Filter:** Page URL contains `/pricing` AND ICP Fit = A or B\ **Action:** Add to SDR follow-up sequence ## Why it works A pricing page visit is one of the strongest buying signals. This play ensures every qualified visitor gets a personalized follow-up within hours, not days. ## Setup 1. [Create a signal](/features/ai-signals-agent) of type **Web Visit** with a URL filter for your pricing page. 2. [Create an automation](/features/automations) triggered by that signal. 3. Add a filter: **ICP Fit Score > 70** (or grade A/B). 4. Set the action: **Add to sequence** → select your SDR follow-up sequence. 5. Activate. # Writing Great Signals Source: https://docs.avina.io/guides/writing-signals How to create signals that capture real buying intent, with examples from the Signals Library. The quality of your pipeline depends on the quality of your signals. This guide covers how to think about signal design, with real examples you can use or adapt. *** ## The Two Most Important Signal Types ### Web Visitors Your website is your best intent source. Companies visiting your pricing, product, or demo pages are actively evaluating. A Web Visit signal captures this automatically after you [install the SDK](/sdk-reference/configuration). **Start with high-intent pages:** * `/pricing` or `/plans` * `/demo` or `/book-a-demo` * `/product` or feature-specific pages * `/case-studies` or `/customers` **Then broaden as needed:** * All website traffic filtered by session duration (e.g., 10+ seconds) * Blog visits combined with multiple page views ### Custom AI Signals Custom AI Signals are Avina's most powerful feature. Describe any buying behavior in plain language and the Signals Agent builds a detection pipeline for it. **What makes them special:** * They read context, not just keywords * They scan the web, news, job boards, social media, SEC filings, and more * They catch signals that fixed-platform tools can't *** ## Examples of Great Signals Browse the full [Signals Library](https://avina.io/signals-library) for 200+ ready-to-use signals. Here are some of the most effective patterns: ### By use case **Catching active evaluation:** * *"Contacts from target accounts who visited your pricing page at least once in the last 7 days"* (Web Visit) * *"Companies posting job listings for data engineers that mention Snowflake or dbt"* (Job Listing) **Spotting organizational change:** * *"Companies hiring their first Chief Information Security Officer"* (New Hire) * *"Companies with 3+ C-level executives updating profiles to 'Former' in the last 30 days"* (Custom AI) **Detecting strategic shifts:** * *"Companies actively migrating to the cloud, with engineering blogs mentioning 'AWS migration' or 'cloud transformation'"* (Custom AI) * *"Companies shifting to enterprise sales, with website pricing updates adding 'Contact Sales' to high-tier plans"* (Custom AI) **Finding funding and growth:** * *"B2B SaaS companies raising >\$20M Series B from top-tier VCs in the last 3 months"* (Custom AI) * *"Companies with headcount crossing 100 employees within a 6-month period"* (Custom AI) **Tracking competitive dynamics:** * *"Companies migrating from Salesforce to HubSpot, with job descriptions mentioning 'HubSpot implementation'"* (Job Listing) * *"Companies acquired by private equity firms in the last 3 months"* (Custom AI) ### By vertical | Vertical | Example Signal | | ------------------- | -------------------------------------------------------------------------------- | | **Cybersecurity** | Companies achieving SOC 2 Type II certification | | **Developer Tools** | Companies with open source projects gaining traction on GitHub | | **Fintech** | Non-fintech companies hiring for 'Head of Lending' or 'Payments Product Manager' | | **E-commerce** | Retailers adding 'Same-Day Delivery' to their checkout pages | | **HR Tech** | Companies mandating return-to-office policies | | **Sales Tech** | Companies with 5+ new SDR/AE job postings in 30 days | | **Martech** | Brands launching TikTok advertising (detected by new pixel installations) | *** ## Signal Design Principles ### Be specific about behavior, not demographics Demographics go in your ICP (Settings > Personas). Signals should capture *actions* and *events* that indicate buying intent. **Good:** "Companies posting job listings for AI/ML engineers that mention 'production deployment'" **Bad:** "SaaS companies with 100+ employees" (this is an ICP filter, not a signal) ### Use qualification prompts for nuance For signal types that support it, add a qualification prompt. This tells the [Qualification Agent](/features/ai-qualification-agent) to evaluate each signal with AI before delivering it. > *"Only surface companies that sell to enterprise customers and have raised at least Series A funding"* Use this for criteria that standard filters can't express. If a filter already exists for it (industry, location, company size), use the filter instead. ### Start narrow, then broaden It's easier to loosen a signal than to clean up a noisy one. Start with tight criteria, validate the results, then expand. ### Preview before activating Always click **Preview** before activating. Check that the accounts match your expectations. If the results are off, adjust filters before going live. *** ## Combining Signals with Automations A signal on its own just surfaces intent. Pair it with an [automation](/features/automations) to turn that intent into action: | Signal | Recommended Automation | | -------------------------------- | --------------------------------------- | | Pricing page visitors | Enroll in AI Sequence | | Custom AI (funding rounds) | Add to company list + webhook to Clay | | New hires in target roles | Enroll in AI Sequence (delayed 30 days) | | Champion movement | Enroll in warm outreach sequence | | Job postings matching your space | Add to contact list for SDR review | See [Sample Plays](/guides/sample-plays/overview) for ready-to-use templates. # Apollo Integration Source: https://docs.avina.io/integrations/apollo/overview Overview of the integration between Avina and Apollo. # Apollo Integration ## Overview The Apollo integration connects Avina to your Apollo workspace, enabling bi-directional data flow between your signal engine and your sales engagement platform. ## Purpose * **Add contacts to Apollo sequences** from Avina automations * **Sync contacts to Apollo lists** for prospecting and segmentation * **Pull Apollo engagement data** (sequences, emails, calls) into Avina to enrich signals and account context * **Push signal-discovered contacts** to Apollo for outreach ## How It Works ### Write * **Sequences:** Avina automations can enroll contacts into Apollo sequences when signals fire. * **Lists:** add contacts or accounts to Apollo lists for campaign targeting or prospecting workflows. * **Contacts:** Avina creates or enriches contacts in Apollo when new prospects are discovered. ### Read * Avina ingests Apollo engagement data, including sequence activity, email outcomes, and call logs. * This data contributes to account scoring, signal enrichment, and personalized drafting. ## Setup 1. Navigate to **Settings > Integrations** in Avina. 2. Select **Apollo**. 3. Authenticate with your Apollo account via API key. 4. Save and verify the connection. ## Supported Actions in Automations When building [automations](/features/automations), Apollo supports the following destination types: * **Add to sequence:** enroll contacts into an Apollo sequence * **Add to list:** add contacts to an Apollo contact list ## Sync Behavior * **Initial sync:** Avina pulls historical engagement data when first connected. * **Ongoing sync:** new activity syncs continuously in near real-time. * **De-duplication:** Avina matches contacts by email to prevent duplicates. # Attio Integration Source: https://docs.avina.io/integrations/attio/overview Overview of the integration between Attio and Avina ## Overview The Attio integration is a full bi-directional sync between Avina and your CRM.\ It ensures Accounts and Contacts are enriched with Avina signals, while also pulling in Attio context to strengthen signal generation, account insights, and drafting. ## Purpose * Create and update **Accounts** and **Contacts** in Attio automatically * Log Avina signals to a **custom object** linked to those records * Pull Attio CRM data (emails, meetings, deals, relationships) into Avina to enrich signals and insights * Give your team signal visibility directly in Attio while enhancing Avina’s prioritization and drafting ## How It Works * **Write**: * Accounts → created or enriched when Avina identifies new companies * Contacts → created or enriched when Avina detects new prospects * Custom Object → Avina signals (e.g., job changes, web visits, intent surges) written as structured records * **Read**: * Avina ingests Attio CRM data, including contacts, accounts, deals, relationships, and activities * This context is used to generate more precise signals, improve account scoring, and draft personalized messaging ## Setup To enable Attio integration: 1. Navigate to **Settings > Integrations** in Avina. 2. Select **Attio**. 3. Authenticate with your Attio account. 4. Save and verify the sync. ## Use Cases ### Signal Visibility in Your CRM Every Avina signal (web visits, champion movement, new hires, ad engagement, etc.) is written to a custom object in Attio and linked to the relevant Account and Contact records. Your team can see buying intent directly inside Attio without switching tools. ### Enriched Account Prioritization Avina pulls deal history, relationships, and engagement data from Attio to produce more accurate account fit scores and signal rankings. Accounts with active deals or recent CRM activity are weighted differently than net-new prospects. ### Automated CRM Updates When Avina surfaces a new prospect via a signal, the corresponding Account and Contact are automatically created or updated in Attio. No manual data entry required. ### Personalized Drafting Attio context (deal stage, past conversations, relationship history) feeds into Avina's AI drafting engine, producing more relevant email copy and meeting prep. ## Supported Actions in Automations When building [automations](/features/automations), Attio supports the following destination types: * **Create lead/contact:** add new contacts discovered by signals * **Create account/company:** add new companies to Attio * **Add signals to contacts/accounts:** attach signal data to existing records ## Sync Behavior * **Initial sync:** Avina pulls historical CRM data (accounts, contacts, deals, activities) when first connected. * **Ongoing sync:** new data syncs bi-directionally in near real-time. * **De-duplication:** Avina matches contacts by email and accounts by domain to prevent duplicates. # Connect Avina to Claude or Codex (MCP) Source: https://docs.avina.io/integrations/claude-mcp Give Claude or Codex live, secure access to your Avina workspace over the Model Context Protocol. Avina exposes a hosted **[Model Context Protocol](https://modelcontextprotocol.io) (MCP)** server so you can ask **Claude or Codex** to read your accounts, contacts, and signals and to drive your signal workflows — all scoped to your workspace, in natural language. Once connected, you can ask your AI assistant things like: * *"What alerts fired for my top accounts this week?"* * *"Draft a new-hire signal for VPs of Sales at Series B SaaS companies."* * *"Generate more leads for my champion-movement signal, then turn on daily monitoring."* **Endpoint:** `https://api.avina.io/mcp` · **Transport:** Streamable HTTP · **Auth:** OAuth (Avina / WorkOS login — no API keys to copy) You sign in with your normal Avina login. Claude or Codex only sees the workspace you're a member of. *** ## Before you start * An active **Avina workspace** and login. If you can sign in at [app.avina.io](https://app.avina.io), you're set. * **For Codex:** access to MCP settings in the Codex app. Avina isn't a bundled plugin — you add it yourself as a custom MCP server using the URL below. * **For Claude:** a plan that supports custom connectors — Free, Pro, Max, Team, and Enterprise all qualify. On Team / Enterprise, custom connectors may be gated by your workspace owner. *** ## Connect in Codex Avina isn't part of the Codex plugin catalog — you add it manually as a remote MCP server, the same way you would in Claude. In Codex, go to **Settings → Plugins → MCP**. Click **Add MCP server** and choose **Streamable HTTP** as the transport. Fill in the server details: | Field | Value | | -------------- | -------------------------- | | **Name** | `Avina` | | **Transport** | Streamable HTTP | | **Server URL** | `https://api.avina.io/mcp` | Leave any authentication / client-credential fields blank — Avina handles the OAuth handshake automatically. Save the server. Complete the Avina / WorkOS login in your browser and approve access. When you return to Codex, Avina is ready to use. Start a task and ask Codex to use Avina, for example: *"Using Avina, show me the highest-fit accounts with signals this week."* *** ## Connect on claude.ai Go to **Settings → Connectors** (also reachable via **Customize → Connectors**). Click **Add custom connector**. Paste the server URL and give it a name: | Field | Value | | ------------------------- | -------------------------- | | **Name** | `Avina` | | **Remote MCP server URL** | `https://api.avina.io/mcp` | Leave the **Advanced settings** (OAuth Client ID / Secret) blank — Avina handles the OAuth handshake automatically. Click **Add**. Click **Connect** on the new **Avina** connector. A browser window opens for your Avina / WorkOS login. Approve access, and you'll be returned to Claude with the connector marked **Connected**. In any conversation, click the **+** button, choose **Connectors**, and toggle **Avina** on. Claude can now call your workspace. *** ## Connect in Claude Cowork Claude Cowork uses the same custom-connector system as claude.ai. In Cowork, open **Settings → Connectors**. Choose **Add custom connector**, then enter: | Field | Value | | ------------------------- | -------------------------- | | **Name** | `Avina` | | **Remote MCP server URL** | `https://api.avina.io/mcp` | Click **Add**, then **Connect** and complete the Avina login in your browser. Reference the connector in your task, e.g. *"Using Avina, list this week's champion-movement alerts and draft outreach for the top three."* Cowork will call the tools it needs and ask before running any action that changes your data. *** ## What Claude and Codex can do Once connected, Claude or Codex has access to the following tools, all scoped to your workspace: | Tool | What it does | Access | | -------------------------- | --------------------------------------------------------------------------------------- | ------ | | `whoami` | Confirms which user and workspace you're connected as | Read | | `describe_schema` | Lists the filterable and groupable fields available to the query tools | Read | | `query_accounts` | Find, count, or aggregate accounts (companies) | Read | | `query_contacts` | Find, count, or aggregate contacts (people) | Read | | `query_signals` | Query the leads a configured signal surfaced — what triggered, ranked by ICP fit | Read | | `list_signals` | List your configured signal definitions and their active state | Read | | `draft_signal` | Turn a plain-English description into a draft signal (created inactive for your review) | Write | | `request_more_leads` | Generate more leads / the audience for a signal | Write | | `signal_generation_status` | Check whether a `request_more_leads` run has finished | Read | | `update_signal` | Update a signal's configuration and filters | Write | | `monitor_signal` | Turn on daily monitoring for a signal | Write | | `stop_monitoring` | Turn off monitoring for a signal | Write | **Read** tools never modify your data. **Write** tools change signals in your workspace — your AI assistant will summarize what it's about to do and may ask for confirmation before acting. New signals from `draft_signal` are always created **inactive** so nothing goes live without your say-so. *** ## Security & access * **You sign in as you.** Authentication runs through Avina's standard WorkOS login (OAuth 2.0). No API keys or secrets are pasted into your AI assistant or stored in a config file. * **Workspace-scoped.** Claude or Codex can only see and act on the workspace you're a member of. If you belong to more than one, the connector uses the workspace tied to your session. * **Least privilege.** Every request is authorized against your existing Avina role, and write tools funnel through a server-side allowlist — the assistant can only set the fields Avina explicitly permits. * **Revoke anytime.** Remove the Avina server under **Settings → Plugins → MCP** in Codex, or disconnect it under **Settings → Connectors** in Claude, to immediately cut off access. ### Team & Enterprise workspaces On Team and Enterprise plans, a workspace **owner** adds the connector once so members can enable it: 1. Go to **Organization settings → Connectors**. 2. Click **Add**, hover **Custom**, and choose **Web**. 3. Enter the server URL `https://api.avina.io/mcp` and click **Add**. 4. Members then open **Settings → Connectors** and click **Connect** on the **Avina** connector to sign in with their own Avina login. *** ## Troubleshooting | Symptom | Fix | | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Avina isn't listed in Codex** | Avina isn't a bundled plugin. Go to **Settings → Plugins → MCP → Add MCP server**, pick **Streamable HTTP**, and enter `https://api.avina.io/mcp`. If MCP settings aren't available, update Codex and check with your workspace admin. | | **"Add custom connector" isn't shown** | On Team/Enterprise, your owner must enable custom connectors first. On individual plans, confirm you're on a supported plan. | | **Login window doesn't return / connection stays "Not connected"** | Complete the Avina sign-in fully in the popup, and allow pop-ups for claude.ai. Then click **Connect** again. | | **The assistant says it can't reach the tools** | In Claude, make sure the connector is toggled **on** for that conversation via the **+ → Connectors** menu. In Codex, confirm the Avina server is enabled and connected under **Settings → Plugins → MCP**. | | **"Ambiguous workspace" or wrong workspace** | You likely belong to multiple workspaces. Contact **[support@avina.io](mailto:support@avina.io)** to confirm which workspace your login resolves to. | Still stuck? Email **[support@avina.io](mailto:support@avina.io)** and we'll help you get connected. # Microsoft Dynamics 365 Integration Source: https://docs.avina.io/integrations/dynamics/overview Overview of the integration between Avina and Microsoft Dynamics 365 ## Overview The Microsoft Dynamics 365 integration writes Avina signals, accounts, and contacts into Dataverse, and reads back just enough CRM context (accounts, contacts, and opportunities) to keep records de-duplicated and to filter signals on deal state. Unlike the HubSpot and Salesforce integrations, Dynamics is a **write-first** integration. Avina does not perform a historical back-fill of your Dynamics data, and Dynamics data does not feed signal generation, account scoring, or AI drafting. Everything Avina reads from Dynamics is an on-demand lookup made at the moment a signal is pushed or filtered. *** ## How it works **Write** * **Accounts** → created when Avina fires a signal for a company that isn't already in Dynamics * **Contacts** → created or matched for the people attached to a signal, and linked to their account * **Leads** (optional) → created directly instead of, or alongside, contacts, linked to the account * **Signals** → written as records in a custom **`avina_signals`** activity table, linked to the account and to each contact **Read** * **Accounts** → looked up by website domain to find the record a signal belongs to * **Contacts** → looked up by email address before any contact is created * **Opportunities** → read on demand so signals can be filtered on deal state (open, won, lost, amount, stage) Avina talks to your environment through the **Dataverse Web API (v9.2)** over an OAuth connection you authorize once. *** ## Setup ### 1. Create the Avina Signals table Avina writes each signal to a **custom activity table** in Dataverse. This table must exist before you enable the integration — Avina does not create it for you, and signal pushes will fail while it's missing. Create it in the [Power Apps maker portal](https://make.powerapps.com) under **Tables → New table**, choosing the **activity table** option so the table inherits the native `subject`, `description`, and **Regarding** columns. Two things must match exactly, because Avina addresses the table and its columns by logical name: * Your publisher's **customization prefix must be `avina`** * The table's **plural name must be `Signals`**, producing the entity set `avina_signals` Then add three custom columns: | Column (logical name) | Data type | Holds | | --------------------- | ------------- | ----------------------------------------------------------------- | | `avina_signal_name` | Text | The name of the signal that fired, as configured in Avina | | `avina_tags` | Text | Comma-separated signal tags (see [Tag reference](#tag-reference)) | | `avina_signal_date` | Date and Time | When the underlying activity happened, in UTC | Give `avina_tags` a generous maximum length — a single signal often carries four or five tags. 500 characters is a comfortable default. ### 2. Connect Dynamics 1. Go to **Settings → Integrations** in Avina. 2. Select **Microsoft Dynamics**. 3. Authenticate against your Dynamics environment and grant write access. ### 3. Enable push preferences In the same connector panel, turn on what you want Avina to write: | Preference | What it does | | ------------------------------------------------ | ------------------------------------------------------------------------------------------ | | **Push resolved contacts to Microsoft Dynamics** | Syncs contacts Avina has identified. Also creates the account if it isn't in Dynamics yet. | | **Push ICP contacts to Microsoft Dynamics** | Finds contacts matching your ICP target roles at the identified company and syncs them. | | **Push signals to account and contact activity** | Writes the signal itself to the `avina_signals` table. | The signals preference requires at least one of the two contact preferences to be on — Avina needs a resolved account and contact to attach the activity to, so the toggle stays disabled until one is enabled. *** ## What Avina writes The tables below are the **default mappings**. They aren't fixed — if your org stores this data in different columns, or you want signals written to custom fields you already report on, the mappings can be adapted to your schema. Raise it during setup or email [support@avina.io](mailto:support@avina.io), and the columns Avina writes to will be configured to match. ### Accounts Created only when no existing account matches the signal's company domain. | Dynamics column | Value | | --------------- | -------------- | | `name` | Company name | | `websiteurl` | Company domain | ### Contacts Created only when no existing contact matches the email address, and linked to the account when one is known. | Dynamics column | Value | | ------------------------------------- | -------------------------------------------------------------- | | `emailaddress1` | Contact email — **required**; contacts without one are skipped | | `firstname` | First name, split from the full name | | `lastname` | Last name, split from the full name (blank if unavailable) | | `jobtitle` | Job title, when Avina has one | | `parentcustomerid_account@odata.bind` | Lookup to the parent account | ### Leads (optional) By default Avina creates Contacts. If your team works from leads instead, Avina can create Dynamics **Lead** records directly — linked to the associated account, and to the contact when one exists — as an alternative or addition to contact creation. Raise it during setup or email [support@avina.io](mailto:support@avina.io). One limit to know about: Avina can't route the lead through logic that sits between your contacts and leads today — a custom script or workflow you run to create or qualify leads. If that logic needs to apply, it has to run on your side after Avina creates the record. ### Signals | Column | Value | | ------------------- | ------------------------------------------------------------------------------------------------------------------ | | `subject` | The signal headline (e.g. *Dev Security hired a new Chief Revenue Officer*) | | `description` | The full plain-text signal summary | | `avina_signal_name` | Name of the signal that fired, as configured in Avina (blank for signals that aren't part of a named signal group) | | `avina_signal_date` | Timestamp of the underlying activity, in UTC | | `avina_tags` | Comma-separated tags classifying the signal | | **Regarding** | Lookup to the related account **or** contact | Example record: > **Subject:** Avina Alert: Dev Security hired Brandon Riley as their new Chief Revenue Officer.\ > **Signal name:** New Hire — VP and above\ > **Tags:** avina\_new\_hire\_signal,has\_owner\ > **Regarding:** Dev Security (Account) #### One activity per linked record A Dynamics activity can point at exactly one record through its polymorphic **Regarding** field. So rather than writing one activity with several associations, Avina writes **one activity per record**: one regarding the account, plus one regarding each contact attached to the signal. A signal touching an account and two contacts produces three records with identical content. This is a deliberate trade-off — it means the signal is visible on the timeline of every related record, at the cost of repeated content. When reporting on signal volume, count distinct accounts or filter to account-regarding rows to avoid multiple-counting. If one of those writes fails, the others still stand: Avina reports the push as successful as long as at least one activity was created. *** ## Tag reference Every signal carries one or more lowercase tags in `avina_tags`. These are what you filter, segment, and build Power Automate flows on. ### Custom AI Signal tags The tag you'll build most of your plays on. Every [Custom AI Signal](/signals/custom-ai-signals) writes a tag **named after the signal you defined**, so each one is individually addressable: ``` avina_{your_signal_name}_signal ``` A signal you named `funding_round` writes `avina_funding_round_signal`; one named `new_office_opening` writes `avina_new_office_opening_signal`. Because the name is yours, a view or flow built on it targets exactly that signal and nothing else — which is what makes these tags far more precise to segment on than the type tags below. Custom AI Signals also carry the generic `avina_custom_ai_signal` type tag, so you can match one specific signal or every AI signal at once. ### Signal type tags Every signal also carries a tag identifying **what kind** of signal fired. Use these to segment broadly — all hiring activity, all web activity — rather than one specific signal. | Signal type | Tag | | ------------------------ | -------------------------------- | | **Custom AI Signal** | `avina_custom_ai_signal` | | **Web Visit** | `avina_web_visit_signal` | | **New Hire** | `avina_new_hire_signal` | | **Job Listing** | `avina_job_listing_signal` | | **Champion Movement** | `avina_champion_movement_signal` | | **Social Mention** | `avina_social_post_signal` | | **Tech Stack** | `avina_technographic_signal` | | **Ad View** | `avina_linkedin_ad_signal` | | **Ad Click** | `avina_ad_engagement_signal` | | **Marketing Email** | `avina_marketing_email_signal` | | **Organic Search** | `avina_search_signal` | | **Organic Social Click** | `avina_social_signal` | | **Outbound Engagement** | `avina_outbound_signal` | | **Re-engagement** | `avina_reengagement_signal` | | **Third Party Signal** | `avina_third_party_slack_signal` | ### Context tags Avina also adds tags describing the account at the moment the signal fired: | Context tag | Meaning | | ------------- | --------------------------------------------- | | `open_deals` | The account has at least one open deal | | `closed_won` | The account has at least one closed-won deal | | `closed_lost` | The account has at least one closed-lost deal | | `has_owner` | The account has an owner assigned | ### Automation tags When an [automation](/features/automations) triggers the push, Avina appends `avina_{automation_name}_automation` and adds a `Triggered automation: {name}` line to the description. Signals routinely carry several tags at once — a champion visiting your pricing page writes both `avina_web_visit_signal` and `avina_champion_movement_signal`. Match with **contains**, not **equals**, when you build views or flows. *** ## De-duplication Avina never blindly creates records. Accounts and contacts are matched against your existing Dynamics data first, and only created when nothing matches. What follows is the **default matching logic**, which suits most orgs. Messier data usually needs more than domain-and-email matching — subsidiaries and regional entities sharing one web domain, accounts keyed on a company registration number, contacts duplicated across business units, or existing duplicate-detection rules you want Avina to respect. Avina can apply custom matching logic scaled to that complexity: additional or different match keys, tie-breakers when several records match, and rules for which record wins. Walk through your data model during setup or email [support@avina.io](mailto:support@avina.io). ### Accounts are matched on domain 1. Avina normalizes the company's domain (stripping protocol, `www.`, and paths). 2. It searches the five most recently modified accounts whose `websiteurl` contains that domain. 3. Each candidate is then compared on **domain equivalence**, not raw text: two domains match when they share the same registrable domain. Subdomains count as the same company (`mail.example.com` matches `example.com`), while lookalikes do not — this second pass is what stops `notexample.com` from absorbing a signal meant for `example.com`, which a substring search alone would allow. 4. The first genuine match wins. If none of the candidates are equivalent, Avina creates a new account and logs the rejected candidates. Once an account is matched or created, its Dynamics ID is cached against the account in Avina, so later signals for the same company resolve without another lookup. ### Contacts are matched on email Contacts are matched by an exact match on `emailaddress1`. If a contact exists, Avina uses it as-is and writes nothing to it. If not — and contact pushing is enabled — Avina creates one and links it to the account. A contact with no email address is skipped entirely. Email is the only matching key, so a contact without one can't be de-duplicated safely. ### Concurrent signals can't create duplicates Several signals for the same company often fire at once. Two safeguards keep that from producing duplicate accounts: * Account creation takes a **lock per company**, so parallel workers queue rather than race. The first re-checks for an existing record after acquiring the lock. * After creating an account, Avina **pauses briefly** before continuing, because a freshly created record isn't immediately returned by search. Within a single signal, contacts are also de-duplicated by lowercased email before any writes, so a person appearing as both a resolved contact and an ICP contact receives one activity, not two. ### What Avina does not do by default * **No updates to existing records.** Once matched, your accounts and contacts are read-only to Avina — it never overwrites a name, title, or website on a record it didn't create. * **No upserts or alternate keys.** Matching is always an explicit lookup followed by a create, so your own alternate keys and duplicate detection rules are unaffected. * **No merging.** If duplicates already exist in Dynamics, Avina picks the most recently modified equivalent match rather than merging them. Each of these is a safe default rather than a hard limit — if your org needs Avina to match on an alternate key or enrich records it didn't create, that can be configured. *** ## Filtering signals on deal state Avina can filter signals on live opportunity data — for example, suppressing signals for accounts with an open deal, or surfacing only closed-lost accounts for a revival play. When a signal filter references deal data, Avina resolves the account by domain and reads its opportunities on the spot. Results are cached for an hour. | Avina deal field | Dynamics opportunity source | | ----------------- | ------------------------------------------------------------- | | Name | `name` | | Stage | `stepname` | | Open / won / lost | `statecode` | | Amount | `actualvalue` when won, otherwise `estimatedvalue` | | Close date | `actualclosedate` when closed, otherwise `estimatedclosedate` | | Days to close | Derived from `createdon` and the close date | Opportunities are matched to an account through the opportunity's parent account. Deals are **read only** — Avina never creates or edits opportunities. *** ## Use cases ### Signal visibility in the CRM Every signal lands on the timeline of the related account and contact, so sellers working in Dynamics see buying intent without switching tools. ### Views and segments off tags Because tags are stored in a single text column, you can build views and personal segments with a **contains** filter on `avina_tags` — one view per play, e.g. all accounts with `avina_champion_movement_signal` in the last 30 days. ### Power Automate flows Trigger a flow on the creation of an `avina_signals` row, branch on `avina_tags`, and route to Teams, an email alert, or a task assigned to the account owner. ### Automated record creation When a signal surfaces a company or person you don't have yet, the account and contact are created and linked automatically — de-duplicated against what's already there. *** ## Troubleshooting | Symptom | Likely cause | | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | No signal records appear at all | The `avina_signals` table is missing, or its prefix or plural name doesn't match. Confirm the entity set resolves as `avina_signals`. | | Accounts and contacts sync, but signals don't | **Push signals to account and contact activity** is off, or was auto-disabled when both contact preferences were turned off. | | A signal landed on the wrong account | Multiple accounts share a website domain. Avina picks the most recently modified equivalent match — de-duplicate them in Dynamics. | | Contacts are missing from a signal | Those contacts have no email address, so they can't be matched or created. | | Duplicate-looking signal records | Expected: one activity per linked record. See [One activity per linked record](#one-activity-per-linked-record). | | Signal headline looks truncated | Dataverse enforces a maximum length on the native `subject` column. The full text is always in `description`. | | Deal-based filters aren't matching | The account couldn't be resolved by domain, or opportunities aren't linked to the parent account. Deal reads are cached for an hour. | Still stuck? Email [support@avina.io](mailto:support@avina.io). # AI Sequences in HubSpot Source: https://docs.avina.io/integrations/hubspot/ai-sequences Step-by-step setup for using HubSpot as the sending platform for Avina's AI Sequences. HubSpot's [Sequences API](https://developers.hubspot.com/docs/reference/api/automation/sequences) is **read and enroll only** — it does not expose endpoints to create sequences or email templates. That means when you use HubSpot as the sending platform for [AI Sequences](/features/ai-sequences), Avina cannot build the sequence for you the way it does for Outreach, Salesloft, Instantly, Lemlist, or Smartlead. Instead, the flow is: 1. **You build an empty sequence shell in HubSpot** (the sequence, its steps, its delays, its sender settings). 2. **Avina writes per-contact personalized copy** into custom properties on the Contact and Company records. 3. **You reference those custom properties as personalization tokens** in the sequence's email templates, so HubSpot merges Avina's AI-drafted copy at send time. This is more work than the other platforms, but it's a one-time setup per sequence. ## Prerequisites * A **Sales Hub Professional or Enterprise** (or Service Hub equivalent) subscription — required for sequences. * **Sequences** and **Edit property settings** permissions on the HubSpot user doing the setup. * A personal email inbox [connected to HubSpot](https://knowledge.hubspot.com/connected-email/connect-your-inbox-to-hubspot) (team/conversations inboxes can't send sequence emails). * The Avina ↔ HubSpot integration connected. See the [HubSpot overview](/integrations/hubspot/overview) if you haven't done this yet. ## Step 1 — Create custom properties for Avina's drafts For each email step in your sequence, you'll need one property to hold the subject line and one to hold the body, on either the Contact or the Company record (Contact is the most common choice). In HubSpot, click the **settings** icon in the top nav → **Properties** in the left sidebar. Click the **Select an object** dropdown and choose **Contact properties** (repeat later for **Company properties** if your sequence merges company-level copy too). Click **Create property**, then: * **Property label:** `Avina — Email Body 1` * **Field type:** **Multi-line text** * Click **Create property**. Click **Create property** again: * **Property label:** `Avina — Email Subject 1` * **Field type:** **Single-line text** * Click **Create property**. Repeat the two steps above for every email step your sequence will have (e.g., `Email Body 2`, `Email Subject 2`, and so on). Each Avina step needs its own property pair. Keep the labels in a consistent pattern (`Avina — Email Body {n}` / `Avina — Email Subject {n}`). Avina matches on the label when writing drafts, and a consistent naming convention makes it obvious which property belongs to which step. ## Step 2 — Create the sequence shell in HubSpot In HubSpot, navigate to **Automations → Sequences** (or **Sales → Sequences**). Click **Create sequence** in the top right, select **Start from scratch**, and click **Create sequence**. Click the pencil icon at the top of the sequence editor and give it a descriptive name. This is the exact name you'll select in Avina when wiring up the AI Sequence. Click the **+** icon → **Automated email**. Click **Create template** to build the step 1 template in-place. In the template editor: 1. Click in the **Subject** field, then click the **Personalize** dropdown → **Contact property** → search for `Avina — Email Subject 1` → **Insert**. 2. Click into the body, then click the **Personalize** dropdown → **Contact property** → search for `Avina — Email Body 1` → **Insert**. Leave a fallback value blank unless you want HubSpot to send a default message if Avina hasn't written a draft yet for that contact. Save the template and attach it to the step. Set the delay (for step 1, this is typically zero). Add an **Automated email** step for each subsequent step, inserting `Avina — Email Subject {n}` and `Avina — Email Body {n}` as the tokens. Set delays between steps as you would for any normal sequence. Configure the sequence's default send times, sender, and automatic unenrollment triggers as usual. Save the sequence. Use **Automated email** steps (not **Manual email task** steps) for any step where Avina's draft should go out without rep intervention. Manual-email-task steps pause the sequence and require a human to click send. ## Step 3 — Wire the sequence up in Avina In Avina, navigate to **Sequences** → **Create Sequence**. When prompted for the sending platform, pick **HubSpot**. Instead of Avina creating a new HubSpot sequence, you'll see a picker listing the sequences that exist in your connected HubSpot org. Select the one you created in Step 2. For each step, confirm the Contact (or Company) property pair Avina should write into. Avina populates these properties every time a contact is enrolled into the sequence. Activate the AI Sequence. When a signal triggers enrollment, Avina will: 1. Draft personalized subject + body for each step based on the signal context. 2. Write the drafts to the custom properties on the Contact (and Company) record. 3. Enroll the contact into the HubSpot sequence. 4. HubSpot's Automated email step reads the personalization token at send time, merging Avina's draft into the outgoing email. ## What to do if you change the sequence Because Avina doesn't manage the HubSpot sequence shell, edits flow in one direction only: * **Adding a step in HubSpot:** create the matching `Avina — Email Subject/Body {n}` properties first, then add the Automated email step referencing them. Finally, in Avina, re-select the sequence so Avina picks up the new step. * **Deleting or renaming a sequence in Avina:** the corresponding HubSpot sequence is **not** deleted. Go to HubSpot and delete or rename it manually. * **Changing step order:** if you reorder steps in HubSpot, make sure the property tokens match the new order (step 1 template references `Body 1`, step 2 references `Body 2`, etc.), otherwise Avina's drafts will end up in the wrong email. ## Troubleshooting | Symptom | Likely cause | Fix | | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | Email body is blank or shows fallback text | Avina hasn't finished drafting for that contact yet, or the property name doesn't match Avina's expectation | Confirm the property exists on the Contact (or Company) record and the label exactly matches `Avina — Email Body {n}` | | Every contact gets the same copy | The template is referencing the wrong token (e.g. a static snippet instead of a personalization token) | Re-open the template, remove the static text, re-insert using the **Personalize** dropdown | | Sequence doesn't exist in Avina's picker | User who connected HubSpot doesn't have sequence visibility, or the sequence is set to **Only Me** | Share the sequence with the HubSpot user Avina authenticated as | # HubSpot Integration Source: https://docs.avina.io/integrations/hubspot/overview Overview of the integration between Avina and HubSpot ## Overview The HubSpot integration is a full bi-directional sync between Avina and your CRM. It ensures Companies and Contacts are enriched with Avina signals, while pulling in HubSpot context to power signals, account intelligence, and drafting. ## Purpose * Create and update **Companies** and **Contacts** in HubSpot automatically * Write Avina signals as **timeline activities** on those records * Pull HubSpot CRM data (contacts, deals, emails, activities, tickets) into Avina to enrich signal generation and insights * Provide sellers with buying signal context directly in HubSpot while enhancing Avina's scoring and drafting ## How It Works The connection has two halves. They are granted separately and do different jobs. * **Write** — puts Avina inside HubSpot: * **Companies** and **Contacts** created for organizations and people your CRM doesn't have yet * **Timeline Notes** carrying each signal's summary and tags, on the related Company and Contact (and Deal where applicable) * **Automation destinations** you configure: sequence enrollment, list membership, ad-audience sync * **Read** — pulls HubSpot back into Avina: * Companies, Contacts, Deals, Tickets, and Engagements * Powers the signal types that depend on your existing relationships, CRM-state filters in automations, and CRM context for AI drafting ## Access & permissions **Write is the half most workspaces need**, and for many it's the only one they turn on — it's what puts signals on your HubSpot records. **Read is not required for most signal detection.** It earns its place for the signal types that depend on your existing relationships, and for filtering automations on live CRM state. ### Which half does what | Capability | Needs write | Needs read | | -------------------------------------------------------------------------------------------------------- | ----------- | ---------- | | **Signal notes** on the Company, Contact, and Deal timelines | ✅ | — | | **Creating a Company or Contact** for a company or person your CRM doesn't have yet | ✅ | — | | **Automation destinations** — enroll in a sequence, add to a list, sync to an ad audience | ✅ | — | | **Champion movement** — recognizing that the person who changed jobs was one of your contacts | — | ✅ | | **Outbound & re-engagement signals** — scored against the email and activity history already in your CRM | — | ✅ | | **CRM-state filters in automations** — e.g. exclude closed-won customers, or accounts with an open deal | — | ✅ | | **Account ownership context** — routing a signal to the rep who already owns the account | — | ✅ | Most signal types need neither half. Web visits come from the Avina Web SDK; new hires, job postings, and social activity from Avina's own data sources; ad engagement from your ad-platform integrations. All of that reaches the Signals Inbox whether or not HubSpot is connected at all. **Common misconception:** write access is not what powers signal detection, and Champion Movement does not depend on it. What Champion Movement needs is **read** — Avina has to know who your existing contacts are before it can tell you one of them moved. Write only decides whether the result is published back into HubSpot. ### What each grant gets you **Write only** — the common setup. Every signal Avina can produce on its own lands on the right HubSpot records, and your automations can create companies and contacts, enroll people in sequences, and populate lists. **Adding read** — unlocks the relationship-dependent signal types above, lets automations filter on live CRM state (suppress accounts with an open deal, exclude closed-won customers, target a lifecycle stage), and feeds deal history, email engagement, and meeting notes into Avina's drafting so outreach reflects the relationship you already have. ### What write access actually touches When signals push to HubSpot, Avina writes to three object types: | Object | What Avina does | What Avina never does | | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | **Notes** (Activity) | Creates one note per signal, associated with the related Company and — where applicable — Contact and Deal. Each note is the summary sentence plus the tag line. | Edit or delete notes it didn't author; touch tasks, calls, meetings, or emails on the timeline. | | **Companies** | Creates a company when a signal surfaces an organization you don't have. Matched on domain first, so an existing record is reused rather than duplicated. | Delete companies, or merge records you already have. | | **Contacts** | Creates a contact when a signal surfaces a person you don't have, and associates them with the company. Matched on email; a person with no email address is skipped. | Delete contacts, or change lifecycle stage, owner, or lead status on a record it didn't create. | Avina never creates, edits, or deletes a **Deal** or a **Ticket**, and never modifies your portal's configuration — workflows, properties, and settings are untouched. The one addition is automations you build yourself: if you configure a destination that adds a contact to a HubSpot list, enrolls them in a sequence, or syncs them to an ad audience, that destination writes the corresponding membership. Those writes only happen for automations you've explicitly created. Records Avina creates are Avina's to keep current. Whether Avina also enriches properties on records it *didn't* create is a per-workspace setting — if you want Avina to stay strictly create-only against your existing records, tell us at connect time and we'll configure it that way. ### What you control | Control | Where | Effect | | -------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Which halves you grant** | Avina → Settings ▸ Integrations | Write and read are independent. Start with write only and add read later — or the reverse — without re-connecting from scratch. | | **Scope of the grant** | HubSpot consent screen | The exact scopes Avina requests are listed at connect time, and stay visible afterwards under **HubSpot ▸ Settings ▸ Integrations ▸ Connected Apps**. | | **Who installs the app** | The connecting HubSpot user | The install is only as broad as the scopes that user is permitted to grant, so a purpose-built integration user keeps the grant tight and easy to audit. | | **Which signals push** | Avina → signal & automation config | Push is configured per signal and per automation, so you can send only the signal types you want in your CRM. | | **Record creation** | Avina → automation destinations | Creating Companies and Contacts is a destination you enable, not an unavoidable side effect of turning on write. | | **Auditability** | HubSpot | Every Avina-written note is attributed to the connected app, and every note carries an `avina_*` tag — so you can list, report on, or bulk-remove them at any time. | | **Revocation** | Either side | Disconnect in Avina, or uninstall the app in HubSpot. Writes stop immediately; notes already written stay on your records until you remove them. | ### Access FAQ | Question | Answer | | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Do I need write access for Champion Movement signals?** | No — that one needs **read**, so Avina knows which contacts are yours. No signal type requires write; write only controls whether signals appear on your HubSpot records. | | **We only granted write. What are we missing?** | Champion movement and outbound/re-engagement signals, CRM-state filters in automations (open deals, closed-won), and CRM context in AI drafting. Everything else works as normal. | | **Will Avina overwrite data my team entered?** | No. Avina creates notes, and creates companies/contacts you don't already have. It does not delete records, and does not overwrite fields your team owns. | | **Does Avina create duplicates?** | No. Companies are matched on domain and contacts on email before anything is created; an existing match is always reused. | | **Can I see everything Avina has written?** | Yes. Build a list or report filtered on **Note body contains** `avina_` to see every note Avina has created — see [Push to HubSpot](/integrations/hubspot/push-hubspot). | | **What happens to Avina's notes if we disconnect?** | They remain in HubSpot as ordinary notes. Nothing is removed on disconnect, and nothing new is written. | | **Which HubSpot user should authenticate the connection?** | A user with access to the objects you want synced — typically an admin, or a dedicated integration user created for this purpose so the grant is easy to audit and revoke. | ## Setup 1. Navigate to **Settings → Integrations** in Avina. 2. Select **HubSpot**. 3. Authenticate with your HubSpot account. 4. Save and verify the sync. For details on how signals land in HubSpot (notes, tag schema, dynamic lists), see [Push to HubSpot](/integrations/hubspot/push-hubspot). ## Use Cases ### Signal visibility in your CRM Every Avina signal is written as a timeline Note on the related Company and Contact records so your team sees buying intent directly inside HubSpot without switching tools. ### Dynamic lists off signal tags Each note includes standardized tags (e.g., `avina_new_hire_signal`, `avina_web_visit_signal`) that you can use to build dynamic lists and workflows. See [Push to HubSpot](/integrations/hubspot/push-hubspot) for the full tag reference. ### Automated CRM updates When Avina surfaces a new prospect via a signal, the corresponding Company and Contact are automatically created or updated in HubSpot. No manual data entry required. ### Personalized drafting HubSpot deal history, email engagement, and meeting notes feed into Avina's AI drafting engine, producing more relevant email copy and outreach. ## Supported Actions in Automations When building [automations](/features/automations), HubSpot supports the following destination types: * **Add to sequence:** enroll contacts in a HubSpot sequence * **Create lead/contact:** add new contacts discovered by signals * **Create account/company:** add new companies to HubSpot * **Add signals to contacts/accounts:** attach signal data to existing records * **Add to list:** include contacts in static or dynamic HubSpot lists * **Add to ad audience:** sync to LinkedIn, Meta, or Google ad audiences via HubSpot ## Sync Behavior * **Initial sync:** Avina pulls historical CRM data (companies, contacts, deals, activities, engagements) when first connected. * **Ongoing sync:** new data syncs bi-directionally in near real-time. * **De-duplication:** Avina matches contacts by email and companies by domain to prevent duplicates. ## AI Sequences HubSpot's Sequences API is read/enroll only, so using HubSpot as a sending platform for [AI Sequences](/features/ai-sequences) requires a one-time manual setup (creating the sequence shell and custom properties in HubSpot). See [AI Sequences in HubSpot](/integrations/hubspot/ai-sequences) for the full step-by-step. # Push to HubSpot Source: https://docs.avina.io/integrations/hubspot/push-hubspot Avina automatically writes **Activity → Notes** on the associated **Company** (and, where appropriate, **Contact** and **Deal**) records inside HubSpot every time a signal fires. Writing these notes requires **write** access on the HubSpot connection. It is not what powers signal detection — see [Access & permissions](/integrations/hubspot/overview#access--permissions) for what each half of the connection is required for, what it touches, and what you control. \ Each note contains: | Section | Details | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | **Human-readable sentence** | A short, plain-English summary of the signal (see example below). | | **Tag line** | One or more lowercase “snake-case” tags that classify the signal. These tags power HubSpot lists, workflows, and reports. | Example note (what you’ll see in your CRM): > Avina Alert: Dev Security hired Brandon Riley as their new Chief Revenue Officer. He joined the company in Feb 2025 and is based in Ann Arbor, Michigan, United States.\ > avina\_new\_hire\_signal *** ### Tag reference | Signal type (conceptual) | Tag(s) Avina writes | | -------------------------------------- | -------------------------------------------------------------------------- | | **Re-engagement Signal** | `avina_reengagement_signal` | | **Outbound Signal** | `avina_outbound_signal` | | **Champion Movement Signal** | `avina_champion_movement_signal` | | **New Hire Signal** | `avina_new_hire_signal` | | **Social Activity Signal** | `avina_social_activity_signal` | | **Job Posting Signal (Account-level)** | `avina_job_posting_signal` | | **General Engagement Signal** | `avina_general_engagement_signal` | | **Web Visit** | `avina_web_visit_signal` | | **Marketing Email** | `avina_marketing_email_signal` | | **Ad Engagement** | `avina_ad_engagement_signal` | | **Ad Impression** | `avina_ad_impression_signal` | | **Other / Misc.** | `avina_other_signal` (plus additional context-specific tags when relevant) | > **Tip:** Some signals include **multiple** tags. For example, a "Web Visit" from an existing champion may include both `avina_web_visit_signal` **and** `avina_champion_movement_signal`. *** ### Building a dynamic Contact list off a tag 1. **Navigate to** **Contacts → Lists** in HubSpot. 2. Click **Create list** → choose **Active list** (so membership auto-updates). 3. **Filter type:** *Activity → Notes* 4. **Choose filter:** * **Note body** → *contains* → enter the tag (e.g. `avina_champion_movement_signal`). 5. Give the list a descriptive name, e.g. **“Avina – Champion Movement Alerts”**. 6. **Save**. HubSpot will back-fill all existing contacts whose records contain that tag and continue to add/remove contacts in real time as new notes are written. *** ### Example use-cases | Use-case | How to set it up | | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | **Targeting all new champions for a nurture email** | Create a dynamic list for `avina_champion_movement_signal`; connect that list to a HubSpot workflow that sends a sequence or task. | | **Alerting the AE when a prospect gets a new CRO** | Workflow trigger: Company **Note body contains** `avina_new_hire_signal`; Action: "Start Outbound Sequence", "Add Task". | | **Advertising retargeting for recent web visitors** | Sync a list for `avina_web_visit_signal` to your ad audience in LinkedIn or Google ads | *** # Instantly Integration Source: https://docs.avina.io/integrations/instantly/overview Overview of the integration between Avina and Instantly. ## Overview The Instantly integration connects Avina to your Instantly account, enabling automated outreach and sequence enrollment powered by buying signals. **Picking a cold-email tool?** Instantly, [Lemlist](/integrations/lemlist/overview), and [Smartlead](/integrations/smartlead/overview) are all supported as sending platforms for AI Sequences and as automation destinations. For Avina's purposes they are functionally equivalent — pick the one your team already uses and trusts for deliverability. ## Purpose * **Enroll contacts into Instantly campaigns** from Avina automations * **Pull Instantly engagement data** (sends, opens, replies) into Avina to strengthen signal quality * **Use Instantly as a sending platform** for AI Sequences created in Avina ## How It Works ### Write * **Campaigns:** Avina automations can enroll contacts into Instantly campaigns when signals fire. * **Contacts:** Avina creates contacts in Instantly when new prospects are discovered. * **AI Sequences:** when you create an AI Sequence in Avina with Instantly as the sending platform, the sequence is created in Instantly under the hood. ### Read * Avina ingests Instantly campaign data, including email sends, opens, replies, and bounces. * This engagement data feeds into signal enrichment and account context. ## Setup 1. Navigate to **Settings > Integrations** in Avina. 2. Select **Instantly**. 3. Enter your Instantly API key. 4. Save and verify the connection. ## Supported Actions in Automations When building [automations](/features/automations), Instantly supports: * **Add to sequence:** enroll contacts into an Instantly campaign ## Sync Behavior * **Ongoing sync:** campaign activity syncs continuously. * **De-duplication:** contacts are matched by email to prevent duplicates. # Integrations overview Source: https://docs.avina.io/integrations/introduction Connect your go-to-market stack to Avina to power signals, lists, and workflows. Avina stitches data across your entire go-to-market stack to create a **virtual Customer Data Platform (CDP)**. Once connected, each integration streams fresh events into Avina so you can: * fire **real-time signals** (new hires, ad engagement spikes, web visits, etc.), * build account **lists**, and * trigger **workflows** in the tools your teams already live in. *** ## Supported integrations Channel and DM alerts for every Avina signal, plus third-party signal ingestion from vendors that post to Slack. Post signals to a Teams channel as cards through a Teams Workflow webhook. No app install required. CRM: accounts, contacts, opportunities, activities. Writes signals to the `AvinaSignals__c` custom object. CRM: companies, contacts, deals, engagements. Writes signals as timeline notes with standardized tags. CRM: accounts, contacts, deals, relationships. Writes signals to a custom object linked to each record. CRM: accounts, contacts, opportunities. Writes signals to the `avina_signals` custom activity table. Sales engagement: sequences, email and call outcomes. Supports signal-triggered enrollment and AI Sequences. Sales engagement: cadences, email and call outcomes. Supports signal-triggered enrollment and AI Sequences. Sequences, contact lists, and engagement data. Bi-directional contact sync. Cold-email campaigns, enrollment, and engagement. Supports AI Sequences as a sending platform. Cold-email campaigns, enrollment, and engagement. Supports AI Sequences as a sending platform. Cold-email campaigns at scale. Supports AI Sequences as a sending platform. For any tool not in the list above, use [Webhooks](/features/automations/webhooks) to pipe signal data into Zapier, Clay, n8n, Make, or your own systems. *** ## How syncing works 1. **OAuth or API key:** connect in **Settings → Integrations**. 2. **Historical back-fill:** Avina fetches 12–24 months of data where the provider exposes it. 3. **Schema mapping:** Avina normalizes objects (lead, contact, account, activity) into a unified model. No manual field mapping required. 4. **Ongoing sync:** reads flow into Avina in near real-time; writes (contact creation, signal notes, sequence enrollment) fire as soon as an [automation](/features/automations) triggers. *** ## Managing integrations ### Connect a new integration 1. Go to **Settings → Integrations**. 2. Click the provider card (e.g. *HubSpot*). 3. Follow the OAuth flow or paste your API credentials. ### Connected vs. disconnected Across the Avina platform — in sequences, automations, and signal activation — integrations you haven't connected yet appear as **disabled options** with a direct **Connect** link that takes you to **Settings → Integrations**. Once connected, the option becomes immediately available. *** ## FAQ | Question | Answer | | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Does Avina write back to my CRM?** | Yes. Avina will automatically push de-duped Contacts, Accounts, and Signals to your CRM. This is available for HubSpot, Salesforce, Apollo, Attio, Microsoft Dynamics, Outreach, and Salesloft. | | **What is CRM write access required for?** | Publishing signals *into* your CRM — signal notes, plus companies and contacts you don't already have — and automation destinations like sequence enrollment or list membership. It's the half most workspaces need. | | **What is CRM read access required for?** | Signals that depend on your existing relationships (champion movement, outbound and re-engagement), filtering automations on live CRM state such as open deals or closed-won accounts, and CRM context for AI drafting. Most signal types need neither half. See [HubSpot access & permissions](/integrations/hubspot/overview#access--permissions). | | **Can I request a new integration?** | Yes — email [support@avina.io](mailto:support@avina.io) or open a ticket in the in-app messenger. | | **What if my tool isn't supported?** | Use [Webhooks](/features/automations/webhooks) as a destination in any automation to POST signal data to an arbitrary endpoint. | # Lemlist Integration Source: https://docs.avina.io/integrations/lemlist/overview Overview of the integration between Avina and Lemlist. ## Overview The Lemlist integration connects Avina to your Lemlist account, enabling signal-triggered outreach through Lemlist's multi-channel campaigns. **Picking a cold-email tool?** [Instantly](/integrations/instantly/overview), Lemlist, and [Smartlead](/integrations/smartlead/overview) are all supported as sending platforms for AI Sequences and as automation destinations. For Avina's purposes they are functionally equivalent — pick the one your team already uses and trusts for deliverability. ## Purpose * **Enroll contacts into Lemlist campaigns** from Avina automations * **Pull Lemlist engagement data** into Avina to enrich signals and account context * **Use Lemlist as a sending platform** for AI Sequences created in Avina ## How It Works ### Write * **Campaigns:** Avina automations can enroll contacts into Lemlist campaigns when signals fire. * **AI Sequences:** when you create an AI Sequence in Avina with Lemlist as the sending platform, the sequence is created in Lemlist under the hood. ### Read * Avina ingests Lemlist campaign data, including email sends, opens, replies, and clicks. * This data contributes to signal enrichment and account scoring. ## Setup 1. Navigate to **Settings > Integrations** in Avina. 2. Select **Lemlist**. 3. Enter your Lemlist API key. 4. Save and verify the connection. ## Supported Actions in Automations When building [automations](/features/automations), Lemlist supports: * **Add to sequence:** enroll contacts into a Lemlist campaign ## Sync Behavior * **Ongoing sync:** campaign activity syncs continuously. * **De-duplication:** contacts are matched by email to prevent duplicates. ## AI Sequences: Lemlist-specific limitations Lemlist's public API doesn't expose two capabilities that Avina's AI Sequences rely on. If you use Lemlist as your AI Sequences sending platform, keep the following in mind: ### Deleting a sequence Lemlist does not support deleting campaigns via their API. If you delete an AI Sequence in Avina, the corresponding campaign is **not** removed from Lemlist automatically. After deleting an AI Sequence in Avina, open Lemlist and delete the matching campaign manually. Otherwise it will continue to exist (and potentially send) in Lemlist. ### Selecting sending inboxes When Avina creates a Lemlist campaign for an AI Sequence, the API only lets us set the **primary** sending inbox. If you want the campaign to rotate across additional inboxes: 1. Open the campaign Avina created for you in Lemlist. 2. Go to the campaign's sender / inbox settings. 3. Check the additional inboxes you want to use. Changes made in Lemlist persist; Avina will not overwrite your inbox selection on subsequent syncs. # Microsoft Teams Integration Source: https://docs.avina.io/integrations/microsoft-teams/overview Post Avina signals into a Microsoft Teams channel with a Teams Workflow webhook ## Overview Avina posts signals to Microsoft Teams through an incoming webhook that you create in Teams with the built-in **Workflows** app. There is nothing to install or approve on the Avina side: you create the workflow, paste its URL into an automation, and every signal that automation captures is posted to the channel as a card. Workflows requires a Microsoft 365 work or school account (Business Basic or higher, or any Enterprise plan). Teams (free) and Teams Essentials do not include Workflows, so the option will not appear there. ## Step 1: Create the webhook in Teams In Teams, go to the channel that should receive signals. Click the **⋯** next to the channel name and choose **Workflows**. The channel options menu in Microsoft Teams with Workflows highlighted Select **Send webhook alerts to a channel**. If it is not shown, search the templates for "webhook". Workflows template picker showing Send webhook alerts to a channel Give the workflow a name such as "Avina signals", confirm the team and channel, and click **Add workflow** (labelled **Save** in some tenants). Teams may ask you to sign in to the Teams connector the first time. Teams opens the workflow's details page. Click **Copy webhook link**. This is the URL you will paste into Avina. Workflow details page with the Copy webhook link action Treat the webhook link like a password. Anyone who has it can post to the channel. If it leaks, delete the workflow and create a new one. ## Step 2: Add the destination in Avina Go to **Automations**, create a new automation or open an existing one, and choose the signal and filters that should trigger it. See [Automations](/features/automations) for the full builder. Under **Then…**, select **Send a Microsoft Teams Message** and paste the webhook link into the URL field. Avina automation builder with the Microsoft Teams Message destination and webhook URL field Click **Test Webhook**. A card titled "Avina test signal" appears in the channel within a few seconds. If the test card arrives, the connection is working. Save and activate the automation. ## What gets posted Each signal the automation captures becomes one card in the channel with: * **Headline** and the signal summary, with links to the company and any sources * **Matched contacts**, each with an email link and LinkedIn link when available * **Account**, **owner**, **ICP fit**, and **account score** when Avina has them * **Buttons** to open the company website and LinkedIn page Existing signals are not replayed when you activate the automation. Only signals captured after activation are posted. ## Good to know * **The workflow belongs to the person who created it, not to the channel.** If that person leaves your organization, Teams disables the workflow and signals stop arriving. To avoid this, open the **Workflows** app, find the workflow under **Your workflows**, and add a co-owner. * **Do not edit the template's steps.** The template forwards Avina's card straight to the channel. Changing the post action can stop the card from rendering. * **Private channels** post the card on behalf of the workflow's creator rather than as the Workflows bot. * **One channel per automation.** To post the same signal to several channels, create one workflow per channel and one automation per webhook URL. ## Troubleshooting | Symptom | What to check | | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | Test Webhook fails | Copy the link again from the workflow details page. The URL is long and easy to truncate. | | Test works but signals never arrive | The automation is paused, or its trigger and filters do not match any new signals. Check the automation's enrollment history in Avina. | | Signals stopped after working for a while | The workflow was turned off or its owner left the organization. Open **Workflows** → **Your workflows** and confirm it is **Active**. | | Card arrives without buttons | Your Teams client is out of date. Buttons render on current desktop, web, and mobile clients. | ## Stopping delivery Pause the automation in Avina, or turn the workflow off in Teams: open **Workflows** → **Your workflows**, click **⋯** next to the workflow, and choose **Turn off** or **Delete**. # Outreach Integration Source: https://docs.avina.io/integrations/outreach/overview Overview of the integration between Avina and Outreach ## Overview The Outreach integration is a bi-directional sync between Avina and your sales engagement platform. It ensures Accounts and Contacts stay enriched with the latest data, and enables Avina automations to trigger Outreach sequences when signals fire. ## Purpose * Create and update **Accounts** and **Contacts** in Outreach from Avina * Pull Outreach engagement data (sequences, email sends, opens, replies, call outcomes) into Avina to strengthen signal quality and account context * Allow Avina automations to **enroll prospects into Outreach sequences** when high-intent signals are detected * Use Outreach as a sending platform for the [Outbound Agent](/features/ai-sequences) ## How It Works * **Write:** * Accounts → created or enriched when Avina identifies new companies * Contacts → created or enriched when Avina detects new prospects * Automations → Avina can enroll contacts into specific Outreach sequences when a signal matches your playbook rules * AI Sequences → when you create an AI Sequence in Avina with Outreach as the sending platform, a corresponding sequence is created in Outreach under the hood * **Read:** * Avina ingests Outreach engagement data, including email sends, opens, replies, calls, and sequence outcomes * This engagement data feeds into Avina's signals, account scoring, and AI drafting ## Setup 1. Navigate to **Settings → Integrations** in Avina. 2. Select **Outreach**. 3. Authenticate with your Outreach account. 4. Save and test the connection. ## Use Cases ### Signal-triggered sequence enrollment When a high-intent signal fires (web visit, champion movement, new hire), an automation can enroll the prospect into a dedicated Outreach sequence without manual routing. ### AI Sequences Use Outreach as the sending platform for the [Outbound Agent](/features/ai-sequences). Your inboxes, sender reputation, and deliverability settings stay intact; Avina handles AI-powered drafting of each sequence step. ### Engagement-aware signal scoring Outreach engagement (opens, replies, call outcomes) feeds back into Avina to refine account fit scoring and deprioritize prospects who are already engaged with your team. ## Supported Actions in Automations When building [automations](/features/automations), Outreach supports the following destination types: * **Add to sequence:** enroll contacts in a specific Outreach sequence * **Create lead/contact:** add new contacts discovered by signals ## Sync Behavior * **Initial sync:** Avina pulls historical engagement data (sequences, email sends, call outcomes) when first connected. * **Ongoing sync:** engagement events flow into Avina in near real-time; writes (enrollments, contact updates) happen immediately when an automation fires. * **De-duplication:** Avina matches contacts by email to prevent duplicates. # Salesforce Integration Source: https://docs.avina.io/integrations/salesforce/overview Overview of the integration between Avina and Salesforce ## Overview The Salesforce integration is a full bi-directional sync between Avina and your CRM. It ensures Accounts and Contacts are always enriched with Avina signals, while pulling in Salesforce context to power high-impact signals, account insights, and drafting. ## Purpose * Create and update **Accounts** and **Contacts** in Salesforce automatically * Write Avina signals to the **`AvinaSignals__c` custom object** linked to Accounts and Contacts * Pull Salesforce data (contacts, opportunities, activities, campaigns) into Avina to enrich signals and context * Give sellers deeper signal visibility directly in Salesforce, while feeding Salesforce context back into Avina ## How It Works * **Write:** * Accounts → created or enriched when Avina detects new companies * Contacts → created or enriched when Avina identifies new prospects * Custom Object → Avina writes signals (e.g., job changes, web visits, engagement surges) as structured `AvinaSignals__c` records with lookup relationships to Account, Contact, and Lead * **Read:** * Avina pulls Accounts, Contacts, Opportunities, Campaigns, and Activities from Salesforce * This context strengthens Avina's ability to generate signals, prioritize accounts, and draft personalized messaging ## Setup 1. Go to **Settings → Integrations** in Avina. 2. Select **Salesforce**. 3. Authenticate with your Salesforce account and approve access. 4. Save and test the connection. Before Avina can write signals to your Salesforce org, you'll need to create the `AvinaSignals__c` custom object. See [Push to Salesforce](/integrations/salesforce/push-salesforce) for the step-by-step setup, tag schema, and Flow Builder examples. ## Use Cases ### Signal visibility in your CRM Every Avina signal is written as a record in the `AvinaSignals__c` custom object and linked to the relevant Account, Contact, and (optionally) Lead. Your team can report on signals, build list views, and trigger Flows without leaving Salesforce. ### Flow Builder automations Because signals are structured records with standardized tags (e.g., `avina_new_hire_signal`, `avina_web_visit_signal`), you can trigger Flows on record creation with tag-based entry conditions. Common Flows: Slack/email alerts to the AE, auto-tasks on Opportunity, sequence enrollment. See [Push to Salesforce](/integrations/salesforce/push-salesforce) for complete examples. ### Enriched Account prioritization Avina pulls opportunity history, activity, and campaign data from Salesforce to produce more accurate account fit scores and signal rankings. ### Automated CRM updates When Avina surfaces a new prospect via a signal, the corresponding Account and Contact are automatically created or updated in Salesforce. No manual data entry required. ## Supported Actions in Automations When building [automations](/features/automations), Salesforce supports the following destination types: * **Create lead/contact:** add new contacts discovered by signals * **Create account/company:** add new companies to Salesforce * **Add signals to contacts/accounts:** write signal records to the `AvinaSignals__c` custom object ## Sync Behavior * **Initial sync:** Avina pulls historical CRM data (accounts, contacts, opportunities, activities, campaigns) when first connected. * **Ongoing sync:** new data syncs bi-directionally in near real-time. * **De-duplication:** Avina matches contacts by email and accounts by domain to prevent duplicates. # Push to Salesforce Source: https://docs.avina.io/integrations/salesforce/push-salesforce Avina automatically creates records in the **Avina Signals** custom object (`AvinaSignals__c`) inside your Salesforce org every time a signal fires. This custom object stores all signal data in a structured format that you can use for reporting, automation, and workflows. \ Each record contains: | Section | Details | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | **Human-readable sentence** | A short, plain-English summary of the signal (see example below). | | **Tag line** | One or more lowercase "snake-case" tags that classify the signal. These tags power Salesforce reports, flows, and lists. | | **Related records** | Automatic lookup relationships to relevant Account, Contact, and Opportunity records when available. | Example record (what you'll see in your Salesforce org): > **Signal Summary:** Avina Alert: Dev Security hired Brandon Riley as their new Chief Revenue Officer. He joined the company in Feb 2025 and is based in Ann Arbor, Michigan, United States.\ > **Tags:** avina\_new\_hire\_signal *** ## Setup Guide Before Avina can push signals to your Salesforce org, you'll need to create the Avina Signals custom object that will store the signal data. ### Creating the Custom Object 1. **Download the object definition:** Download CSV file that defines the custom object attributes. 2. **Navigate to Object Manager:** In your Salesforce org, go to **Setup → Object Manager**. 3. **Create Object from Spreadsheet:** Click **Create** and then select **Create Object from Spreadsheet**. 4. **Upload the CSV:** Upload the downloaded CSV file to create the `AvinaSignals__c` custom object. 5. **Complete the import:** Add the CSV to the import list. If you encounter any issues, try using an incognito/private browser window. 6. **Find your new object:** Go back to **Object Manager** and locate your newly created **Avina Signals** object. 7. **Create Account lookup field:** Click into the Avina Signals object, then click **New** to create a new field. Select **Lookup** as the field type, choose **Account** as the related object, then click **Next** through the setup process and **Save**. Lookup Field Creation Lookup Relation Setup 8. **Create Contact lookup field:** Repeat step 7, but this time select **Contact** as the related object for the lookup field. 9. **(Optional) Create Lead lookup field:** Repeat step 7, but this time select **Lead** as the related object for the lookup field. 10. **Enable push settings for Salesforce:** Go to **Settings → Integrations** in the Avina dashboard. Select the Salesforce connector and enable **Push resolved contacts to Salesforce**, **Push ICP contacts to Salesforce**, and **Push signals to account and contact activity**. 11. **All done!** Once complete, Avina will start creating records in your Avina Signals custom object with proper relationships to Account and Contact records as signals are created. *** ### Tag reference | Signal | Tag(s) Avina writes | | -------------------------------------- | ------------------------------------------ | | **Re-engagement Signal** | `avina_reengagement_signal` | | **Outbound Signal** | `avina_outbound_signal` | | **Champion Movement Signal** | `avina_champion_movement_signal` | | **New Hire Signal** | `avina_new_hire_signal` | | **Social Activity Signal** | `avina_social_activity_signal` | | **Job Posting Signal (Account-level)** | `avina_job_posting_signal` | | **General Engagement Signal** | `avina_general_engagement_signal` | | **Web Visit** | `avina_web_visit_signal` | | **Marketing Email** | `avina_marketing_email_signal` | | **Ad Engagement** | `avina_ad_engagement_signal` | | **Ad Impression** | `avina_ad_impression_signal` | | **Other / Misc.** | `avina_other_signal` *(plus context tags)* | > **Tip:** Some signals carry **multiple** tags. E.g., a *Champion* visiting the site will include both `avina_web_visit_signal` **and** `avina_champion_movement_signal`. *** ### Triggering automations with Salesforce Flow Builder | Goal | High-level steps | | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Slack / email alert to AE when a new CRO is hired** | *Object:* **Avina Signals** → *Trigger:* *A record is created*.*Entry Condition:* `Tags CONTAINS 'avina_new_hire_signal'`.*Action:* *Send Slack notification* or *Email Alert*. | | **Auto-create follow-up Task on champion movement** | Same trigger with tag `avina_champion_movement_signal`; *Action:* *Create Task* assigned to related Account Owner. | | **Add Account to Outreach sequence when job listings spike** | Trigger on `avina_job_posting_signal`; *Action:* call Outreach API via Flow → *Add Prospect to Sequence*. | *** ### Example use-cases | Use-case | How to set it up in Salesforce | | ------------------------------------------ | ------------------------------------------------------------------------------ | | **Nurture new champions** | Report on `avina_champion_movement_signal` → Campaign → Pardot/Marketing Cloud | | **AE alert: prospect gets new CRO** | Flow Builder on `avina_new_hire_signal` → Campaign → Outreach | | **Ad retargeting for recent web visitors** | Report on `avina_web_visit_signal` → Audience list in Advertising Studio | | **Upsell play when job listings spike** | Flow on `avina_job_posting_signal` → update custom *Upsell Probability* field | *** ### Best practices & FAQs | Question | Answer | | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | **Why a custom object instead of Tasks?** | Custom objects provide more flexibility for storing signal-specific data and enable better reporting and automation capabilities. | | **How fast do records appear?** | Near real-time. Most users see signal records within \< 2 minutes of the triggering event. | | **Can I customize the object structure?** | The initial setup uses a standardized structure for consistency. Contact support for advanced customization needs. | *** # Salesloft Integration Source: https://docs.avina.io/integrations/salesloft/overview Overview of the integration between Avina and Salesloft ## Overview The Salesloft integration is a bi-directional sync between Avina and your sales engagement platform. It ensures Accounts and Contacts stay enriched with the latest data, and lets Avina trigger Salesloft cadences automatically when signals fire. ## Purpose * Create and update **Accounts** and **Contacts** in Salesloft from Avina * Pull Salesloft engagement data (cadences, calls, email outcomes) into Avina to strengthen signals and account context * Allow Avina automations to **enroll prospects into Salesloft cadences** when high-intent signals are detected * Use Salesloft as a sending platform for the [Outbound Agent](/features/ai-sequences) ## How It Works * **Write:** * Accounts → created or enriched when Avina identifies new companies * Contacts → created or enriched when Avina detects new prospects * Automations → Avina can enroll contacts into specific Salesloft cadences when a signal meets your playbook rules * AI Sequences → when you create an AI Sequence in Avina with Salesloft as the sending platform, a corresponding cadence is created in Salesloft under the hood * **Read:** * Avina ingests Salesloft activity data, including email sends, opens, replies, calls, and cadence performance * This engagement data is used to enrich Avina signals, improve account prioritization, and power AI drafting ## Setup 1. Navigate to **Settings → Integrations** in Avina. 2. Select **Salesloft**. 3. Authenticate with your Salesloft account. 4. Save and test the connection. ## Use Cases ### Signal-triggered cadence enrollment When a high-intent signal fires (web visit, champion movement, re-engagement), an automation can enroll the prospect into a dedicated Salesloft cadence without manual routing. ### AI Sequences Use Salesloft as the sending platform for the [Outbound Agent](/features/ai-sequences). Your inboxes, sender reputation, and deliverability settings stay intact; Avina handles AI-powered drafting of each cadence step. ### Engagement-aware signal scoring Salesloft engagement (opens, replies, call outcomes) feeds back into Avina to refine account fit scoring and deprioritize prospects who are already engaged with your team. ## Supported Actions in Automations When building [automations](/features/automations), Salesloft supports the following destination types: * **Add to sequence:** enroll contacts in a specific Salesloft cadence * **Create lead/contact:** add new contacts discovered by signals ## Sync Behavior * **Initial sync:** Avina pulls historical engagement data (cadences, email sends, call outcomes) when first connected. * **Ongoing sync:** engagement events flow into Avina in near real-time; writes (enrollments, contact updates) happen immediately when an automation fires. * **De-duplication:** Avina matches contacts by email to prevent duplicates. # Slack Integration Source: https://docs.avina.io/integrations/slack/overview Connect Slack to receive real-time signal alerts and notifications from Avina ## Overview The Slack integration allows you to receive signal alerts directly in your Slack workspace. When signals are triggered, Avina will automatically send notifications to your configured Slack channels. ## Connecting Slack to Avina ### Step 1: Navigate to Integrations 1. Go to **Settings** in the left sidebar 2. Click on **Integrations** 3. Find the **Slack** card under "Alert Integrations" ### Step 2: Authorize Avina 1. Click **Connect** on the Slack integration card 2. You'll be redirected to Slack's authorization page 3. Select the Slack workspace you want to connect 4. Click **Allow** to grant Avina the necessary permissions Avina requests permissions to create channels, send messages, and invite users. These permissions are required to deliver signal notifications to your team. ### Step 3: Create Your Alerts Channel After authorizing Slack, you'll be prompted to create a channel for receiving alerts: 1. Enter a name for your alerts channel (default: `avina-alerts`) 2. Click **Add Slack Channel** 3. Avina will automatically: * Create the channel in your Slack workspace * Add the Avina bot to the channel * Invite you to the channel Once complete, you'll see a "Connected to Slack" confirmation message. ## Configuring Signal Notifications ### Default Workspace Channel By default, all signal alerts are sent to the channel you created during setup. You can change this default channel at any time: 1. Go to **Settings** → **Integrations** 2. Click on the Slack integration card 3. Update the **Alert Channel** field with your preferred channel name ### Per-Signal Channel Configuration You can configure individual signals to send notifications to different Slack channels: 1. Navigate to **Signals** and select a signal 2. Click the **bell icon** (🔔) in the header next to the options menu 3. Enter the Slack channel name where you want this signal's alerts to be sent 4. Click **Save** Make sure the channel exists in your Slack workspace and the Avina app is installed in the channel before configuring it. ## Adding Avina to Existing Channels If you want to send notifications to an existing Slack channel: ### Option 1: Add Avina to Slack Channel 1. Open the channel in Slack 2. Click the channel name to open channel details 3. Go to the **Integrations** tab 4. Click **Add apps** 5. Search for "Avina" and add it to the channel ### Option 2: Use the /invite command 1. Open the channel in Slack 2. Type `/invite @Avina` and press Enter After adding Avina to a channel, you can configure your signals to use that channel for notifications. ## Notification Format When a signal is triggered, Avina sends a notification that includes: * **Signal name:** The name of the triggered signal * **Company information:** Name, domain, and logo of the relevant company * **Signal details:** Description of what triggered the signal * **Timestamp:** When the signal was detected * **Quick actions:** Links to view more details in Avina ## Troubleshooting ### Notifications not appearing 1. **Verify the channel exists:** Make sure the channel name is spelled correctly 2. **Check bot membership:** Ensure Avina is added to the channel 3. **Confirm signal is active:** Only active signals send notifications ### Re-authorizing Slack If you need to reconnect Slack: 1. Go to **Settings** → **Integrations** 2. Click **Disconnect** on the Slack card (if available) 3. Click **Connect** to start the authorization flow again ## Required Permissions Avina requests the following Slack permissions: | Permission | Purpose | | ------------------ | ------------------------------ | | `channels:manage` | Create new channels for alerts | | `channels:join` | Join channels to send messages | | `chat:write` | Send signal notifications | | `users:read` | Look up users for invitations | | `users:read.email` | Match users by email address | ## Best Practices Create separate channels for signal categories if your process for handling those signals is differentiated by signal type. (ex. #avina-web-visits, #avina-new-hires) Name channels clearly so team members know what alerts to expect Only invite team members who need to see specific signals Configure Slack notification preferences to avoid alert fatigue. You can do this in the Avina dashboard (Settings → Notifications) # Smartlead Integration Source: https://docs.avina.io/integrations/smartlead/overview Overview of the integration between Avina and Smartlead. ## Overview The Smartlead integration connects Avina to your Smartlead account, enabling signal-triggered cold email campaigns through Smartlead's infrastructure. **Picking a cold-email tool?** [Instantly](/integrations/instantly/overview), [Lemlist](/integrations/lemlist/overview), and Smartlead are all supported as sending platforms for AI Sequences and as automation destinations. For Avina's purposes they are functionally equivalent — pick the one your team already uses and trusts for deliverability. ## Purpose * **Enroll contacts into Smartlead campaigns** from Avina automations * **Pull Smartlead engagement data** into Avina for signal enrichment * **Use Smartlead as a sending platform** for AI Sequences created in Avina ## How It Works ### Write * **Campaigns:** Avina automations can enroll contacts into Smartlead campaigns when signals fire. * **AI Sequences:** when you create an AI Sequence in Avina with Smartlead as the sending platform, the sequence is created in Smartlead under the hood. ### Read * Avina ingests Smartlead campaign data, including email sends, opens, replies, and bounces. * This data feeds into signal enrichment and account context. ## Setup 1. Navigate to **Settings > Integrations** in Avina. 2. Select **Smartlead**. 3. Enter your Smartlead API key. 4. Save and verify the connection. ## Supported Actions in Automations When building [automations](/features/automations), Smartlead supports: * **Add to sequence:** enroll contacts into a Smartlead campaign ## Sync Behavior * **Ongoing sync:** campaign activity syncs continuously. * **De-duplication:** contacts are matched by email to prevent duplicates. # Overview Source: https://docs.avina.io/introduction Avina documentation Avina Avina tells you which companies are in the market for what you sell, and gets your team in front of them before anyone else does. It helps you build dynamic audiences of high-intent leads and gets your name in front of them across multiple channels: 1-1 personalized AI emails, account-based marketing campaigns, CRM workflows, and more. We continuously monitor your entire TAM for buying intent, score every signal with AI, and trigger the right action so your team only spends time on accounts ready to buy. *** ## How Avina Works ### 1. Find every in-market lead Avina's [Signals Agent](/features/ai-signals-agent) continuously scans first-party, third-party, and web data to surface buying signals tailored to how your buyers behave. Describe the signal you want in plain language or choose from built-in signal types like web visits, new hires, job postings, champion moves, ad engagement, and more. ### 2. Qualify and prioritize The [Qualification Agent](/features/ai-qualification-agent) evaluates every signal against your Ideal Customer Profile, assigns ICP Fit grades (A-F), and uses AI to assess whether a signal meets your freeform qualification criteria. Your team only sees pre-qualified, high-intent leads. ### 3. Enrich contacts Avina auto-enriches contacts with verified emails, phone numbers, LinkedIn profiles, and firmographics using waterfall enrichment across multiple data providers. ### 4. Automate the next best action Build [automations](/features/automations) that trigger the moment a signal fires: enroll contacts in [sequences](/features/automations/sequences), add to [CRM lists](/features/automations/contact-lists), send to [webhooks](/features/automations/webhooks), or launch personalized outreach with the [Outbound Agent](/features/ai-sequences). ### 5. Integrate with your GTM stack Avina syncs bi-directionally with your CRM and sales tools. Discovered accounts and contacts are pushed automatically, and signal history is attached to every record so reps always have full context. *** ## AI Agents Avina is powered by three specialized AI agents that work together across the pipeline: Describe buying behavior in plain language and Avina builds a custom signal to detect it across the web, your CRM, and third-party sources. Evaluates every signal against your ICP and custom qualification criteria so only high-quality leads reach your team. Drafts personalized, multi-step outreach using signal context and sends through your existing sequencer. *** ## Signal Types Avina captures buying intent across a wide range of sources: Identify companies visiting your website, even anonymous traffic. Describe any buying behavior and let the Signals Agent find it. Detect when target companies hire into key decision-making roles. Surface listings that indicate budget or initiative alignment. Get notified when a past champion moves to a new company. Track who clicks your ads and what they do next. Spot dormant accounts that start engaging again. Monitor social mentions, funding rounds, and industry events. See when outbound emails drive website activity. Ingest signals from any vendor with a Slack feed. *** ## Integrations Out-of-the-box connectors for your sales and marketing stack: Plus [Lemlist](/integrations/lemlist/overview), [Smartlead](/integrations/smartlead/overview), and any webhook-friendly service. *** ## Getting Started Most teams get set up in under 30 minutes. For a step-by-step walkthrough — logging in, defining your ICP, installing the Web SDK, connecting integrations, and creating your first signal — see the [Quickstart Guide](/getting-started/quickstart). *** ## Core Concepts | Term | Description | | -------------- | --------------------------------------------------------------------------------------------- | | **Signal** | A scored, timestamped indicator of buying intent (web visit, job change, ad click, etc.) | | **Contact** | The person associated with a signal, enriched with email, phone, and firmographic data | | **Account** | The company a contact belongs to, scored against your ICP | | **Automation** | A rule that triggers an action (sequence enrollment, CRM update, webhook) when a signal fires | | **ICP Fit** | A letter grade (A-F) representing how closely an account matches your Ideal Customer Profile | *** ## Security & Compliance * SOC 2 compliant * Data encrypted **in transit (TLS 1.3)** and **at rest (AES-256)** * Role-based access controls and audit trails * Enterprise plans include SSO, custom data retention, and dedicated support # Credits Source: https://docs.avina.io/platform/credits How Avina's credit system works and what actions consume credits. Avina uses a credit-based system to meter signal and enrichment usage across your workspace. Understanding how credits work helps you plan your usage and get the most value from your account. ## What Are Credits? Credits are the unit of consumption in Avina. They are deducted when Avina surfaces a new signal lead or enriches a contact's data. Each workspace has a monthly credit allocation based on its plan tier. ### What Consumes Credits | Action | Credit Cost | | ---------------------- | --------------------------------------------- | | **Signal lead** | 1 credit per unique lead surfaced by a signal | | **Contact enrichment** | 1 credit per enrichment on that signal lead | A single signal that surfaces a new lead and enriches their contact data costs 2 credits total (1 for the lead + 1 for enrichment). *** ## Monitoring Usage Track your credit consumption in **Settings > Plan & Usage**. The usage dashboard shows: * **Credits used** this billing period * **Credits remaining** * **Usage trend** over time * **Breakdown by signal type:** see which signals consume the most credits *** ## Plan Tiers and Limits Each plan tier includes a monthly credit allocation. Contact your account manager or email [support@avina.io](mailto:support@avina.io) for details on plan tiers and pricing. *** ## When Credits Run Out When your workspace exhausts its monthly credit allocation: * **Active signals continue monitoring** but new leads are queued rather than delivered. * **Automations pause** until credits are replenished. * **Existing data remains accessible:** your feed, accounts, and contacts are unaffected. You can purchase additional credits or wait for your allocation to reset at the start of the next billing period. *** ## Tips for Managing Credits 1. **Prioritize high-value signals:** focus credits on signals that drive the most pipeline (e.g., pricing page visits, champion movement) rather than broad awareness signals. 2. **Use ICP fit filters:** configure your ICP tightly so Avina only surfaces and enriches leads that match your target profile, avoiding credit spend on low-fit accounts. 3. **Set signal frequency thoughtfully:** higher-frequency signals consume more credits. Start with moderate frequency and increase based on results. 4. **Monitor weekly:** check your usage dashboard regularly so you're never surprised by credit depletion mid-month. # Notifications Source: https://docs.avina.io/platform/notifications Configure when and how your team is notified of signals. Workspace-wide controls for how Avina delivers signal notifications to your team — in Slack and email. Changes made to these settings apply to the entire workspace. ## Tips & Tricks Enable **shorter messages** and disable **tagging** to reduce notification fatigue. Enable **direct messaging** to ensure your account owners never miss signals. ## Slack Notifications ### Send shorter messages When **enabled**, a signal's details (e.g. account score, reasoning, and additional context) are sent as a threaded reply to (rather than alongside) its summary. When **disabled**, a signal's details are sent alongside its summary. ### Direct message account owners Account owners are determined by the CRM(s) you integrate Avina with. When **enabled**, account owners receive direct messages about signals relevant to them. When **disabled**, messages are only sent to the channel configured in [Integrations](/integrations/introduction). ### Tag account owners When **enabled**, account owners are @mentioned in messages. When **disabled**, messages are sent without @mentions. ## Email Notifications ### Send daily digests When **enabled**, every user in your workspace will receive a daily summary of recent signals. When **disabled**, no digests are sent to your users. # Roles & Permissions Source: https://docs.avina.io/platform/roles-permissions User roles, workspace access controls, and team management in Avina. Avina uses role-based access controls to manage what each team member can see and do within your workspace. ## User Roles | Role | Description | | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Admin** | Full access to all workspace settings, integrations, billing, team management, and data. Can invite and remove users, change roles, and configure workspace-level settings. | | **Member** | Access to signals, feed, accounts, contacts, sequences, and automations. Cannot manage workspace settings, billing, or team membership. | *** ## Inviting Teammates Admins can invite new users to the workspace: 1. Navigate to **Settings > Team**. 2. Click **Invite Member**. 3. Enter the email address(es) of the people you want to invite. 4. Select a role (Admin or Member). 5. Send the invite. Invited users receive an email with a link to join the workspace. They'll need to create an Avina account if they don't already have one. *** ## Managing Team Members From **Settings > Team**, admins can: * **Change roles:** promote a Member to Admin or demote an Admin to Member. * **Remove users:** revoke a user's access to the workspace. Their historical activity (automations created, signals resolved) remains intact. *** ## What Each Role Can Do | Capability | Admin | Member | | --------------------------- | ----- | ------ | | View signals feed | Yes | Yes | | Create and edit signals | Yes | Yes | | Create and edit automations | Yes | Yes | | Create and edit sequences | Yes | Yes | | View accounts and contacts | Yes | Yes | | Manage integrations | Yes | No | | Configure notifications | Yes | No | | Manage domains | Yes | No | | Edit ICP / account scoring | Yes | No | | Manage billing and plan | Yes | No | | Invite and remove users | Yes | No | | Change user roles | Yes | No | *** ## Best Practices 1. **Limit Admin access:** only give Admin roles to people who need to manage integrations, billing, or team settings. 2. **Invite your full team:** the more reps using Avina, the faster signals get acted on. Members have full access to the signal workflow. 3. **Review access periodically:** remove users who have left the team or changed roles to keep your workspace clean. # Settings Source: https://docs.avina.io/platform/settings Configure your Avina workspace: integrations, notifications, scoring, domains, and team. The Settings page is your workspace control center. Access it from the sidebar or by navigating to **Settings** directly. ## Integrations Connect and manage your sales, marketing, and CRM tools. Each integration card shows its connection status and lets you authenticate, re-authenticate, or disconnect. See [Integrations Overview](/integrations/introduction) for the full list of supported tools and setup instructions. *** ## Notifications Configure how and when your team is notified about new signals. * **Slack notifications:** control message format, direct messaging, and account owner tagging. * **Email digests:** enable or disable daily signal summary emails for your workspace. See [Notifications](/platform/notifications) for detailed settings. *** ## Contact Filtering Define rules to exclude contacts from your signal pipeline. Use contact filters to: * Block internal employees from appearing as signal leads * Exclude competitors or known non-prospects * Filter out contacts by domain, title, or other attributes *** ## ICP & Personas ICP & Personas configuration is available on the **Growth** plan and above. Define and tune your Ideal Customer Profile (ICP) to control how Avina scores and prioritizes accounts. Configure: * **Target industries:** the verticals your product serves * **Company size:** employee count and/or revenue ranges * **Geography:** countries and regions you sell into * **Key personas:** job titles and roles you typically sell to * Additional firmographic criteria See [ICP & Fit Scoring](/features/icp-scoring) for a detailed explanation of how scoring works, and the [Qualification Agent](/features/ai-qualification-agent) for how signals are evaluated against your ICP. *** ## Product Info Tell Avina about your product so AI-generated content (signal summaries, email drafts, account research, qualification) is accurate and relevant. When you first set up your workspace, Avina scans your website to auto-populate: * **What your product does:** core functionality and use cases * **Key features:** the capabilities that matter most to buyers * **Who you sell to:** target buyers and personas * **Differentiators and value propositions:** how you position against alternatives You can review and edit every field. The more accurate your Product Info, the better Avina's AI performs at messaging, summarizing signals, and qualifying leads. *** ## Web Tracking Register the website domains where your SDK is installed. Only registered domains contribute data to your signal pipeline. See [Domain Validation](/sdk-reference/domain-validation) for setup and troubleshooting. *** ## Team Management Invite teammates, manage user roles, and control workspace access. * **Invite members** by email * **Assign roles:** Admin or Member * **Remove users** who no longer need access See [Roles & Permissions](/platform/roles-permissions) for details on what each role can do. # Configuration Source: https://docs.avina.io/sdk-reference/configuration Change tracking and form handling configuration in the SDK ### Manually tie a visitor to a known person Use `avina.identify()` to pass whatever identity details you already have (from a form fill, CRM lookup, etc.) so Avina can enrich the session and future signals with a real person instead of an “anonymous visitor”. > **When to call**\ > Wait until the Avina SDK is fully loaded on the page, after checking `window.avina` is defined. **Syntax:** ```javascript theme={null} avina.identify({ firstName: "string?", // Visitor's first name lastName: "string?", // Visitor's last name email: "string?", // Visitor's email ipAddress: "string?", // Override detected IP (rare) company: "string?", // Plain-text company name title: "string?" // Job title or role }); ``` **Best practices:** 1. **Call once per session** – Identify if you are certain of visitor information (it will override any de-anonymized information Avina has captured) 2. **Pass what you know** – Avina will accept partial pieces of information. 3. **Keep it client-side** – Don’t expose data you wouldn’t normally put in the browser. ### Handling forms embedded in iframes If you have forms embedded in iframes on your website and want Avina to track those forms, you'll need to add the Avina SDK to the site in the iframe, with session tracking ignored (see below). This will allow Avina to track the form fills on the page without recording a duplicate session. Platforms that use iframes for forms: **Salesforce Pardot:** You can add the Avina SDK in the Look & Feel menu when customizing your Pardot forms: ![](https://s3.amazonaws.com/helpscout.net/docs/assets/59499b792c7d3a0747ce0c73/images/5e5d2ae804286364bc9617ab/file-L3t4crBZ2r.png) ### Limiting page tracking By default the Avina SDK will track page session activity (views, time spent on page, % of page viewed and other event data) as well as form fill activity for any form on the page (automatically excluding sensitive fields). In some situations you may want to restrict the SDK from tracking either sessions, forms or both. **Ignoring Form-Fill Tracking** * In the event that you do not want Avina to automatically capture partial form fill data on your site, you can disable this form tracking by switching the forms key in the track settings at end of the script to false. When this is set, the end of your script should look like this: ```js Ignore Form-Fills theme={null} track:{session: true, forms: false} ``` **Ignoring Session Tracking** Use this setting if you are adding the Avina script to a form embedded in an iframe on your site. * If you would like Avina to ignore session data tracking and only track form fills on the page you can disable session tracking by switching the session key in the track settings at the end of the script to false. When this is set, the end of your script should look like this: ```js Ignore Sessions theme={null} track:{session: false, forms: true} ``` # Domain Validation Source: https://docs.avina.io/sdk-reference/domain-validation Ensure your SDK traffic is accepted by registering your website domains with Avina. Avina validates that incoming SDK traffic originates from domains you've explicitly registered. Traffic from unregistered domains is silently ignored. No error is returned, but the data is not processed. ## Why Domain Validation Exists Domain validation prevents unauthorized or accidental data ingestion. It ensures that only traffic from your actual website(s) contributes to your signal pipeline, protecting data quality and credit usage. *** ## Registering Domains To register a domain so Avina accepts its SDK traffic: 1. Navigate to **Settings > Web Tracking** in your Avina dashboard. 2. Click **Add Domain**. 3. Enter the full domain (e.g., `www.yourcompany.com` or `app.yourcompany.com`). 4. Save. Subdomains are treated separately. If your SDK runs on both `www.yourcompany.com` and `blog.yourcompany.com`, register both. *** ## Removing Domains To stop accepting traffic from a domain: 1. Go to **Settings > Web Tracking**. 2. Find the domain you want to remove. 3. Click **Remove** and confirm. Traffic from removed domains will be silently dropped going forward. Historical data from that domain remains in your workspace. *** ## Behavior for Unregistered Domains When SDK traffic arrives from a domain not registered in your workspace: * The request completes normally from the browser's perspective (no errors or broken pages). * **No data is recorded** : the session, page views, and form fills are silently discarded. * No credits are consumed. This is the most common reason for "missing" web visit data. If your SDK is installed but you're not seeing web visit signals, check that your domain is registered. *** ## Troubleshooting | Symptom | Likely Cause | Fix | | -------------------------------------- | ------------------------------------ | ---------------------------------------------- | | SDK installed but no web visit signals | Domain not registered | Add your domain in **Settings > Web Tracking** | | Signals work on main site but not blog | Subdomain not registered | Register the subdomain separately | | Signals stopped after domain migration | Old domain registered, new one isn't | Update your registered domains | # Introduction Source: https://docs.avina.io/sdk-reference/introduction Install the Avina Web SDK on your site to resolve IPs to accounts, capture UTMs, and de-anonymize visitors. The **Avina Web SDK** is a lightweight JavaScript tracker you install on your site to resolve IPs to accounts, capture UTM parameters, and de-anonymize visitors. Once installed, it powers web-based signals (web visits, ad engagement, outbound engagement, re-engagement) and attaches rich context to every identified session. **Who installs this:** typically a developer or marketing-ops admin with access to your site's HTML or Google Tag Manager. ### Insert the Avina SDK script tag Add the following to the footer of every page you'd like Avina to track. Make sure to replace the SDK key at the end of the script with the one in **Settings → Web SDK** of your Avina dashboard. If you use Google Tag Manager you can add this script directly in the Tag Manager console as a new tag. ```js Cookie-based Tracking theme={null} ``` # Ad Engagement Source: https://docs.avina.io/signals/ad-engagement-signals Identify people or companies that click your ads, enriched with post-click context. ### What is an Ad Engagement Signal? An **Ad Engagement Signal** alerts your team when someone clicks your ads, across any advertising platform, and identifies either the specific individual or the company they're from. Avina enriches this signal by providing context about the content they viewed and the subsequent actions they took, empowering your team to make informed and highly relevant outreach. ### Why Ad Engagement Signals Matter Ad Engagement Signals help your sales and marketing teams: * **Capitalize on Interest:** Immediately follow up on high-intent signals from ad interactions. * **Personalize Outreach:** Use detailed context from post-click activity to create tailored messages. * **Maximize Ad ROI:** Convert ad-driven engagement directly into meaningful sales conversations. ### Ideal Scenarios for Using Ad Engagement Signals * A known prospect clicks your ad and visits high-intent pages like pricing or product demos. * Contacts from key target accounts engage deeply with your ad campaigns. * Decision-makers show interest by interacting with specific solution-focused ads. ### High-Value Automated Plays Avina enables effective automated workflows with Ad Engagement Signals: * **Immediate Follow-Up Sequences:** Automatically add contacts who engage with ads to tailored email nurture sequences. * **CRM Automation:** Instantly create or update CRM contacts and assign timely follow-up tasks to sales reps. * **Contextual Slack Alerts:** Provide sales reps instant notifications via Slack, detailing what the contact clicked and viewed. * **Dynamic Ad Retargeting:** Quickly add engaged contacts into customized retargeting audiences based on their specific interests. * **Prioritized Engagement:** Automatically score and rank ad-engaged contacts to ensure reps prioritize the highest potential leads first. Avina ensures your team leverages ad engagement insights to maximize conversion opportunities. ### Contextual Messaging Examples **Email:** *Subject:* Resources related to your interests > Hi \[First Name], > > Hope you found our content helpful! Thought I'd share some additional insights that might align with your recent interests. Feel free to let me know if you have any questions. > > Best, \[Your Name] **LinkedIn Direct Message:** > Hi \[First Name], saw you explored some of our recent content. Happy to provide more context or answer any quick questions if needed. **Text (for warm contacts):** > Hey \[First Name], noticed you engaged with our recent ads. Let me know if you'd like more details or have any questions! ### Why Ad Engagement Signals Work Quickly engaging prospects who interact with your ads significantly improves your conversion rates and ad ROI. Avina automates the identification and enrichment of these valuable signals, enabling highly relevant and timely outreach. **Tag:** `avina_ad_engagement_signal` Picking between Web Visits, Ad Engagement, Outbound Engagement, and Re-engagement? See [Which engagement signal should I use?](/features/ai-signals-agent#which-engagement-signal-should-i-use) # Champion Movement Source: https://docs.avina.io/signals/champion-signals Notified when past product champions join ICP accounts in new decision-making roles. ### What is a Champion Movement Signal? A **Champion Movement Signal** notifies you when someone who previously used or advocated for your product moves into a new role at a company matching your Ideal Customer Profile (ICP). Avina automatically spots these job changes and cross-references them with your CRM, so you instantly know when valuable champions switch roles. ### Why Champion Movement Signals Matter Champion Movement Signals help sales and marketing teams: * **Speed Up Sales:** Champions already understand your value. * **Seize the Right Moment:** New roles mean new budgets and initiatives. * **Leverage Internal Advocates:** Champions help push decisions internally. ### When to Use Champion Movement Signals * A previous buyer or strong user joins a target account. * A past champion lands at an account you previously lost or stalled. * Your former advocate moves into a decision-making role. ### High-Value Automated Plays Clear, impactful workflows enabled by Champion Movement Signals, leveraging Avina to automate key actions: * **Warm Outbound Sequences:** Automatically enroll champions into personalized email sequences. * **CRM Task Automation:** Automatically create/update contacts and assign outreach tasks in your CRM. * **Smart Retargeting Ads:** Instantly add champions to targeted ad audiences. * **Immediate Social Connection:** Instantly notify reps via Slack with one-click LinkedIn outreach. * **Opportunity Revival:** Automatically reopen and prioritize deals when champions move into relevant accounts. Avina prioritizes signals automatically, ensuring reps focus on the highest-value actions first. ### Casual, Natural Messaging Examples **Email:** *Subject:* Congrats on the new role! > Hey \[First Name], > > Saw you joined \[New Company], congrats! Really enjoyed working with you at \[Previous Company]. If there's a chance to help again, let’s catch up soon. > > Cheers, \[Your Name] **LinkedIn Direct Message:** > Big congrats on the move to \[New Company]! Let me know if it makes sense to chat again. Would love to help if I can. **Text (for close contacts):** > Congrats on the new gig! Happy to help if you think \[Product] would be useful again. ### Why Champion Movement Signals Work Connecting with your past champions is one of the fastest ways to boost your pipeline. Avina makes it easy by spotting champion moves automatically, so you never miss the perfect moment to re-engage. **Tag:** `avina_champion_movement_signal` # AI Signals Source: https://docs.avina.io/signals/custom-ai-signals ## What Is an AI Signal? A AI Signal tracks **hard-to-detect buying triggers** by continuously monitoring the public web for specific, high-intent changes at companies in your Ideal Customer Profile (ICP). Unlike preset signals (like hiring or funding), Custom AI Signals allow you to define **exactly what “in-market” looks like for your product**. Avina’s AI agents then scan: * Company blogs and product updates * Feature and documentation pages * Earnings calls and investor transcripts * 10-Ks, SEC filings, and shareholder letters * Press releases and public announcements * Changelogs, roadmaps, and release notes * Community forums and public FAQs When your exact trigger appears, Avina captures it, verifies it, scores it, and routes it directly into your GTM workflows. You define the intent. Avina finds it at internet scale. *** ## Why Custom AI Signals Matter Most revenue teams rely on **generic, surface-level intent**. Custom AI Signals unlock **true buying context**: * **Uncover Invisible Buying Motion**\ Detect changes that never show up in traditional intent data. * **Replace Guesswork with Proof**\ Signals are pulled from verifiable, public sources. * **Precision Over Volume**\ Find fewer accounts, but with dramatically higher deal potential. * **Perfect Message–Market Fit**\ Outreach is grounded in something the buyer actually said or shipped. * **Category Creation Enablement**\ Ideal for new markets where no standard signal exists yet. *** ## Ideal Scenarios for Using Custom AI Signals * Your buyers show intent through **product changes, not ads** * Your ICP talks about problems in **earnings calls or filings** * Your category is **new or emerging** * You sell into **technical, operational, or compliance-heavy teams** * You need to detect **early-stage buying motion before vendors are shortlisted** *** ## Examples of High-Intent Custom AI Signals * A company announces it is: * “Exploring internal AI copilots” * “Replatforming its data infrastructure” * “Migrating off legacy security tooling” * “Overhauling customer support workflows” * “Building in-house fraud detection” * A product page launches: * “Beta AI assistant” * “New analytics layer” * “Developer API v2” * An earnings call mentions: * “Operational inefficiencies” * “Manual workflows at scale” * “Customer experience challenges” * A 10-K discloses: * New risk around data security, reliability, or compliance * Increased spend on software modernization These signals rarely exist in databases. Avina finds them anyway. *** ## How Custom AI Signals Work 1. **Signal Definition**\ You describe what an in-market trigger looks like in natural language. 2. **AI Monitoring**\ Avina deploys specialized agents to scan across thousands of public sources continuously. 3. **Verification & Scoring**\ Each signal is evaluated for: * ICP fit * Intent strength * Role and department relevance * Buying urgency 4. **Automated Routing**\ Signals flow directly into: * Slack * CRM * Sequences * Ad platforms * Internal dashboards *** ## High-Value Automated Plays Avina activates Custom AI Signals across your GTM stack automatically: * **Hyper-Personalized Outbound**\ Sequences dynamically reference the exact trigger that fired. * **Account Prioritization**\ Custom signals carry the highest weight in Avina’s Account Score. * **Real-Time Slack Alerts**\ Reps get notified the moment a verified trigger appears. * **CRM Enrichment & Routing**\ Accounts update automatically with signal context and urgency flags. * **Ad Retargeting**\ High-intent accounts flow directly into custom ad audiences. Custom AI Signals become your **highest-converting entry point into pipeline**. *** ## Tag `avina_custom_ai_signal` *** ## Natural, Strategic Messaging Examples ### Email **Subject:** Quick note after your \[announcement / update] Hi \[First Name],\ Saw the update your team shared about \[specific trigger]. Teams usually hit that moment right before they reassess tooling and workflows. If helpful, I’d be glad to share how others navigated that transition. Totally fine to reconnect later if timing isn’t right. Best,\ \[Your Name] *** ### LinkedIn Direct Message Just saw your team \[specific change]. That’s usually the point where a lot of tooling decisions get revisited. Happy to share what we’re seeing if useful. *** ## Why Custom AI Signals Win Custom AI Signals unlock demand **before buyers ever raise their hand**. While traditional intent reacts to behavior, Avina reacts to **change itself**. By monitoring what companies: * announce * ship * struggle with * disclose Avina puts your team **inside real buying conversations before competitors even know a deal exists**. # Job Posting Signals Source: https://docs.avina.io/signals/job-posting-signals ## What Is a Job Posting Signal? A Job Posting Signal tracks when companies in your Ideal Customer Profile (ICP) publish new job openings that indicate **active investment, expansion, or emerging operational gaps**. Avina continuously monitors job boards and career pages to detect these postings in real time and maps them to revenue-relevant use cases so your team can engage while urgency is high. Rather than treating hiring as generic activity, Avina interprets **why** a role is being hired and what it signals about buying intent. *** ## Why Job Posting Signals Matter Job Posting Signals give your sales team powerful early context into a company’s priorities and momentum: * **Hidden Buying Triggers**: Hiring often precedes platform changes, tooling upgrades, and vendor evaluation. * **Perfect Timing**: Catch teams during build phases, before workflows are locked in. * **Sharper Targeting**: Message based on the exact problem implied by the role. * **Higher Intent Leads**: Hiring signals budget allocation and operational urgency. *** ## Ideal Scenarios for Using Job Posting Signals * A company hires for a role directly tied to your solution\ (e.g., RevOps, Security, Data, AI, Support, Infra) * A fast-growing team is scaling a function you sell into * A company is modernizing infrastructure, customer experience, or internal tooling * You want to prioritize accounts showing **real operational motion**, not just vanity engagement *** ## High-Value Automated Plays Avina activates Job Posting Signals across your entire GTM motion: * **Warm Outbound Sequences**\ Automatically enroll accounts into personalized outreach based on the role they’re hiring for. * **CRM Automation**\ Instantly create or update accounts with inferred buying intent and assign ownership. * **Ad Audience Building**\ Auto-sync hiring-based audiences into LinkedIn and Google for early brand exposure. * **Slack Alerts**\ Real-time notifications when high-fit accounts post relevant roles. * **Account Scoring & Prioritization**\ Weight job postings based on role seniority, urgency indicators, and ICP fit. Avina ensures your team acts on hiring signals the moment they matter. *** ## Examples of High-Intent Job Posting Signals * “Hiring a Director of RevOps” → CRM, data pipeline, or GTM tooling evaluation * “Staff Security Engineer” → Security posture modernization * “AI Product Manager” → Internal AI deployment planning * “Customer Support Operations Lead” → Support tooling and CX optimization * “Head of Data Infrastructure” → Warehouse, analytics, and data platform rebuild *** ## Tag `avina_job_posting_signal` *** ## Natural, Strategic Messaging Examples ### Email **Subject:** Saw you’re building out \[team / function] Hi \[First Name],\ Noticed you’re hiring for a \[Role] at \[Company Name]. Teams usually make that move when they’re laying the foundation for their next phase of growth. If helpful, I’d be glad to share how similar teams handle \[specific challenge tied to role]. Totally happy to reconnect later if timing isn’t right. Best,\ \[Your Name] *** ### LinkedIn Direct Message Saw you’re hiring for a \[Role] at \[Company Name]. That’s usually a fun but messy growth phase. Happy to share what we’re seeing across other teams scaling this function if useful. *** ## Why Job Posting Signals Work Job postings reveal **what’s being built before vendors are selected**. Unlike surface-level intent, hiring reflects **real internal priorities, budgets, and execution plans**. Avina transforms raw hiring data into structured buying signals, automatically routes them into your workflows, and ensures your team reaches prospects **at the exact moment they become high-intent**. # New Hire Signal Source: https://docs.avina.io/signals/new-hire-signals Track when ICP accounts hire into decision-making roles you target. ### What is a New Hire Signal? A **New Hire Signal** tracks when companies in your Ideal Customer Profile (ICP) hire individuals into key decision-making roles. Avina identifies these hiring events automatically, capturing the relevant roles based on job titles you've prioritized, enabling your sales team to proactively engage before vendor decisions are finalized. ### Why New Hire Signals Matter New Hire Signals provide your sales team with critical advantages: * **Early Opportunity Capture:** Engage decision-makers before they've committed to competitors. * **Strategic Timing:** Identify ideal outreach windows (typically 3-6 months into a role). * **Targeted Outreach:** Tailor conversations based on the known priorities of newly hired decision-makers. ### Ideal Scenarios for Using New Hire Signals * A target company hires a key decision-maker (VP, Director-level roles). * Your product/service aligns closely with the responsibilities of newly hired roles. * Early engagement to influence vendor selection and build relationships proactively. ### High-Value Automated Plays Avina helps execute strategic plays leveraging New Hire Signals: * **Warm Outbound Sequences:** Automatically schedule outreach sequences timed to engage decision-makers after they've settled into their new roles. * **CRM Automation:** Instantly create or update CRM records for newly hired contacts, setting timed follow-up tasks. * **Ad Audience Building:** Auto-add new hires to tailored ad audiences for early-stage brand awareness. * **Timed Slack Alerts:** Schedule reminders in Slack prompting reps to engage at optimal moments after hiring. * **Prioritized Prospecting:** Score and prioritize new hire engagements based on the seniority and role relevance. Avina automates and prioritizes these workflows, ensuring outreach occurs at the most strategic times. **Tag:** `avina_new_hire_signal` ### Natural, Strategic Messaging Examples **Email:** *Subject:* Settled in? Resources for your new role > Hi \[First Name], > > Hope you're settling into your role at \[Company Name]. When you're ready, I'd love to share some resources around \[relevant topic or challenge] that could help you hit your goals. > > Let me know if now's a good time or if we should reconnect later. > > Cheers, \[Your Name] **LinkedIn Direct Message:** > Congrats on the new role at \[Company Name]! Once you've settled in, I’d be happy to chat about how we've helped others in similar roles succeed. **Text (for familiar contacts):** > Hey \[First Name], congrats on the new position! When you're ready, let's reconnect: I have some resources that might help. ### Why New Hire Signals Work Early and strategic engagement with decision-makers ensures you're part of their vendor selection process from the start. Avina automatically surfaces these hiring insights, enabling precise, impactful outreach to drive pipeline growth. # Outbound Engagement Source: https://docs.avina.io/signals/outbound-signals Attribute post-outbound website activity when email pixels fail. ### What is an Outbound Engagement Signal? An **Outbound Engagement Signal** helps you identify when your outbound communication, like emails or sequences, drives actual interest and behavior, even when traditional tracking pixels fail. Avina analyzes the timing between sent emails and subsequent website activity to infer engagement, giving you high-fidelity visibility into how prospects are interacting with your outbound efforts. ### Why Outbound Engagement Signals Matter Outbound Engagement Signals solve a key visibility gap: * **Fix Broken Attribution:** Traditional email pixels often fail due to privacy blockers. Avina makes engagement observable again. * **Validate Campaign Effectiveness:** See which messages and sequences are actually driving traffic and interest. * **Improve Follow-Up Timing:** Know when to engage or re-engage based on real behavior, not just opens or clicks. ### Ideal Scenarios for Using Outbound Engagement Signals * A prospect receives an outbound email and visits your website within a short window afterward. * You want to know which outreach sequences are resonating with specific buyer personas. * You need visibility into silent engagement: prospects who click and browse but don’t reply yet. ### High-Value Automated Plays Avina makes it easy to act on outbound engagement with precision: * **Silent Interest Workflow:** Outbound email sent → Website visit detected shortly after → Auto-create task for rep to follow up → Slack alert with context. * **Sequence Optimization:** Aggregate outbound-to-website patterns to improve which messaging drives action. * **Follow-Up Sequences:** Enroll silent engagers into light-touch, value-driven follow-ups based on what pages they viewed. * **CRM Attribution Tags:** Automatically tag deals or leads with outbound engagement metadata for better reporting. * **Prioritization Rules:** Score outbound traffic sources so reps focus first on signals most likely to convert. Avina helps your team focus on real outbound-driven behavior, not guesses or incomplete data. ### Contextual Messaging Examples **Email:** *Subject:* Following up with something useful > Hi \[First Name], > > Noticed you were digging into some of our resources recently. Thought I’d follow up with a few that might be helpful. Let me know if you'd like to explore further. > > Best, \[Your Name] **LinkedIn Direct Message:** > Hey \[First Name], looks like our recent note sparked some interest. Happy to send more details or chat if it’s a good time. **Text (for familiar contacts):** > Hey \[First Name], glad you had a chance to explore a bit after our message. Let me know if you want to dive deeper. ### Why Outbound Engagement Signals Work When attribution breaks, opportunity disappears. Avina restores visibility into your outbound efforts, helping your team respond to interest with better timing, better context, and higher confidence. **Tag:** `avina_outbound_signal` Picking between Web Visits, Ad Engagement, Outbound Engagement, and Re-engagement? See [Which engagement signal should I use?](/features/ai-signals-agent#which-engagement-signal-should-i-use) # Re-engagement Source: https://docs.avina.io/signals/reengagement-signals Detect when stalled or dormant accounts re-engage with your digital assets. ### What is a Re-engagement Signal? A **Re-engagement Signal** notifies you when prospects or contacts from previously stalled or inactive accounts show renewed interest or activity, such as engaging with your website, content, ads, or other digital assets. Avina automatically identifies these re-engagement actions, enriching the information with context to help your team reach out at exactly the right moment. ### Why Re-engagement Signals Matter Re-engagement Signals enable your team to: * **Revive Opportunities:** Quickly reactivate stalled or dormant deals, especially when prospects become open to reconsideration due to shifts in internal projects or new budget availability. * **Capture Renewed Interest:** Engage at the precise moment when prospects re-enter the buying cycle, allowing you to re-establish your solution before competitors do. * **Personalize Conversations:** Utilize detailed re-engagement context to craft targeted and timely outreach, making your conversations highly relevant and effective. ### Ideal Scenarios for Using Re-engagement Signals * A prospect revisits pricing, demo pages, or high-value resources after a period of inactivity. * An inactive lead begins interacting again with your marketing emails or ad campaigns. * A former customer or previously lost opportunity shows renewed digital engagement. ### Creative, High-Value Automated Plays Avina helps you leverage Re-engagement Signals effectively with creative workflows: * **Deal Revival Workflow:** Re-engagement detected → Auto-reopen CRM deal → Assign follow-up task to the original rep → Notify via Slack. * **Warm-Up Sequence:** Immediately add re-engaged contacts to personalized email drip campaigns tailored to their renewed interests. * **Intent-Based Ad Targeting:** Instantly include re-engaged contacts into dynamic ad retargeting based on specific engagement context. * **Personalized Slack Notifications:** Provide detailed Slack alerts to reps highlighting context-rich actions like page visits, content downloads, or interactions. * **Priority Follow-Up Queue:** Automatically score and prioritize re-engagement actions so reps can focus on the highest-impact contacts first. Avina ensures timely and strategic engagement by automating these impactful workflows. ### Contextual Messaging Examples **Email:** *Subject:* Checking in – updated resources for you > Hi \[First Name], > > Thought I'd reach out with some recent updates and resources relevant to our last conversation. Let me know if it makes sense to reconnect! > > Best, \[Your Name] **LinkedIn Direct Message:** > Hey \[First Name], noticed you're checking out some of our recent content. Happy to catch up and answer any questions you might have. **Text (for warmer contacts):** > Hi \[First Name], saw you recently engaged with our latest content. Let me know if you'd like a quick chat! ### Why Re-engagement Signals Work Acting promptly when prospects show renewed interest significantly improves your chances of conversion. Avina's automated detection and contextual outreach ensure you never miss these valuable opportunities. **Tag:** `avina_reengagement_signal` Picking between Web Visits, Ad Engagement, Outbound Engagement, and Re-engagement? See [Which engagement signal should I use?](/features/ai-signals-agent#which-engagement-signal-should-i-use) # Social & News Signals Source: https://docs.avina.io/signals/social-news-signals Detect funding announcements, product launches, events, and relevant LinkedIn activity. ### What are Social & News Signals? **Social & News Signals** alert you when key contacts or target accounts engage in meaningful social activities or newsworthy events. Avina automatically tracks and identifies relevant LinkedIn posts mentioning keywords or topics you care about, planned event attendance, funding announcements, product launches, and other impactful news updates. ### Why Social & News Signals Matter Social & News Signals empower your team to: * **Proactively Engage:** Connect ahead of events or shortly after important announcements. * **Strategically Align:** Tailor outreach to prospects’ specific interests or immediate priorities. * **Gain Competitive Edge:** Spot relevant opportunities early, before competitors do. ### Ideal Scenarios for Using Social & News Signals * Prospects announce attendance at industry events you're planning to attend, allowing you to pre-book meetings. * Key contacts discuss specific pain points or topics relevant to your solution. * Companies announce new funding, indicating potential budget availability. * Product launches or expansions create new opportunities for your offering. ### High-Value Automated Plays Avina helps leverage Social & News Signals through automated, strategic workflows: * **Event-Driven Meetings:** Auto-identify event attendees → Add them to targeted outreach sequences → Schedule pre-event meetings. * **Funding Announcement Follow-up:** Identify funding signals → Auto-create CRM contacts or tasks → Prompt reps for timely outreach. * **Topic-Based Outreach:** Auto-track mentions of keywords/topics → Enroll contacts in relevant, personalized email sequences. * **Real-Time Slack Alerts:** Instantly notify reps via Slack when relevant events or social activities occur, providing actionable context. * **Competitive Advantage Queue:** Automatically score and prioritize social and news signals to focus reps on high-value opportunities first. Avina automates timely, strategic interactions to help you capitalize on these valuable signals. ### Contextual Messaging Examples **Email:** *Subject:* Excited about \[Event or News]! > Hi \[First Name], > > Saw the news about \[event, funding, launch, etc.]. Congrats! Thought it might be a great time to reconnect and explore how we can support your new initiatives. > > Best, \[Your Name] **LinkedIn Direct Message:** > Hey \[First Name], saw your recent post about \[topic/event]. We’re also planning to attend. Would love to grab a quick coffee or meeting if you're interested! **Text (for warm contacts):** > Hi \[First Name], congrats on the news! Let me know if you’d like to chat briefly about how we might help. ### Why Social & News Signals Work Responding quickly and contextually to social activities and relevant news dramatically enhances your engagement success. Avina automates capturing these signals, ensuring your outreach is perfectly timed and highly relevant. **Tag:** `avina_social_activity_signal` # Third-Party Slack Signals Source: https://docs.avina.io/signals/third-party-slack-signals Turn alerts from any Slack-connected vendor into Avina signals and automations. ### **What is a Third Party Slack Signal?** A **Third Party Slack Signal** lets Avina ingest intent or engagement data that another vendor posts directly into a Slack channel you control. For example, if your team receives ZoomInfo Intent alerts in #zoominfo-feed, or G2 Buyer Intent pings in #g2-intent, simply point Avina at that channel. From that moment on, every message that lands there is parsed by Avina’s AI, enriched, scored, and surfaced alongside your other signals, effectively turning **any provider with a Slack feed into a native Avina integration**. Common sources include ZoomInfo Intent, G2 Buyer Intent, Bombora Company Surge, BuiltWith signal digests, CB Insights events and trends, and even custom webhook bots your RevOps team has built. ### **Why Third Party Slack Signals Matter** * **One Unified View:** Reps no longer bounce between vendor portals. Every signal appears in Avina's Signals Feed with full context, AI-assisted account research, and AI-drafted outreach. * **Contextual Scoring:** Any single signal (such as a ZoomInfo intent surge) is more meaningful when Avina layers on recent marketing engagement, open opportunities, and ICP fit analysis to produce an AI-driven account score. * **Infinite Extensibility:** As long as a provider can post to Slack, you can harness its data in Avina without waiting for roadmap-level integrations. * **Faster Time-to-Value:** Set-up is minutes, not weeks; no APIs, ETLs, or engineering tickets required. ### **Scenarios for Using Third Party Slack Signals** * Your intent vendor offers Slack notifications but no robust API. * Ops wants to prototype a new data source before committing to a long-term integration. * You need to combine niche signals (e.g., GDPR compliance tech adoption from BuiltWith) with broader intent to refine targeting. * Field reps live in Slack and already subscribe to multiple vendor channels. ## **Integration & Setup Guide** 1. **Send data to Slack** E.g. Configure ZoomInfo to post intent alerts to #zoominfo-feed. 2. **Include rich payloads** Each message should contain: * **Company name and domain** * **Signal description** (e.g., "Topic interest: Revenue Intelligence" or "G2 reviews page view") * **Optional:** relevant contacts, emails, titles, or URLs. More data → better summarization and signal scoring. 3. **Tell Avina where to listen** In Avina, navigate to **Settings → Signals**, enter the channel name and choose or type the provider name. That's it! Need help? Ping the Avina team; that’s it! Once connected, every new Slack message is: * **Parsed** by Avina’s AI to extract the signal and related entities. * Then, like every other signal: * **Qualified** based on your ICP fit criteria. * **Enriched** with contact information and firmographics, if missing. * **Scored** within the full account context. * **Routed** to the Signals Feed, Slack alerts, sequences, and your CRM. ## **High-Value Automated Plays** * **Instant Warm Outbound:** Auto-enroll matching contacts into sequences citing the exact intent topic pulled from the Slack message. * **Focus Lists in CRM:** Automatically tag accounts with \[ZoomInfo Intent] and prioritize them on rep dashboards. * **Real-Time Slack Alerts:** Forward high-intensity spikes to AE-specific channels with one-click “Create Task” buttons. * **Cross-Signal Compound Scoring:** Boost account score weightings when a Third Party Slack Signal lands within 7 days of website pricing-page visits. * **Ad Audience Sync:** Drop companies into a “High Intent – Third Party” segment for targeted LinkedIn or GDN retargeting. ### **Context-Focused Messaging Examples** **Email** In response to a surge in “pipeline forecasting & deal-risk” intent topics: > *Subject:* Reducing forecast blind spots > > Hi \[First Name], > > Teams like Acme Robotics cut unknown pipeline by 23 % after blending early intent cues into their CRM. I’ve distilled the playbook into a 2-page brief. > > Happy to send it over or walk you through the highlights, whichever’s easier. > > Best, > > \[Your Name] ### **LinkedIn DM** In response to an account-level push on \[Initiative] (e.g., new job posts + intent surge): > Hi \[First Name], noticed \[Company] doubling down on **\[Initiative]** this quarter. I have a one-pager on how peers streamline hand-offs between Marketing Ops and Sales using light automation. > > Want a copy (no form fill)? Always up for swapping RevOps notes. ### **SMS / Text** In response to a Bombora Company Surge, account spiked on “sales forecasting accuracy” research: > Hi \[First Name]:\[Your Name] here from Avina. Just emailed you a 2-page cheat sheet on shortening discovery cycles in RevOps that I thought could be helpful. Happy to dive in if you want to look at it together! ### **Why Third Party Slack Signals Work** Combining vendor-level intent with Avina’s holistic account view turns scattered pings into rich, prioritized actions. Teams strike while interest is genuine, armed with complete context, and never miss a hidden surge in demand, no matter where the data originates. ## **CRM Integration Details** **CRM Activity Tag:** `avina_third_party_slack_signal` # Web Visit Signal Source: https://docs.avina.io/signals/web-signals Identify ICP visitors on your website with enriched context and location awareness. ### What is a Web Visit Signal? A **Web Visit Signal** alerts you when contacts from companies matching your Ideal Customer Profile (ICP) visit your website. Avina automatically identifies these visitors, enriching their profiles by cross-referencing against your CRM and capturing valuable context such as actions like screenshots taken, content copied, and other meaningful interactions, helping you tailor your outreach effectively. ### Why Web Visit Signals Matter Web Visit Signals empower your sales and marketing teams to: * **Capture Intent Early:** Immediately spot when prospects show real interest. * **Personalize Engagement:** Use detailed visitor context (screenshots, copied content, etc.) to inform your outreach. * **Improve Conversion Rates:** Engage at the perfect moment with relevant and personalized messaging. ### Ideal Scenarios for Using Web Visit Signals * Prospects taking detailed actions like screenshotting product features or copying pricing information. * Contacts exploring specific product pages indicating strong buying intent. * Visitors from target accounts interacting repeatedly with high-value content. ### High-Value Automated Plays Avina enables impactful automated workflows using Web Visit Signals: * **Warm Outbound Sequences:** Auto-enroll visitors into personalized email sequences leveraging captured website interactions. * **CRM Task Automation:** Automatically create or update CRM contacts, assigning targeted follow-up tasks based on visitor actions. * **Smart Retargeting Ads:** Instantly add engaged visitors to specific retargeting ad audiences. * **Real-Time Alerts:** Immediately notify your reps via Slack with detailed context (like screenshots or copied text) to prompt effective outreach. * **Prioritized Engagement:** Score interactions to ensure reps engage with the most promising visitors first. Avina ensures your team always acts on the highest-priority signals first. ### Context-Focused Messaging Examples **Email:** **Subject:** Resources to help with your research > Hey \[First Name], > > Thought you might appreciate some extra resources around \[specific topic or feature], given your recent interest. If you have any questions or want to discuss how this applies to \[Company Name], feel free to reach out! > > Cheers,\ > \[Your Name] **LinkedIn Direct Message:** > Hi \[First Name], noticed you might be exploring \[topic or solution]. Happy to send some useful insights or answer questions to support your research. **Text (for engaged prospects):** > Hi \[First Name], sharing some quick insights around \[topic/feature]. Happy to chat further if you have questions! ### Location-Aware ICP Matching Avina uses visitor location, derived from their IP address, to enhance Web Visit Signals in two ways: 1. **Geographically relevant contacts**: When de-anonymizing a web visitor, Avina factors in their location to find the most relevant ICP contacts at the visiting company. If a visitor is browsing from London, Avina prioritizes contacts based in or near that region. 2. **Location display**: Signal notifications (in Slack, email, and your feed) now include a **Location** line showing where the visitor is based (e.g., "San Francisco, CA" or "London, UK"). This helps your team tailor outreach and understand regional interest patterns. *** ### Why Web Visit Signals Work Using detailed visitor actions to tailor your outreach significantly boosts your engagement and conversion rates. Avina captures these valuable signals automatically, so you can engage your ICP contacts at the perfect moment, every time. **Tag:** `avina_web_visit_signal` Picking between Web Visits, Ad Engagement, Outbound Engagement, and Re-engagement? See [Which engagement signal should I use?](/features/ai-signals-agent#which-engagement-signal-should-i-use) # Troubleshooting Source: https://docs.avina.io/support/troubleshooting Common issues and how to resolve them. ## Signals ### "Why isn't my signal firing?" If you've activated a signal but aren't seeing results in your feed: 1. **Check your ICP configuration:** signals only surface accounts that match your ICP. If your ICP is too narrow, fewer accounts qualify. Review your settings in **Settings > ICP & Personas**. 2. **Wait for processing:** after activation, signals can take up to a few hours to start appearing. The preview during setup skips ICP grading for speed, but your live feed applies full scoring. 3. **Verify your filters:** overly restrictive filters (e.g., very specific job titles or niche industries) can reduce signal volume to near zero. Try broadening your filters and re-previewing. 4. **Check credit balance:** if your workspace has exhausted its monthly credits, new signals are queued but not delivered. Check **Settings > Plan & Usage**. ### "Why do I see signals in preview but not in my feed?" The preview skips time-consuming steps like ICP grading and deduplication to give you a quick sense of signal breadth. Your live feed applies full scoring, which may filter out accounts that don't meet your ICP threshold. ### "My signal is showing duplicate accounts" Avina deduplicates signals by account. If you're seeing what appears to be duplicates, they may be: * Different signal types from the same account (e.g., a web visit AND a new hire at the same company) * Signals from different time periods that are both still active in your feed Use the **Resolve** action to clear signals you've already acted on. *** ## Web SDK ### "SDK is installed but I'm not seeing web visit signals" 1. **Check domain registration:** your website domain must be registered in **Settings > Web Tracking**. Traffic from unregistered domains is silently dropped. See [Domain Validation](/sdk-reference/domain-validation). 2. **Verify the script is loading:** open your browser's developer console and check for the `mesh-analytics-sdk` script. Ensure it loads without errors. 3. **Check your SDK key:** the script must include your workspace's SDK key. Find it in **Settings > SDK**. 4. **Confirm tracking settings:** if `track: { session: false }` is set, session data won't be captured. See [SDK Configuration](/sdk-reference/configuration). ### "Form fills aren't being tracked" Ensure `track: { forms: true }` is set in your SDK configuration. If your forms are embedded in iframes, add the SDK to the iframe page with `track: { session: false, forms: true }`. See [Handling Forms in Iframes](/sdk-reference/configuration#handling-forms-embedded-in-iframes). *** ## Integrations ### "My integration shows as connected but data isn't syncing" 1. **Re-authenticate:** OAuth tokens can expire. Go to **Settings > Integrations**, disconnect, and reconnect the integration. 2. **Check permissions:** ensure the authenticated user has sufficient permissions in the connected tool (e.g., admin access for CRM integrations). 3. **Wait for initial sync:** the first sync after connecting can take several hours as Avina backfills historical data. ### "Some integration options are greyed out in automations" Disconnected integrations appear as disabled options with a **Connect** link. Click the link to navigate to **Settings > Integrations** and set up the connection. Once connected, the option becomes available. *** ## Automations ### "My automation isn't triggering" 1. **Check the trigger signal:** ensure the signal the automation is tied to is active and firing. 2. **Review your filters:** automation filters may be too restrictive. Check CRM field filters and ICP fit thresholds. 3. **Check automation status:** make sure the automation is set to **Active**, not **Paused**. 4. **Check destination connection:** if the destination integration (e.g., Outreach, HubSpot) is disconnected, the automation cannot execute. ### "Contacts are being filtered out of my automation" Check the automation's enrollment history to see why contacts were filtered. Common reasons: * ICP fit score below threshold * CRM field doesn't match filter criteria * Contact was already enrolled in the same sequence (deduplication) *** ## Enrichment ### "Contact data is missing or incomplete" Avina uses a waterfall enrichment approach. Multiple data providers are queried in sequence. Some contacts may not have complete data if: * The prospect has a limited online presence * The company is very small or newly founded * The email domain is personal (Gmail, Yahoo) rather than corporate Enrichment data refreshes periodically as new sources become available. *** ## Still Need Help? Contact us at [support@avina.io](mailto:support@avina.io) or use the in-app messenger for real-time assistance.