Skip to main content

Nock

com.usenock/nockVersion 1.0.0

Brazilian B2B prospecting: buying signals, company and people search, enrichment and outreach.

Status

Responds1022 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:21 UTC
Latency
1022 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://api.usenock.com/mcpResponds1022 ms
No sign-in

Claude Code

claude mcp add --transport http nock https://api.usenock.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: nock
Remote MCP server URL: https://api.usenock.com/mcp

Cursor

{
  "mcpServers": {
    "nock": {
      "url": "https://api.usenock.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"nock","type":"http","url":"https://api.usenock.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

99 tools

Tools of Nock
Read-only
Idempotent
Open world
accept_received_invitationAccepts ONE LinkedIn connection request that the user's connected LinkedIn account received. It acts on the user's own LinkedIn account and runs only with confirmed true. One invitation per call.NoNoYesYes
activate_outreach_campaignActivate the automatic cadence of ONE draft campaign. Fills the campaign's cadence template with each person's name, company, role and signals into its steps (by default a LinkedIn connection and message first, then e-mail, alternating) and sends them through the selected connected Gmail, LinkedIn and/or WhatsApp accounts. When several accounts are connected on a channel, the account id for that channel is required. A reply stops the person's remaining steps. Activating can send messages immediately when inside the business window. When the campaign has people whose messages come from an earlier version of the template (messagesOutdated), activating first writes those people's messages again and then activates; rewrittenBeforeActivation in the result reports it.YesNoNoYes
activate_prospect_channelLook up the missing work e-mail (channel email) or LinkedIn profile (channel linkedin) of ONE person in a campaign and, when one is found, turn that channel on in the person's cadence. This call sends nothing; the cadence sends on its schedule. Charges enrichment credits only when a contact is found.YesNoNoYes
add_cadence_ruleSaves one workspace rule for how messages read, in the user's words: tone, wording, language, what never to claim, price, links, what to say first (e.g. "nunca fale de preço na primeira mensagem", "sempre em português", "não cite concorrentes"). Every cadence written afterwards follows it; existing cadences change only when rewritten. The number of steps, their days and channels are campaign settings, not rules. Free.NoNoYesNo
add_enrichment_to_sheetAdds and configures one field-specific enrichment column in a sheet the user owns. Inputs are bound to stable column ids, matching exact labels and source keys automatically. When no safe binding exists, it returns the available columns and adds nothing; a retry with inputBindings sets the binding. It configures the column but does not run it, so it spends no credits.NoNoYesNo
add_knowledge_documentAdd a text document to the workspace (a pitch, a case, a price list) so campaigns can use it.NoNoNoNo
add_prospects_to_campaignAdd people from a people sheet to an existing campaign. Fills the campaign's cadence template with each person's name, company, role and signals. Skipped: rows already in the campaign; people the user's connected CRM already has (the result's crmKnown, with crmKnownReason saying how many and why); and people the user removed from this campaign before (the result's removedBefore, with removedBeforeReason saying how many and who), unless includeRemoved is true. Every row asked for is added in this one call (up to 1000, in batches of 25); a campaign has no size limit. Without rowIds, adds the sheet's people rows not yet in the campaign. Only adds people already in a sheet; it does not search for new people. Ids must be exact; none are guessed.NoNoYesNo
add_rows_to_sheetAdd rows to ONE specific enrichment sheet owned by the authenticated user, by its exact sheetId. People and company search results can be passed exactly as returned; nested objects become flat columns. Keys may be stable column ids, semantic keys such as fullName/companyDomain, exact renamed column labels, or new field names. New fields become referenceable columns; matching people/companies keep their existing values while empty cells are completed from the new payload. Unchanged duplicates are skipped. The result includes the exact ids and labeled values of every newly added row so they can be used immediately.NoNoNoNo
adjust_outreach_cadenceChanges how ONE campaign's messages read from one sentence of the user ('não fala de preço na primeira mensagem', 'mais curto', 'sem link na primeira', 'muda o tom para mais direto') and writes its template again in the same shape, now (it takes a few seconds). The people's steps not sent yet take the new template; nobody's messages are written again until a rewrite is requested (messagesNext in the result says how); sent messages and hand-edited ones stay. What the instruction teaches about how messages read is kept by default: rules takes the style part of the instruction as one to three short imperative sentences in the user's words that hold for any campaign ('Abra com uma pergunta de sondagem.', 'E-mails com até cinco frases.'), saved as workspace cadence rules (de-duplicated) so every campaign written afterwards follows them; the result's keptRules says which were kept. campaignOnly true when the instruction is only about this campaign's own content (its offer, a subject line, a case, its audience): nothing is kept beyond it. forAll true saves it only as a workspace rule, not on the campaign. Free. Nothing is sent. Not meant for a campaign draft still being created in the web app's chat flow, which has its own draft editor.YesNoNoNo
ai_columnGenerate ONE terse value (a few words / one line) for a row, given that row's known fields and a natural-language instruction — the same "Usar IA" column available in Nock. Use for classification/extraction/summarization into a single cell. A question about facts of the row's company or person (sector, products, news, technology, size, funding) first reads the company's site and runs a short web search, and returns its sourceUrl: 6 credits. From the row's fields alone (classify, summarise, translate): 1 credit. evidence says which: web, row_only or none (nothing reliable found). web forces it either way.NoNoNoNo
approve_inbox_messageApproves and sends the step waiting for approval in one Inbox conversation (campaigns set to approve before sending). This sends a real message to the prospect. Runs only with confirmed: true. stepIndex comes from the conversation's pendingApproval.YesNoNoYes
brain_lookupSearches the user's own Nock workspace (not the web) for a company, a person or a subject, read-only, across everything at once: people in campaigns (status, last send, reply), campaigns, sheets (by name or a row that mentions it), signals, the company documents and saved memories. Answers questions about something by name ("tudo sobre a Acme", "o que aconteceu com o Marcos", "o que a gente já falou de escolas") in one search instead of listing campaigns or sheets one by one. Free.NoYesYesNo
brief_leadThe platform's person and company brief for one lead: who they are now (LinkedIn read today), their role at the company, what they post about, and their company (what it sells, customers, size, funding, open roles, key points, news, its posts, competitors). Takes an email, the person's LinkedIn URL, a company domain or the company's LinkedIn URL (any one is enough; more make it surer). Costs 22 credits when it finds something and takes about a minute; the same lookup is kept for 24 hours at no charge. For a brief, a summary or 'who is' a lead.NoNoYesYes
check_whatsappFor B2B outreach: tell which Brazilian business mobile numbers the user already has (a company's or a decision maker's, from a sheet or a search) have WhatsApp, so a campaign only writes on WhatsApp to numbers that can receive it. It returns only yes, no or unknown per number: no name, profile or message. Up to 100 numbers per call, in any format. Charged 3 credits per number that has WhatsApp, once per number; nothing for the others. has_whatsapp is null when the number is not Brazilian or could not be checked (never read null as no).NoYesYesYes
clean_phoneFix the format of Brazilian business phone numbers the user already has (a company's or a contact's, e.g. from a sheet) for free: puts them as (DD) NNNNN-NNNN, adds the missing ninth digit of a mobile, and marks a number that cannot exist (an unknown area code, too short). kind is mobile or landline. Up to 500 numbers per call. Formatting only: nothing is looked up outside, and no owner, name or other data comes back.NoYesYesNo
company_groupThe economic group of a Brazilian company by its CNPJ: the companies that control it (its partners that are companies, up to two levels) and the companies its group's head controls (subsidiaries and acquired companies that keep their own CNPJ), each with its CNPJ, legal name, main activity (CNAE) and status at the Receita (inactive ones flagged), plus the group's active factories. Free: registry lookups only. Also: how many active branches (filiais) the company has and in which states, and the companies that share partners with it (sócios em comum; linked, not necessarily controlled; the partner is never named). Answers questions about the head office CNPJ, a group's companies ("as filhas", "as compradas"), the branches, or whether a company is still active. Requires the CNPJ. The registry shows what the Receita has: foreign controllers and shareholders of an S.A. are not listed.NoYesYesNo
company_productsWhat a Brazilian company sells and how much of it: products registered at the Anvisa across its economic group (registered foods such as supplements, and cleaning products) and the product pages of its own site (pass domain), the product kinds with their usual packaging, and a volume tier (alto, médio, baixo) with why. Free. Answers how many SKUs or products a company has, what kinds, or tiers brand owners by volume. The open data leaves out notified cosmetics, beverages and meat; then, without a site sitemap, the count is partial and the result says so instead of guessing a tier.NoYesYesYes
confirm_decision_makerRecords whether a decision maker returned by the small-business decision-maker lookup is right, wrong, or has left the business. Free. The verdict weighs on the confidence every workspace sees and, for 'left', the person is no longer offered; the evidence is kept.NoNoYesNo
create_outreach_campaignGenerate one personalized outreach message per people-sheet row and save them as a new prospecting campaign. Takes the exact sheetId of a people sheet. Without rowIds, uses every people row in that sheet (up to 1000, added in batches of 25 within this one call). templateId must be the exact id of a saved template; otherwise the campaign is described inline with name, offering, goal and a concrete cta. goal is the campaign objective; conversion, with a concrete commercial next step in cta, fits a company that sells to businesses and has no campaigns yet. Every sheet column is used as labeled context. Campaign generation does not consume credits. The campaign is saved as a draft; nothing is sent.NoNoNoNo
create_routineSchedule something the Nock Agent does on its own, every week or every day ("toda segunda, ache 50 decisores novos e coloque na campanha X"), Brasília time. Actions: campaign_add_people (find count new people for a campaign from its search or signal), campaign_refill_from_signal (run the campaign's signal and add count people), campaign_status (pause or resume a campaign), sheet_enrichment (run an enrichment column on the rows that do not have it yet). Each run spends at most creditCap credits, doing fewer people or rows to fit; an empty creditCap means the full price of one run. What a run does depends on the workspace's autonomy level for that action: 1 only tells, 2 (default) suggests with a one-tap approval, 3 does it and tells after. Creating spends nothing. The campaign or sheet is the one passed; none is picked automatically. The result says what will run, when, and the cap.NoNoNoYes
create_sheetCreates a NEW empty enrichment sheet owned by the authenticated user and returns its sheetId. mode 'people' is for contacts and 'company' for organizations. A sheet the user already has with the same name and mode is returned instead of creating a duplicate. Sheets can be created here, not only in the dashboard.NoNoYesNo
create_signal_monitorCreates a signal monitor. Default: a MARKET monitor, with no source sheet: { mode: 'market', name, market: { category, ...filters }, dailyLimit }. Every day (or week) it searches the signal over that market and saves only companies it has not delivered yet into a companies sheet, created with the monitor's name unless destinationSheetId is given. Market categories: hiring needs hiringTitle, and industry keeps it to the ICP's sector in plain words; funding and cnpj need periodDays (cnpj.event picks the registry event, opening by default); news needs categories and periodDays; location narrows it; tech is online stores by what their sites run (market.stores with platforms, crms, withoutCrms, noCrm, trafficTiers, states, city, companySizes, withDecisionMaker; only on workspaces that have the store search); custom is a very specific ask checked company by company (market { category: 'custom', source, rules }, the same source and rules format as the rules-based company search; every company is checked once; 2 credits per company checked plus 2 per company that passed); job_change is people new in a role, delivered into a people sheet (market { category: 'job_change', jobTitle, periodDays 30/60/90, location, industry, companySizes, domains, move }; 4 credits per person, no contact); growth is companies whose team grew (market { category: 'growth', minGrowthPct, months 6 or 12, location, industry, companySizes }; 2 credits per company); ads is companies running ads (market { category: 'ads', query } for a theme on Meta, or { category: 'ads', domains } for up to 10 accounts on Google; with start "future" only the ones that start advertising arrive; 4 credits per company); site_tech is companies by what their site loads (market { category: 'site_tech', technologies, change uses/adopted/removed, domains or location/industry/companySizes }; 2 credits per company, and in a market each company checked costs the same; adopted and removed deliver from the second run on); email_engNoNoNoYes
delete_outreach_templateDelete ONE saved outreach template owned by the authenticated user. Campaigns already created from it are not affected.YesNoYesNo
delete_prospectDelete ONE prospect owned by the authenticated user, including its messages and history. The campaign remains even if it has no people left. Irreversible: it cannot be undone.YesNoYesNo
delete_routineDelete a routine for good. Two steps: with confirmed false it only returns which routine would be deleted and changes nothing; with confirmed true it deletes it, which cannot be undone. Pausing a routine is the reversible alternative.YesNoYesNo
delete_sheetDeletes one owned sheet and all its rows. This cannot be undone. Requires confirmed: true.YesNoYesNo
discover_decision_makersDiscover a specific decision-maker profile for company rows in an owned company sheet and save them into a people sheet. A dedicated multi-company action, separate from the enrichment-field catalogue. Uses all available company context (name, trade/legal name, domain, corporate email, CNPJ, partners, industry and location), can target selected rowIds or the whole sheet, and can also enrich requested contact fields. The owners profile uses CNPJ partners; functional profiles such as sales search matching job titles instead.NoNoNoYes
disqualify_prospectTake ONE person out: scope "campaign" removes them from this campaign's cadence; scope "list" also removes them from the people sheet they came from. Unsent steps stop.YesNoYesNo
duplicate_sheetCopy one owned sheet, rows and columns, under a new name.NoNoNoNo
edit_sheetEdits a sheet the user owns with the same persistent operations as the dashboard: add custom/AI columns, rename/delete/hide/show/reorder/resize columns, update cells, or delete rows. Takes exact row and column ids.YesNoNoNo
enrich_fieldEnrich ONE specific sheet field for one person/company row. Uses the same field catalogue and provider cascade as the dashboard, stops as soon as that field is found, and returns found/not_found/error deterministically. Valid field ids and their inputs come from the enrichment field catalogue. First it looks the lead up in this workspace (people sheets, campaigns and kept briefs, by email, LinkedIn, or full name with the company): a value already saved comes back free, with savedIn naming the place it was saved. Only a found value is charged: creditsCharged is what this call cost, 0 when nothing was found, the lookup failed or the value was already saved. not_found with sourcesUnanswered means the sources that answered had nothing but that many others did not answer in time, so a later retry may find it; error means no source answered at all. Every result names the person it was looked up for (person: name, LinkedIn, company), so parallel calls are told apart by person, not by order. A mobile is checked against the registry's owner of the number before it is kept: phoneOwner is confirmed (the owner has the person's name) or unconfirmed (the registry has no name for it); a number of someone else is dropped and not charged (phonesDiscarded counts them). A mobile found for a person of this workspace's campaigns or people sheets is saved there (prospectId, or sheetId and rowId, identify the person; the LinkedIn profile also matches): savedTo says where.NoNoNoYes
enrich_field_batchEnrich ONE field for up to 25 people in one call: the same lookup as the single-person enrichment for each person, run on Nock's side 5 at a time, so a list does not wait for one person after another (a mobile can take over a minute a person, so 10 mobiles take about 2 to 3 minutes and 25 about 6). results has one entry per person, in the order sent (index), each with the same fields as the single-person enrichment: person (whose it is), status found/not_found/error, value, phoneOwner, phonesDiscarded, creditsCharged, savedIn, savedTo, sourcesUnanswered (not_found while some sources did not answer in time: that person may be tried again later; error only when no source answered). Each value belongs to the person named in its entry. Only found values are charged, each at the field's price; creditsCharged at the top is the sum. The same person sent twice is looked up once (sameAsIndex, creditsCharged 0).NoNoNoYes
explore_signalsSearch a buying signal like the Sinais screen: companies hiring a role (hiring), recent funding rounds (funding), company news (news), companies showing a technology (tech), Brazilian company registry events (cnpj), closed-lost CRM deals (crm) or people new in a role (job_change: jobTitle, periodDays 30/60/90, location, industry, companySizes; domains narrows to the user's accounts for "decisor novo na conta"; move new_company or promotion; each result is a person with the company they joined, the title and the month), companies whose team grew (growth: minGrowthPct, months 6 or 12, location, industry, companySizes; only companies with a LinkedIn page) or companies running ads now (ads: query, a theme in the advertisers' words, read in Meta's Ad Library in Brazil; or domains, up to 10 of the user's accounts checked on Google's Ads Transparency Center). cnpj.event picks what happened: opening (new CNPJ, the default), branch (opened a branch), mei_exit (left the MEI; stayedInSimples = became an ME), simples_exit (left the Simples Nacional), new_partner (a partner joined the QSA), gov_contract (signed a public contract, PNCP), debt_new (new federal active debt, PGFN), and from the Receita edition comparison capital_up, address_change, cnae_change. Every event but opening needs location with a state ("Curitiba, PR", "SC") or industry. Each result's title already states the fact with its date, and facts.sourceProvider names its public source. Up to 25 results per search, set by limit (without it: 2 for hiring, funding, news, tech and cnpj, 10 for the others). Charged per result returned: 4 credits each (8 for a hiring company found by the wider job-board search), 2 for cnpj, 24 for tech, 4 per person for job_change, 2 for growth, 4 for ads, CRM free; the most a search can cost is limit × price. tech finds companies by evidence such as job posts, not proof that a company uses a technology today. provider is optional and picks one source: funding takes company_data (the deNoNoNoYes
export_sheet_csvExport an owned enrichment sheet to deterministic UTF-8 CSV in its visible column order. In the dashboard the returned CSV is downloaded automatically.NoYesNot declaredNo
export_signal_eventsSave events of one monitor, by their event ids, into a company or people sheet. Repeated events are skipped.NoNoYesNo
feed_campaign_with_signalMake a campaign take, every day, the companies a signal monitor finds (including a custom signal monitor, market.category "custom"). The person at each company is the jobTitle given (or the campaign's); a social monitor (engagement with posts) gives the people themselves, no jobTitle. Linking is free; each person is charged as any campaign person when they enter. From then on the campaign enrolls people from the signal on its own, every day. Takes the exact campaign id; it does not pick a campaign by itself.NoNoYesNo
find_companies_with_rulesFind companies that meet very specific rules, checked one by one with evidence: e.g. "revendas de peças agrícolas no RS" (source: web search "revenda de peças agrícolas" in RS cities, or the Receita by CNAE 4661300; rules: "vende peças agrícolas, não só máquinas", "é revenda, não fabricante"). Each company's own site (or a web search on it) is read and every rule is judged as met, not met or no evidence. Every verified row costs 2 credits, passed or not; a sample is 20 rows by default (30 at most). Returns the funnel (verified, passed, which rule removed the most, credits per company that passed), the companies that passed with each rule's reason and evidence, and a new company sheet with every row and verdict. Sources: the Receita (registry) for an activity the CNAE names; Google Maps (maps: query and cities with the state) for local and small businesses, shops, clinics, resellers; the web when the trait is how the company describes itself; a company sheet the user already has. Manufacturers or brand owners of a kind of product ("fabricantes de bebidas, cosméticos, pet food") come from the Receita by the manufacturing CNAEs; a web search for them returns articles, associations and fairs about the theme. A rule about the CNAE or the Receita is checked against the company's registration, found from its CNPJ, site or exact name. Each rule is one short sentence, 300 characters at most, with one condition. Rules filter: a company missing one is out. A hot signal that makes a company better but not wrong (a recent launch, an ESG or recycling initiative, a hiring, growth) belongs in rankBy, not in rules: it orders the companies that passed, in the same read, at no extra cost. Not meant for a list the user already gave when nothing in it is to be filtered out ("nenhum critério é eliminatório", enrich, score or fill a table about each company). A rule about running ads (on Meta or Google), the Google rating, the Reclame Aqui reputation, site traffic or having an app is checNoNoNoYes
find_leadWhere a lead already is in this workspace and what is known about them: the people sheets whose rows match (with that row's fields, which may already hold the answer without enriching), the campaigns they are in and the briefs already made about them (who they are, title, LinkedIn, company). Pass an email, a LinkedIn URL, a name or a company. Free.NoYesNot declaredNo
find_people_for_campaignFinds NEW people for an existing campaign now and adds them to it ("add 40 more people to this campaign"), from the campaign's saved search or its signal, the same search its daily additions run. People already in the campaign are skipped; each person found goes into the cadence and the campaign's sheet. At most 200 per call; a campaign has no size limit. It spends credits, so it works in two calls: the first, with confirmed false, returns the price per person and the most it can cost and adds nobody; a call with confirmed true finds and adds the people. status no_audience means the campaign has neither a saved search nor a signal. When the campaign's signal has nothing new, the confirmed call runs the signal now and waits up to two minutes for it. When fewer people came in than asked, the result's note explains why, and funnel and funnelText count who was found and why the rest did not enter (same company, no channel, already in the campaign, outside the profile, the signal, the balance); people who did not enter are not charged. It only finds new people; it does not add people already in a sheet.NoNoNoYes
forget_memoryForget saved memories of the workspace ("esquece isso"), by their memory ids as the knowledge base lists them. They are removed.YesNoYesNo
generate_outreach_campaignCreate a new outreach campaign in one go, the dashboard's 'Criar com um clique'. Without sheetId it follows the onboarding's steps with no questions (the best campaign that does not repeat the workspace's, its first 10 people found and saved in a new sheet, billed like any search, and its cadence), and leaves it as a draft to review and activate; it reports its phases while it works. The result's why says which campaign was chosen and why; it does not repeat the workspace's campaigns, it is a first look at 10 people (more come later), and the cadence is written and waits for review. When sheetId is set, it drafts name, offering, goal, CTA and cadence from the workspace profile plus the instruction and attaches people from that people sheet after the draft (rowIds left out means every row, up to 1000). The sheet is only the audience list unless useSheetContext is true (a list of founders does not turn the campaign into a founder campaign); a campaign from a sheet claims no buying signal the request did not state, and is named after the sheet. Its channels follow what the list can receive (LinkedIn connections have no e-mail: a LinkedIn-only campaign); channels sets them explicitly ("no LinkedIn" = ["linkedin"]). Suited to creating a campaign from an existing sheet or to offering a demo. A COMPANY sheet works the same as sheetId, with no separate decision-maker step: the same sheet becomes the campaign's people, the decision makers of each company take its place, each row keeping the company's columns; a company where nobody is found stays, marked, out of the campaign. For a company sheet the first call only quotes (status needs_confirmation, with maxCredits for the first batch of up to 25 people) and spends nothing; a call with acceptedCredits equal to that maxCredits runs it. The other companies are converted by the campaign itself, a few a day, once it is active. areasNote, when present, flags people who may not fit; they can come out of the list or stay with that NoNoNoYes
get_credit_balanceThe workspace's credits now: how many are available to spend, how many are held by operations still running, and the plan. Answers how many credits the workspace has and whether an action fits the balance. Free and read-only.NoYesNot declaredNo
get_customer_listRead the workspace's customer list: companies that are already customers. Nobody at them gets a first message and searches leave them out.NoYesYesNo
get_inbox_conversationRead one Inbox conversation (every message both ways) with a campaign person on one channel.NoYesYesNo
get_knowledge_baseRead the workspace's company profile (what it sells, ICP, persona, pains, competitors, exclusions), its documents, and what you learned in earlier conversations (memories, each with its id).NoYesYesNo
get_prospectGet ONE prospect owned by the authenticated user: the full LinkedIn connection note, the email subject and body, the captured sheet context and the activity history (generation, edits, status changes).NoYesNot declaredNo
get_sheet_rowsReads rows from ONE sheet the user owns. Returns each exact row id plus non-empty cell values with their visible column labels and stable column ids. Reads up to 25 rows at a time with offset/limit, or known rowIds directly. Read-only and free.NoYesNot declaredNo
identify_businessFind who decides in a SMALL business (a school, a market, a clinic) and how to reach them: name, role, the public origin of each fact (company site, Google Maps, Receita Federal, Instagram…), a work e-mail, the owner's mobile when it can be confirmed. Takes a name and city (and state), or a CNPJ, or a website. Charged only for what is found: 8 credits for a decision maker our search found (site, Maps, web, gazette, LinkedIn), free when the only source is the Receita's list of partners; 8 for the person's e-mail, 15 for the owner's mobile; nothing when nothing is found. A business already in our base answers at once at the same price. One business per call; a list takes one call per row. With prospectId (or sheetId and rowId) of a person of a campaign or a sheet row, the decision makers with evidence and the numbers, with whose they are, are saved to that person (the mobile goes to their phone only when it is theirs); savedTo says where. Each result names the business it is about, so parallel calls are told apart by business, not by order.NoNoYesYes
import_linkedin_connectionsWarm campaign source: reads the user's own LinkedIn first-degree connections (free, from the LinkedIn account the user connected to Nock; never anyone else's network) into a new people sheet in the user's workspace, newest first, keeping those whose headline has any of the keywords (their ICP's titles or sectors). Only the professional profile LinkedIn shows a connection (name, headline, profile URL), at most 1000 per call. For a campaign with people who already know the user (their connections, their network). It says itself when no LinkedIn is connected or which account to pick, so no sender check is needed before it. Returns how many were read and kept, a sample and the sheet. A message to someone already connected needs no invite and gets more replies. LinkedIn does not share who viewed the profile through this account, so that is not available.NoNoNoYes
list_cadence_versionsList the earlier versions of a campaign's cadence template, newest first: when each was replaced and the start of each step. Every change to the template keeps the version it replaced (up to 30). For getting an earlier version back or seeing what changed.NoYesYesNo
list_enrichment_fieldsLists the enrichment fields currently available in Nock, with the same catalogue, configured-provider filtering, input definitions, provider order and credit prices shown in the dashboard's Tools drawer. Each field id and its inputs are what a single-field enrichment takes. Read-only and free.NoYesNot declaredNo
list_inbox_conversationsList the Inbox conversations with campaign people, newest first: who replied, the last message preview and any step waiting for approval (pendingApproval). Optional filters narrow to replies, pending approvals or one campaign.NoYesYesNo
list_outreach_campaignsList the authenticated user's prospecting campaigns with their pipeline totals per status, including each campaign's objective (goal) and CTA, so the objectives already running are known. With campaignId it also returns abTests: each cadence step under an A/B test with sends, replies and reply rate per version and the rule that picks the winner. Archived campaigns (status archived: kept with their history, sending nothing) are left out unless archived is "include" or "only"; campaignId finds one either way. Read-only.NoYesNot declaredNo
list_outreach_sendersList the authenticated user's connected outreach senders: Gmail mailboxes, LinkedIn accounts and WhatsApp accounts, with the exact mailboxId / linkedinAccountId / whatsappAccountId other inputs take. Each LinkedIn account sends at most 30 invites and messages a day, shared by every campaign that sends from it, and each campaign at most its own linkedinDailyLimit (20 by default, a campaign setting); both count LinkedIn only, never the cadence's e-mails. sentToday and sentTodayByCampaign say how much of today's quota is used and by which campaign. When a campaign's account is full, its LinkedIn steps wait for tomorrow; a campaign can be moved to another account of the workspace with room. The account limit is fixed per workspace (30 for most); it cannot be raised here. A channel that is not listed is not connected; it is connected in Settings → Integrations.NoYesNot declaredNo
list_outreach_templatesLists the authenticated user's saved outreach templates. Each template carries the reusable campaign configuration: offer, sender name, tone, business/company context and language. Read-only. Only templateIds returned here are valid; a campaign can also be created without a template, from name and offering.NoYesNot declaredNo
list_prospectsLists the authenticated user's prospects (people with a generated message) with their pipeline status, optionally filtered by campaign or status. Returns a compact summary, without the full message and history.NoYesNot declaredNo
list_received_invitationsList the LinkedIn connection requests the user's connected account received: who asked to connect, their headline and what they wrote. Someone from the ICP who asked to connect is a warm lead. Read only and free; accepting a request is not done by this tool. If the workspace has several LinkedIn accounts, pass accountId.NoYesNot declaredNo
list_routinesList the workspace's routines (what runs, when, the credit cap, active or paused, next run), the autonomy level of each action type, and the last actions the Nock Agent took or suggested. Free.NoYesYesNo
list_sheetsList the authenticated user's enrichment sheets. Returns each exact sheet id, name, people/company mode, row count, and referenceable columns. Read-only.NoYesNot declaredNo
list_signal_eventsRead saved signal events, from one monitor or the whole workspace, newest first.NoYesYesNo
list_signal_monitorsList the workspace's signal monitors: category, filters, status, schedule and monthly credit limit.NoYesYesNo
motor_reportReports the results of each outreach campaign in the workspace (people contacted, replies, meetings, credits spent); Nock calls each campaign with its signals a "motor", a prospecting playbook. Read-only. How the motors are doing ("como estão os motores?"): every campaign of the workspace as a motor, for the last 7, 30 or 90 days. Per motor: people added, people first contacted in the period, replies, positive replies (null while replies are not classified), meetings (null when the workspace never recorded one), credits spent, credits per positive reply, and the reply rate by channel (e-mail vs LinkedIn). Rates are percentages of the people first contacted in the period. Also the reply and positive rates by signal family and by the most common signal combinations for people that came from compound signals; with fewer than 20 people a rate is left out and marked "amostra pequena" (never present it as a result). Targets: 5% replies, 2% positive; below 2% replies after 150 first touches the motor should be rewritten or turned off. When the weekly learning is on, `learning` has last week's verdict per motor and weight suggestions for compound blocks (never applied: only the user changes a weight). Free, reads only.NoYesYesNo
phone_ownerFor B2B outreach: checks that a Brazilian mobile number found for a decision maker (in a sheet or a search) really belongs to that person, before a campaign writes to it, from the owner's name and e-mails the registry has for it. One number per call. Meant only for a business contact the user is already prospecting, not for identifying a private individual. Charged 10 credits only when a name comes back. It does not return a document number.NoYesYesYes
preview_campaign_messagesWrites the messages of ONE example person of the campaign from its current template and returns them, to show how the template reads before the other people's messages are written again. Not read-only: the new messages replace that person's unsent ones (sent and hand-edited messages are kept). Nothing is sent to anyone. It picks the person itself (one with a buying signal when there is one) and keeps the saved messages, so they are not paid twice. A second call in the same conversation turn returns the first result. The result's messagesOutdated counts the other people whose messages still come from the earlier template. Free.YesNoYesNo
qualify_sheet_leadsScore people in one owned sheet against the workspace ICP or an explicitly linked campaign audience, using the data and signals Nock already has. Returns fit, priority, coverage, status, evidence gaps and concise explanations per row. Use the active selected rowIds when present; omit rowIds only when the user means the whole sheet. This does not search LinkedIn, Reddit or the open web.NoNoYesNo
read_learn_articleRead Nock's own tutorials (the Aprender page): how something in Nock works, what it costs or where to find it. With slug: the whole tutorial. With query (or nothing): the tutorials that match, with their slugs. Each tutorial's page is /aprender/<slug>. Read-only, free.NoYesYesNo
regenerate_outreach_cadenceRewrites the open (unsent) cadence messages of people in ONE campaign with the AI writer, from the campaign's current template. It takes no instructions and does not change the template or a step's text or day. Steps that already sent, failed, or are mid-dispatch are kept. Optional prospectIds limit the rewrite to those people; without them everyone with unsent steps is refreshed. Nothing is sent. Free.YesNoNoNo
remove_cadence_ruleTake one rule out of the workspace's cadence rules, for example a rule just kept from a cadence adjustment (its keptRules) that was meant for one campaign only or no longer holds. Takes the rule's text as it was kept. Campaigns already written keep their text; the next ones stop following it. Free.YesNoYesNo
remove_knowledge_documentRemove one workspace document, by its id, from the workspace's knowledge base. It cannot be undone.YesNoYesNo
rename_sheetRename one owned sheet.YesNoYesNo
research_webAnswers a free-form natural-language QUESTION about a single lead/company (e.g. "what does this company sell?", "recent funding?") with web research. Grounds the answer in the company's website when one can be resolved. The answer is AI-generated and may be uncertain; it costs credits. Returns a concise answer plus the source URL used.NoNoNoYes
restore_cadence_versionPuts an earlier cadence template back ("volta pro template que tava antes"). Without versionId it restores the most recent earlier version; versionId picks another. Steps already sent stay; people who have not received a step get the restored template, but their messages are not rewritten by this call: the result's messagesOutdated counts them and messagesNext describes the rewrite still pending. The restore itself is kept as a version, so it can be undone. Nothing is sent.YesNoNoNo
restore_company_sheetTurn a sheet that a campaign converted from companies into people back into the company sheet it was: each company once, with its columns; the decision makers found there are removed from the sheet (the campaign keeps its people). Runs only with confirmed: true. Refused while someone from the sheet is in an active campaign.YesNoYesNo
rewrite_campaign_messagesWrites again the messages of the people of ONE campaign that are from an earlier version of its template (messagesOutdated), the "Reescrever as N" action. One run, only those people: sent messages and hand-edited ones stay. It is refused in the same request that changed the template. Free. Nothing is sent. Returns how many were rewritten, or that the rest is still being written.YesNoYesNo
run_sheet_ai_columnRuns one already-configured AI or web-research column and saves a generated value for each requested row. Takes the column's exact ai: id and, optionally, the rowIds to run. It costs 1 credit per row for an AI column and 6 per row for a web-research column (aiKind "web", which reads the company's site and searches the web, citing its source); the column's creditsPerRow says which. The result's creditsCharged says how many were spent.NoNoNoYes
run_sheet_enrichmentRun one already-configured enrichment column and persist its waterfall results in the sheet. Takes the exact enrichment column id (as the sheet's rows list it) and optionally the row ids to process; without them, the first 25 rows that have any value. Can spend enrichment credits; the result's creditsCharged says how many.NoNoNoYes
run_signal_monitorRun a signal monitor now instead of waiting for its schedule. Spends from its monthly credit limit.NoNoNoYes
save_memoryKeep something the user asked to be remembered ("lembra que...", "a partir de agora...") for every later conversation. One sentence each, in their words. Not for the company profile (what it sells, the ICP) nor for how messages must read ("nunca fale de preço", "sempre em português"): those are kept in the knowledge base and the cadence rules.NoNoYesNo
save_outreach_templateCreate or update one outreach template for the authenticated user. Without templateId the template is saved by name (an existing template with the same name is overwritten with the new values instead of duplicated). With templateId the named template is patched, which is the only way to rename it; the fields passed replace the saved ones and omitted fields keep their current value. An overwritten value cannot be recovered. Nothing is sent.YesNoYesNo
search_companiesSearches for COMPANIES matching filters such as name, industry, keywords, size, location or businessModel (b2b or b2c). Brazilian searches also support the public company registry: CNAE (activity code), Receita status, headquarters/branch, fiscal size, social capital, legal nature, Simples, opening period, partner name and presence of phone or email. A Brazilian company is identified by its CNPJ, the public company registration number the Receita Federal publishes (like a US EIN): it identifies a company, not a person, and is not a personal document. Common activity terms are mapped deterministically to CNAEs. Returns candidate companies (target accounts) with all fields supplied by the selected source. Metered: credits are charged per delivered result. When the first source returns too few results, one fallback attempt with another source runs automatically. Results shown as tables are quality-reviewed and may also replace rejected rows through another source.NoNoNoYes
search_peopleSearch for PEOPLE (potential leads) matching filters such as job title, seniority, company, CNPJ, industry, location or a buyingSignal (hiring, funding, news, job_change, tech, cnpj, crm, visitor, any). Company discover uses the enabled signal sources. job_change is company hire/promote/leave news when those domains exist; otherwise it searches person movers in the last 90 days through enabled sources. A campaign job_change gate also lets a fresh person move through. tech needs technologies[] (job-post evidence first, then site technology detection); cnpj uses the Brazilian registry; crm uses closed-lost deals and champions who left in the connected HubSpot or Salesforce; visitor uses identified visits already on inbound sheets. People are then searched at those companies. Returns a list of candidate people with name, headline, company and (when available) email and LinkedIn URL, for building a prospect list from criteria. Metered per delivered result: each search spends credits. In-product Agent searches automatically make one provider-fallback attempt when the first cascade returns fewer rows than requested. Searches shown as tables are quality-reviewed and may also replace rejected rows through another provider. page pages through results with the same filters; an empty page means there are no more, and pages may overlap. Every result carries funnel (requested, found, kept, removed by reason: same_company, outside_sector, registry_mismatch, customer and others) and funnelText, one plain sentence of it. Lists across companies keep one person per company unless peoplePerCompany is set. A CNAE or another Receita filter is exact only on rows with a CNPJ: on rows without one a CNAE is approximated by the company's industry (filterReport.registry counts each way). Near misses (sector not confirmed) are counted in nearMisses, held back and not charged; with includeNearMisses they come after the full matches, each marked nearMiss. limit goes up to 200: the search reads pNoNoNoYes
select_sheet_rowsSelect up to 25 exact rows in the currently open sheet so the dashboard shows them selected and the same row ids can be used for a campaign later. This changes web UI selection only; it does not delete or modify data.NoNoYesNo
send_feedbackShares feedback about Nock with the Nock team: product feedback from the user (praise, a complaint, something missing) or something concrete observed in Nock that worked or failed (a tool returned wrong or empty data, a step was confusing, a result was great). Not for model behavior, the user's local environment, an unclear prompt, or a tool error that was recovered from. actor "human" is for the user's own words; "agent" for the client's observations. message and context are in the user's language. Free, no credits. Not a support channel: no ticket and no reply.NoNoNoNo
send_prospect_step_nowSends ONE step of ONE person's cadence right now, ahead of its schedule. This sends a real message to the prospect. Runs only with confirmed: true. stepIndex is the 0-based position in that person's cadence.YesNoNoYes
send_to_webhookPOST JSON to a webhook SAVED in this workspace (n8n, Make, Zapier or the user's own system), once, now. It only sends to webhooks saved in Integrações e MCP → API e webhooks: takes the saved webhook's name or id, not a URL; an address that is not saved is refused, and so is one that is not public https. Takes exactly one of: payload (a JSON object), sheetId (optionally with rowIds) to send that sheet's rows, or campaignId to send that campaign's people; a sheet or a campaign sends at most 500 rows. The receiver gets {id, type: "send_to_webhook", createdAt, workspaceId, data}, signed like the workspace's event webhooks (X-Nock-Signature). Returns the HTTP status and the start of the response. Data leaves Nock to that receiver. Free.NoNoNoYes
set_autonomy_levelSet how much the Nock Agent does alone for one action type in this workspace: 1 only tells, 2 suggests and does it with one tap (default), 3 does it and tells after. Whatever the level, the Agent still waits for approval before spending above a routine's credit cap, deleting, messaging leads with a cadence nobody approved, or touching billing. For an explicit request to change how much the Agent may do alone.YesNoYesNo
set_campaign_daily_peopleChanges how many new people an active campaign adds each day (0 turns daily additions off; at most 500). It authorizes spending every day, so it takes two calls: the first, with confirm false, only returns the new monthly credit ceiling and changes nothing; a call with confirm true and that same monthlyCredits applies it. Only a workspace owner or admin can change it. This is people added per day, not a sending limit: each account still sends within its own limits (LinkedIn about 30 a day per account), so people beyond what the accounts send wait in the cadence, and sendingNote says so. When the result has cappedAt, the workspace still takes at most that many a day.YesNoYesNo
set_campaign_signal_monitorFeeds a campaign from a market signal monitor, or stops it with monitorId null. Each day the campaign's daily additions take the companies the monitor delivered and write to one person at each: the person the monitor already found, a store's owner, or jobTitle searched at the company (required unless the monitor is about online stores or the campaign already has a job title). It spends nothing by itself: people are added, and charged, at the campaign's daily people limit. Only a workspace owner or admin can change it.YesNoYesNo
set_prospect_closure_reasonRecord why a conversation with ONE person ended (interested, not_interested, bad_timing, has_solution, wrong_person, opt_out), or null to clear it. Kept as history; it does not send anything.YesNoYesNo
set_routine_statusPause a routine, or resume it (it runs again at its next slot, never the ones it missed).YesNoYesNo
update_cadence_ai_fieldChanges the instruction of one sentence the Agent writes for each person in ONE campaign's cadence (a field marked {{ia:key}} in the bodies, shown on screen by its label, such as 'a vaga aberta' or 'a retomada'), for everyone on the list: how that sentence should read for all people ('na abertura, começa com "vi que vocês abriram vaga de X"', 'na vaga aberta, cita o cargo da vaga', 'a retomada não pode falar de preço'), including an edit made in one person's messages that should apply to everyone. A campaign's aiFields list each field's day, key, label, instruction and example. instruction is the whole instruction the field follows from now on: the current one with the requested change worked in, keeping what it says, from which fact, and what it leads into, unless that is what changes. example, when the request changes how the sentence reads: the current example rewritten to follow it, with the same facts. The instruction changes now, without writing anyone: in steps not sent yet, a sentence written from the old instruction goes back to the field, and nobody's messages are written again until a rewrite is requested (messagesNext in the result says how); messages edited by hand and sent ones stay; people not written yet follow it when written. Free. Nothing is sent. Not for fixed text or for how the whole cadence reads, and not meant for a campaign draft still being created in the web app's chat flow, which has its own draft editor.YesNoYesNo
update_campaign_settingsChange a campaign's sending rules. Only the fields sent change. approveBeforeSending can only be turned ON here (every step then waits for approval in the Inbox); turning it off, and the daily enrollment, are authorizations the user gives in the campaign's Settings screen.YesNoYesNo
update_customer_listChange the workspace's customer list. mode add puts companies on it, remove takes them off, replace swaps the whole list (only when the user sends their full list). lines: one company name or site per line, or "Name, site".YesNoNoNo
update_knowledge_baseChange the workspace's company profile. Only the fields sent change; send the full new text of a section you rewrite. Campaigns written afterwards use it.YesNoYesNo
update_outreach_cadenceChanges the cadence of ONE campaign: the shared template every person gets, and people added later. A change of form or tone (lowercase, more formal, shorter, another greeting, no emoji) applies to every step. A change of content or structure (add a question, mention something, change the argument) applies to the step it points to (a day, a channel, a sentence only that step has), not to every step, unless it is about every message. Each follow-up keeps its own new reason to reply (a case, how the work is done, a resource, what changes for the reader), and the last step keeps closing the subject. requestedDays lists the steps the request covers; edits on any other day are refused (a new step, op add, always fits). To change one or a few steps, pass `edits` (day or "last", optional channel, new body; op add/remove/move to insert, delete or reschedule a step, op condition to change what lets a step go: no reply in N days, the invite accepted, or the e-mail before it opened) and the other steps stay as they are; `steps` replaces the whole cadence. With both, edits win and steps is ignored; a call that carries every text twice can be cut off. scope is "template" (the default) for any wording change, including 'the template', 'every day' or 'everyone', even while the screen shows one example person; "one_person" with prospectId changes only that one person's messages. A prospectId without scope "one_person" is ignored. Does not activate sending. A template change saves the template only: the people's steps not sent yet take it with its fields to write, and nobody is written again until a rewrite is requested (messagesNext in the result says how).YesNoYesNo
update_outreach_campaignEdits the settings of ONE outreach campaign the user owns, by campaignId. Only the fields passed change; the others keep their value. Fields: campaign name, offering (what the user's company sells), give (something useful offered before asking for the reader's time, such as a diagnosis, a sample or a draft), sender name, company, role and URL, tone, goal, call to action, message length, constraints (what the messages must never say), business context, and which connected Gmail mailbox, LinkedIn or WhatsApp account sends. It sends no message, adds or removes no people, does not start, pause or resume the campaign, and does not edit the cadence's messages. "O que a campanha oferece" (the activation item) and "O que você dá antes de pedir" are the give, not the offering. A new give on a campaign that already has a cadence writes the cadence's template again from it right away; the people's messages are not rewritten by this call: the result's messagesOutdated counts them and messagesNext describes the rewrite still pending.YesNoYesNo
update_outreach_campaign_statusPause or resume ONE campaign cadence, or archive it. Pausing prevents new sends and freezes the schedule. Resuming may send the next due step immediately when inside the business window. "archived" keeps the people, the sends, the replies and the reports, stops everything and takes it out of the campaign list; "paused" on an archived campaign unarchives it (paused, or a draft when it never ran). Archiving is the way to put away a campaign: deleting erases its send history.YesNoYesYes
update_prospectUpdate ONE prospect owned by the authenticated user: move it through the pipeline and/or rewrite its message. Editing a message never regenerates it and never costs credits. Statuses: ready, sending, awaiting_reply, replied, paused, failed. Setting awaiting_reply stamps the sent time; replied stamps the reply time.YesNoNoNo
update_signal_monitorChange a signal monitor: its filters, name, schedule, monthly credit limit, destination sheet, or pause/resume it. Only the fields sent change. A market monitor also takes dailyLimit and market (its whole filter set, same signal). An engagement signal takes addPeople and removePeople (LinkedIn profile URLs; a founder found on its own can be removed too); its watchedProfiles say whose posts it reads.YesNoYesNo

Details

Registry status
Active
Published
Nov 12, 2026
Updated
Nov 12, 2026
Categories (suggested)
CRMSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing