Logbook Beta on Sui Testnet. Learn more →
Documentation

Learn Logbook

Everything you need to create blockchain-verified surveys, understand the technology, and get the most out of Logbook.

DocsCampaigns for Groups
7 min read

Campaigns for Groups

A campaign can be for the members of one or more groups. Members open the link and respond: no password, no address list.

#Creating One

Open New Campaign and choose Members of a group under Participants, or press "New Campaign" on the Campaigns tab of a group, which opens the form with that group chosen.

Only the owner or an admin of a group can create a campaign for it. The form lists the groups you run.

  1. 1Choose the groups. Ticking a group takes everything under it; untick or "Exclude" a level to leave it out. A campaign names at most 64 groups; a larger community runs a campaign per branch
  2. 2Choose the waiting period for new members: none, 1 day or 1 week
  3. 3Choose who reads the answers, as for any campaign (see Creating Campaigns). "Everyone with access" here means the participants and you
  4. 4Write the questions, attach documents if you like, and publish
Some groups cannot be ticked, and the form says why next to each: it is archived, its link to the parent is paused or not accepted yet, its parent may not have subgroups, or it has a Join button and sits under a private group.

Excluding is not a ban. An excluded group gives no right to participate. Someone who also belongs to an included group still participates through that one.

#Who Counts

Everything that defines the campaign is frozen when it is created: the groups, the exclusions, the waiting period and the rule of who counts once. A person can respond when their membership in one of the groups covers that moment:

  • they joined before the campaign was created, earlier by at least the waiting period
  • they had not left, and no admin had ended their membership, before it was created
What follows from this:
  • Joining later does not get you in. Someone who joins after the campaign was created takes part in the next one
  • Removing someone later does not take them out. A member removed or leaving while the campaign runs still counts and can still respond. "Remove the dissenters an hour before the end" does not work
  • Changing the groups later changes nothing. Linking, pausing or cutting a subgroup after creation does not change a running campaign
  • One response per account, also for a member of two of the groups
The contract enforces all of this. It reads the member record when the response arrives and refuses one that does not cover the moment of creation.

#The Waiting Period for New Members

The freeze stops removals before the end. It does not stop an admin from adding friends a minute before creating the campaign. The waiting period does: with "1 week", a member counts only if they joined at least a week before the campaign was created.

The form suggests a period from the community's rule: a week for an organisation with a list of members, a day for a house council or another group of units, none where nothing is checked. The contract accepts up to 30 days; the form offers the three choices above.

Whatever you choose, the campaign page says how many memberships began within 24 hours before the campaign was created. Late additions are visible to everyone.

#How Many Participants

The page shows "up to N members in M groups". "Up to", because memberships are counted: someone in two of the groups is counted twice, and responds once. The number is counted from the public member records, so anyone can recount it.

#Who Counts Once

When every group of the campaign belongs to one community, and that community has a rule of who counts once, the campaign takes the rule as it is at creation and states it on its page: for example "One response per flat". When the groups are of more than one community, or nothing is checked, the page says that nothing keeps it to one response per person. See Who Counts Once.

#Participating

Campaigns you can answer are on the Groups page under "Waiting for you" and on the Campaigns tab of each group. Sign in with the account you joined with and press Participate.

The line under the buttons of a campaign tells you where you stand: "You can participate as a member of …", or why not. The reasons it can give:

  • you are not a member of a group among its participants
  • you joined after the campaign was created
  • you joined inside its waiting period for new members
  • you had left, or an admin had ended your membership, before it was created
  • you joined without the check the campaign counts by
The owner and the admins of a group are not members by their role. To respond, they join the group like anyone else. A creator who is not among the participants reads the campaign and its results, and does not respond.

#Private Groups and Encrypted Campaigns

  • Every chosen group is public: the title, the questions and the documents are plain text that everyone can read. Only members respond
  • A private group is among them: the title, the questions and the documents are encrypted in your browser. Only the participants and the creator can read them. Outsiders see "A campaign of a private group"
Who reads the answers is a separate setting, with the same five choices as for any campaign: everyone, everyone with access (the participants and the creator), voters only, only the creator, or nobody until the end date.

Encryption works as for other private campaigns: independent Seal key servers release a key only to an address that the contract accepts, here the creator or an address whose membership covers the moment of creation. A wallet signs a message once to open such a campaign; a Google account does it in the background.

Two limits to know:

  • The key servers open such a campaign through a member record. Until at least one person has joined a group among its participants, even the creator cannot open an encrypted campaign for groups
  • Which groups a campaign is for is public, also when the groups are private: the blockchain shows the ids of the groups, the creation time, the waiting period and the end, and who responded and when

#Editing and Deleting

A campaign for a group cannot be edited. Its questions, documents and end date are frozen together with its participants. Otherwise an admin could fix the participants on a quiet day and write the question months later.

To change it, delete it and create it again. The new campaign counts the members as they are then.

Deleting is possible while nobody has responded, also after the end. The campaign is on the list of campaigns of every group it reaches, so one transaction does three things: it deletes the campaign, takes it off the list of each of those groups, and closes the removal once every group has done so. The dialog says this before you confirm.

  • A campaign with a response is history: it is never deleted, and stays on the list of every group it reached
  • While a campaign exists, none of the groups it reaches can be deleted
  • The deletion is paid the way the campaign was created (see Who Pays in Groups)

#Results

The Results tab, the Responses tab and the transaction of each response work as for any campaign (see Viewing Results). Who responded and when is public.

#From Code and Agents

The SDK client, the REST API and the MCP tools read a campaign for groups with its participants. The SDK client and the MCP tools also create one for groups the account runs, and answer and decrypt one for an account that is among its participants; the REST API has no account and returns what is public (see API & SDK).